@techreport{ACCOR02a,
	Author = {{ACCORD}},
	Institution = {{ACCORD}},
	Keywords = {damiencbib adl},
	Month = jun,
	Title = {{\'E}tat de l'art sur les Langages de Description d'Architecture ({ADLs})},
	Url = {http://projects.infres.enst.fr/accord/},
	Year = {2002},
	Bdsk-Url-1 = {http://projects.infres.enst.fr/accord/}}

@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{ANTLRDebugging,
	key    = {ANTLRDebugging},
	title  = {{ANTLR} -- Debugging {ANTLR} grammars using {ANTLR Studio}},
	url    = {http://www.placidsystems.com/articles/article-debugging/usingdebugger.htm},
	note    = {http://www.placidsystems.com/articles/article-debugging/usingdebugger.htm},
	year   = {accessed June 3, 2016}
}

@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,
	Acceptnum = {24},
	Accepttotal = {87},
	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\%},
	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,
	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.},
	Aeres = {ACT},
	Aeresstatus = {aeres08},
	Annote = {internationalconference},
	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)},
	Hal = {http://hal.inria.fr/inria-00200869},
	Hal-Id = {inria-00200869},
	Inria = {ADAM},
	Keywords = {moose-pub cook-pub lse-pub},
	Location = {Athens, Greece},
	Misc = {Acceptance rate: 24/87 = 27\%},
	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://rmod.lille.inria.fr/archives/papers/Abde08b-CSMR2008-Fingerprint.pdf},
	Year = {2008},
	Bdsk-Url-1 = {http://rmod.lille.inria.fr/archives/papers/Abde08b-CSMR2008-Fingerprint.pdf}}

@inproceedings{Abde09b,
	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.},
	Address = {Washington, DC, USA},
	Aeres = {ACT},
	Aeresstatus = {aeres12},
	Annote = {internationalconference},
	Author = {Hani Abdeen and St\'ephane Ducasse and Houari A. Sahraoui and Ilham Alloui},
	Booktitle = {International Working Conference on Reverse Engineering (WCRE)},
	Hal = {http://hal.inria.fr/inria-00425417},
	Hal-Id = {inria-00425417 to recover as lse},
	Inria = {RMOD},
	Inriareport = {2009},
	Keywords = {moose-pub remoose2 lse-pub cook},
	Misc = {acceptance rate: 20/79 = 25\%},
	Pages = {103--112},
	Publisher = {IEEE Computer Society Press},
	Rate = {25\%},
	Selectif = {oui},
	Title = {Automatic Package Coupling and Cycle Minimization},
	Url = {http://rmod.lille.inria.fr/archives/papers/Abde09b-WCRE2009-AutomaticPackageCoupling.pdf},
	X-Country = {FR},
	X-Editorial-Board = {yes},
	X-International-Audience = {yes},
	X-Language = {EN},
	X-Pays = {CA},
	X-Proceedings = {yes},
	Year = {2009},
	Bdsk-Url-1 = {http://rmod.lille.inria.fr/archives/papers/Abde09b-WCRE2009-AutomaticPackageCoupling.pdf}}

@phdthesis{Abde09c,
	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.},
	Aeres = {AP},
	Annote = {PhD},
	Author = {Hani Abdeen},
	Hal-Id = {tel-00498389 / zi#3ow#h},
	Inria = {RMOD},
	Institution = {INRIA},
	Keywords = {moose-pub remoose2 lse-pub cook},
	School = {Universit\'e de Lille},
	Title = {Visualizing, Assessing and Re-Modularizing Object-Oriented Architectural Elements},
	Type_Rapport = {PhD},
	Url = {http://rmod.lille.inria.fr/archives/phd/PhD-2009-Abdeen.pdf},
	X-Language = {EN},
	Year = {2009},
	Bdsk-Url-1 = {http://rmod.lille.inria.fr/archives/phd/PhD-2009-Abdeen.pdf}}

@article{Abde10a,
	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.},
	Aeres = {ACL},
	Aeresstatus = {aeres12},
	Annote = {internationaljournal},
	Author = {Hani Abdeen and St\'ephane Ducasse and Damien Pollet and Ilham Alloui},
	Doi = {10.1016/j.infsof.2010.07.005},
	Hal-Id = {inria-00531496},
	Impactfactor = {ISI impact factor 1.821 (2010)},
	Inria = {RMOD},
	Inriareport = {2010},
	Journal = {Information and Software Technology Journal},
	Keywords = {moose-pub remoose2 lse-pub cook},
	Pages = {1312-1330},
	Secondurl = {http://rmod.lille.inria.fr/archives/papers/Abde10a-IST-packageFingerprints.pdf},
	Title = {Package Fingerprint: a visual summary of package interfaces and relationships},
	Url = {http://rmod.lille.inria.fr/archives/papers/Abde10a-IST-Official-packageFingerprints.pdf},
	Volume = {52},
	X-Editorial-Board = {yes},
	X-International-Audience = {yes},
	X-Proceedings = {yes},
	Year = {2010},
	Bdsk-Url-1 = {http://rmod.lille.inria.fr/archives/papers/Abde10a-IST-Official-packageFingerprints.pdf},
	Bdsk-Url-2 = {http://dx.doi.org/10.1016/j.infsof.2010.07.005}}

@inproceedings{Abeb12a,
 author = {Abebe, Surafel Lemma and Arnaoudova, Venera and Tonella, Paolo and Antoniol, Giuliano and Gueheneuc, Yann-Gael},
 title = {Can Lexicon Bad Smells Improve Fault Prediction?},
 booktitle = {Proceedings of the 2012 19th Working Conference on Reverse Engineering},
 series = {WCRE '12},
 year = {2012},
 isbn = {978-0-7695-4891-3},
 pages = {235--244},
 numpages = {10},
 url = {http://dx.doi.org/10.1109/WCRE.2012.33},
 doi = {10.1109/WCRE.2012.33},
 acmid = {2420463},
 publisher = {IEEE Computer Society},
 address = {Washington, DC, USA},
 keywords = {Fault prediction, lexicon bad smells, structural metrics, program understanding}
}

@article{Abed15a,
 author = {Abedjan, Ziawasch and Golab, Lukasz and Naumann, Felix},
 title = {Profiling Relational Data: A Survey},
 journal = {The VLDB Journal},
 issue_date = {August    2015},
 volume = {24},
 number = {4},
 month = aug,
 year = {2015},
 issn = {1066-8888},
 pages = {557--581},
 numpages = {25},
 url = {http://pages.cs.wisc.edu/~anhai/courses/784-fall15/data-profiling-survey.pdf},
 doi = {10.1007/s00778-015-0389-y},
 acmid = {2811766},
 publisher = {Springer-Verlag New York, Inc.},
 address = {Secaucus, NJ, USA},
 keywords = {schema-inference}
}

@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},
	Bdsk-Url-1 = {http://mitpress.mit.edu/sicp/full-text/book/book.html}}

@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}}

@inproceedings{Abid19a,
  title={Anti-patterns for multi-language systems},
  author={Abidi, Mouna and Khomh, Foutse and Gu{\'e}h{\'e}neuc, Yann-Ga{\"e}l},
  booktitle={Proceedings of the 24th European Conference on Pattern Languages of Programs},
  pages={1--14},
  year={2019}
}

@inproceedings{Abid20a,
  author    = {Mouna Abidi and
               Foutse Khomh},
  title     = {Towards the Definition of Patterns and Code Smells for Multi-language
               Systems},
  booktitle = {EuroPLoP '20: European Conference on Pattern Languages of Programs
               2020, Virtual Event, Germany, 1-4 July, 2020},
  pages     = {37:1--37:13},
  publisher = {{ACM}},
  year      = {2020},
  url       = {https://doi.org/10.1145/3424771.3424792},
  doi       = {10.1145/3424771.3424792},
  timestamp = {Mon, 11 Jan 2021 11:18:25 +0100},
  biburl    = {https://dblp.org/rec/conf/europlop/AbidiK20.bib},
  bibsource = {dblp computer science bibliography, https://dblp.org}
}

@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}}

@article{Abra04a,
	Author = {Abran, Alain and Moore, James W. and Bourque, Pierre and Dupuis, Robert and Tripp, Leonard L.},
	Journal = {IEEE Press},
	Keywords = {damiencbib},
	Title = {{SWEBOK}: Guide to the Software Engineering Body of Knowledge},
	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}}

@inproceedings{Abre06a,
 author = {Abreu, Rui and Zoeteweij, Peter and Gemund, Arjan J. C.  van},
 title = {An Evaluation of Similarity Coefficients for Software Fault Localization},
 booktitle = {Proceedings of the 12th Pacific Rim International Symposium on Dependable Computing},
 series = {PRDC '06},
 year = {2006},
 isbn = {0-7695-2724-8},
 pages = {39--46},
 numpages = {8},
 url = {http://dx.doi.org/10.1109/PRDC.2006.18},
 doi = {10.1109/PRDC.2006.18},
 acmid = {1194368},
 publisher = {IEEE Computer Society},
 address = {Washington, DC, USA}
}

@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}}

@techreport{Abuk21a,
	Title = {Adherence of class comments to style guidelines},
	Author = {Suada Abukar},
	Abstract = {Code comments play an important role in program
		comprehension and maintenance tasks. They are written in
		natural language and follow a semi-structured or
		unstructured nature. Due to this, assessing their
		quality is a difficult task. To control certain aspects
		of quality such as consistency, readability, or
		preciseness, programming languages provide
		comment-related conventions in the coding style
		guidelines. One of the ways to assess comment quality in
		mentioned aspects is to verify if the code follows the
		respective coding style guidelines or not. However, what
		specific types of conventions they suggest related to
		code comments and if developers follow these conventions
		while writing comments is not yet explored. Previous
		works have proposed to automatically assess code quality
		using various linters or static tools. However, the
		extent to which these tools support comments is limited
		and comment validation on a semantic level is not
		provided. Additionally, one project can follow more than
		one style guideline. Thus, verifying which convention is
		from which guideline and to what extent it is followed
		is an essential but nontrivial task. This thesis
		provides an empirical study investigation of the content
		of popular commenting style guidelines and commenting
		practices in Java and Python. We extract comment-related
		rules from style guidelines used by 13 open-source
		projects. Furthermore, we assess nearly 700
		statistically significant samples of class comments
		originating from these 13 projects. The projects vary in
		domain, size, and number of contributors and are
		selected from two popular programming languages: Java
		and Python. This thesis uncovers the quality of class
		comments written in open-source projects and the content
		of the comment style guide. We discovered that 57% of
		the comment conventions rules do not apply to the class
		comment samples. From the applicable portion, most class
		comments follow the convention rules. The rules that are
		followed by the comments the most were mostly rules
		about the content and writing style of comments. Our
		results highlight the importance of writing clear and
		straightforward rules in the style guidelines since they
		are used and interpreted by developers with different
		levels of coding experience. In addition, the high
		percentage of adherence proves that developers do
		consult style guidelines when coding.},
	Institution = {University of Bern},
	Keywords = {scg-bp snf-asa3 scg21 jb22},
	Type = {Bachelor's thesis},
	Url = {http://scg.unibe.ch/archive/projects/Abuk21a.pdf},
	Month = aug,
	Year = {2021}
}

@inproceedings{Acar03a,
	Acmid = {604133},
	Address = {New York, NY, USA},
	Author = {Acar, Umut A. and Blelloch, Guy E. and Harper, Robert},
	Booktitle = {Proceedings of the 30th ACM SIGPLAN-SIGACT symposium on Principles of programming languages},
	Doi = {10.1145/604131.604133},
	Isbn = {1-58113-628-5},
	Keywords = {memoization, performance, programmer controlled, selective},
	Location = {New Orleans, Louisiana, USA},
	Numpages = {12},
	Pages = {14--25},
	Publisher = {ACM},
	Series = {POPL '03},
	Title = {Selective memoization},
	Year = {2003},
	Bdsk-Url-1 = {http://dx.doi.org/10.1145/604131.604133}}

@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{Acha07a,
	Acmid = {1287630},
	Address = {New York, NY, USA},
	Author = {Acharya, Mithun and Xie, Tao and Pei, Jian and Xu, Jun},
	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},
	Doi = {10.1145/1287624.1287630},
	Isbn = {978-1-59593-811-4},
	Keywords = {API patterns, mining, partial orders, specification, usage scenarios},
	Location = {Dubrovnik, Croatia},
	Numpages = {10},
	Pages = {25--34},
	Publisher = {ACM},
	Series = {ESEC-FSE '07},
	Title = {Mining {API} Patterns As Partial Orders from Source Code: From Usage Scenarios to Specifications},
	Url = {http://doi.acm.org/10.1145/1287624.1287630},
	Year = {2007},
	Bdsk-Url-1 = {http://doi.acm.org/10.1145/1287624.1287630},
	Bdsk-Url-2 = {http://dx.doi.org/10.1145/1287624.1287630}}

@inproceedings{Acha11a,
	Acmid = {1985898},
	Address = {New York, NY, USA},
	Author = {Acharya, Mithun and Robinson, Brian},
	Booktitle = {Proceeding of the 33rd international conference on Software engineering},
	Doi = {10.1145/1985793.1985898},
	Isbn = {978-1-4503-0445-0},
	Keywords = {change impact analysis, empirical study, static program slicing},
	Location = {Waikiki, Honolulu, HI, USA},
	Numpages = {10},
	Pages = {746--755},
	Publisher = {ACM},
	Series = {ICSE '11},
	Title = {Practical change impact analysis based on static program slicing for industrial software systems},
	Year = {2011},
	Bdsk-Url-1 = {http://dx.doi.org/10.1145/1985793.1985898}}

@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 scg-none 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 scg-none jb00 snf00 scg-coord-00 onhindex(36)},
	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 scg-none 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 scg-none 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 scg-none 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 scg-none 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 scg-none 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}}

@article{Acke89a,
  title={Software inspections: an effective verification process},
  author={Ackerman, A. Frank and Buchwald, Lynne S. and Lewski, Frank H.},
  journal={IEEE software},
  volume={6},
  number={3},
  pages={31--36},
  year={1989},
  publisher={IEEE}
}

@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{Ackl11a,
 author = {Ackling, Thomas and Alexander, Bradley and Grunert, Ian},
 title = {Evolving Patches for Software Repair},
 booktitle = {Proceedings of the 13th Annual Conference on Genetic and Evolutionary Computation},
 series = {GECCO '11},
 year = {2011},
 isbn = {978-1-4503-0557-0},
 location = {Dublin, Ireland},
 pages = {1427--1434},
 numpages = {8},
 url = {http://doi.acm.org/10.1145/2001576.2001768},
 doi = {10.1145/2001576.2001768},
 acmid = {2001768},
 publisher = {ACM},
 address = {New York, NY, USA},
 keywords = {debugging, fault-repair, genetic-programming, python}
}

@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{Adam09b,
author={B. Adams},
booktitle={2009 IEEE International Conference on Software Maintenance},
title={Co-evolution of source code and the build system},
year={2009},
volume={},
number={},
pages={461-464},
keywords={software maintenance;software prototyping;AOSD technology;Linux kernel build system;build language;build system;build system analysis;build system recovery;build system refactoring;legacy build system;software system;source code co-evolution;textual source code module;Computer architecture;Joining processes;Kernel;Libraries;Linux;Modular construction;Programming;Software development management;Software systems;Spine},
doi={10.1109/ICSM.2009.5306272},
ISSN={1063-6773},
month=sep
}

@inproceedings{Adam13a,
	Abstract = {Several popular languages, such as Haskell, Python, and F#, use the indentation and layout of code as part of their syntax. Because context-free grammars cannot express the rules of indentation, parsers for these languages currently use ad hoc techniques to handle layout. These techniques tend to be low-level and operational in nature and forgo the advantages of more declarative specifications like context-free grammars. For example, they are often coded by hand instead of being generated by a parser generator.
				This paper presents a simple extension to context-free grammars that can express these layout rules, and derives GLR and LR(k) algorithms for parsing these grammars. These grammars are easy to write and can be parsed efficiently. Examples for several languages are presented, as are benchmarks showing the practical efficiency of these algorithms.
			},
	Address = {New York, NY, USA},
	Author = {Adams, Michael D.},
	Booktitle = {Proceedings of the 40th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages},
	Doi = {10.1145/2429069.2429129},
	Isbn = {978--1--4503--1832--7},
	Keywords = {parsing, indentation, offside rule},
	Pages = {511--522},
	Publisher = {ACM},
	Series = {POPL~'13},
	Title = {Principled Parsing for Indentation-Sensitive Languages: Revisiting {L}andin's Offside Rule},
	Year = {2013},
	Bdsk-Url-1 = {http://dx.doi.org/10.1145/2429069.2429129}}

@inproceedings{Adam14a,
    author = {Adams, Michael D. and A\u{g}acan, \"{O}mer S.},
    title = {Indentation-sensitive Parsing for {Parsec}},
    booktitle = {Proceedings of the 2014 ACM SIGPLAN Symposium on Haskell},
    series = {Haskell'14},
    year = {2014},
    isbn = {978-1-4503-3041-1},
    location = {Gothenburg, Sweden},
    pages = {121--132},
    numpages = {12},
    url = {http://doi.acm.org/10.1145/2633357.2633369},
    doi = {10.1145/2633357.2633369},
    acmid = {2633369},
    publisher = {ACM},
    address = {New York, NY, USA},
    keywords = {indentation sensitivity, layout, offside rule, parsec, parsing}
}

@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}}

@book{Adob85a,
	Author = {Adobe Systems Incorporated},
	Keywords = {scglib book pl-lit},
	Publisher = {Addison Wesley},
	Title = {PostScript Language Tutorial and Cookbook},
	Year = {1985}}

@book{Adob88a,
	Author = {Adobe Systems Incorporated},
	Keywords = {scglib book pl-lit},
	Publisher = {Addison Wesley},
	Title = {PostScript Language Program Design},
	Year = {1988}
}

@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}
}

@book{Adob99a,
  author = {Adobe Systems Incorporated},
  title={Postscript Language Reference Third Edition},
  year={1999},
  Publisher = {Addison Wesley},
  url = {https://www.adobe.com/products/postscript/pdfs/PLRM.pdf}
}

@inproceedings{Adya02a,
	Address = {Berkeley, CA, USA},
	Author = {Adya, Atul and Howell, Jon and Theimer, Marvin and Bolosky, William J. and Douceur, John R.},
	Booktitle = {ATEC '02: Proceedings of the General Track of the annual conference on USENIX Annual Technical Conference},
	Isbn = {1-880446-00-6},
	Pages = {289--302},
	Publisher = {USENIX Association},
	Title = {Cooperative Task Management Without Manual Stack Management},
	Year = {2002}}

@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{Aesc13a,
	Abstract = {This paper presents a case study of analyzing a legacy PL/1 ecosystem that has grown for 40 years to support the business needs of a large banking company. In order to support the stakeholders in analyzing it we developed St1-PL/1 -- a tool that parses the code for association data and computes structural metrics which it then visualizes using top-down interactive exploration. Before building the tool and after demonstrating it to stakeholders we conducted several interviews to learn about legacy ecosystem analysis requirements. We briefly introduce the tool and then present results of analysing the case study. We show that although the vision for the future is to have an ecosystem architecture in which systems are as decoupled as possible the current state of the ecosystem is still removed from this. We also present some of the lessons learned during our discussions with stakeholders which include their interests in automatically assessing the quality of the legacy code.},
	Author = {Aeschlimann, Erik and Lungu, Mircea and Nierstrasz, Oscar and Worms, Carl},
	Booktitle = {Proceedings of the 20th Working Conference on Reverse Engineering, WCRE 2013},
	Doi = {10.1109/WCRE.2013.6671320},
	Keywords = {scg-pub snf-asa1 scg13 PL/1 ecosystems static analysis metrics visualization jb14},
	Medium = {2},
	Pages = {441 -- 448},
	Peerreview = {yes},
	Title = {Analyzing {PL/1} Legacy Ecosystems: An Experience Report},
	Url = {http://scg.unibe.ch/archive/papers/Aesc13a-PL1Ecosystem.pdf},
	Year = {2013},
	Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Aesc13a-PL1Ecosystem.pdf},
	Bdsk-Url-2 = {http://dx.doi.org/10.1109/WCRE.2013.6671320}}

@mastersthesis{Aesc13b,
	Abstract = {This thesis presents a case study of analyzing a legacy PL/1 ecosystem that has grown for 40 years and runs on a modern IBM mainframe. To support the stakeholders in analyzing it, we developed St1-PL/1 -- a tool that parses the code for association data and computes structural metrics which it then visualizes using top down interactive exploration. Before building the tool and after demonstrating it to stakeholders we conducted several interviews to learn about legacy ecosystem analysis requirements.
We briefly introduce the tool, then present preliminary results of analyzing a large legacy ecosystem case study. We show that although the vision for the future is to have as much a decoupled architecture as possible the current state of the ecosystem is far from this. We also present some of the lessons learned during our experience discussions with stakeholders which include their interest in automatically assessing the quality of the legacy code.},
	Author = {Erik Aeschlimann},
	Keywords = {scg-msc snf-asa1 scg13 jb14},
	Month = dec,
	School = {University of Bern},
	Title = {{St1-PL/1}: Extracting quality information from {PL/1} legacy ecosystems},
	Type = {Masters thesis},
	Url = {http://scg.unibe.ch/archive/masters/Aesc13b.pdf},
	Year = {2013},
	Bdsk-Url-1 = {http://scg.unibe.ch/archive/masters/Aesc13b.pdf}}

@incollection{Afro15a,
    year={2015},
    isbn={978-3-662-46662-9},
    booktitle={Compiler Construction},
    volume={9031},
    series={Lecture Notes in Computer Science},
    editor={Franke, Bjorn},
    doi={10.1007/978-3-662-46663-6_5},
    title={Faster, Practical {GLL} Parsing},
    url={http://dx.doi.org/10.1007/978-3-662-46663-6_5},
    publisher={Springer Berlin Heidelberg},
    author={Afroozeh, Ali and Izmaylova, Anastasia},
    pages={89-108},
    language={English}
}

@inproceedings{Afta10a,
	Acmid = {1879222},
	Address = {New York, NY, USA},
	Author = {Aftandilian, Edward E. and Kelley, Sean and Gramazio, Connor and Ricci, Nathan and Su, Sara L. and Guyer, Samuel Z.},
	Booktitle = {Proceedings of the 5th international symposium on Software visualization},
	Doi = {10.1145/1879211.1879222},
	Isbn = {978-1-4503-0028-5},
	Keywords = {debugging, graphs, interactive visualization, program understanding, software visualization},
	Location = {Salt Lake City, Utah, USA},
	Numpages = {10},
	Pages = {53--62},
	Publisher = {ACM},
	Series = {SOFTVIS '10},
	Title = {Heapviz: interactive heap visualization for program understanding and debugging},
	Url = {http://doi.acm.org/10.1145/1879211.1879222},
	Year = {2010},
	Bdsk-Url-1 = {http://doi.acm.org/10.1145/1879211.1879222},
	Bdsk-Url-2 = {http://dx.doi.org/10.1145/1879211.1879222}}

@mastersthesis{Aga15a,
	Abstract = {Placing classes, methods, dependencies in wrong packages may
		generate architectural problems such as dependency cycles. Developers,
		maintainers and testers very often have to deal with dependency cycles that
		compromise the modularity of their systems, prevent proper reuse, increase the
		cost of maintenance and increase the cost of tests. We argue that reengineers do
		not have adequate tools that support removing the dependencies forming cycles at
		the package level.
 	   	We propose Marea, a tool that helps reengineers maintain their object-oriented
		systems without cyclic dependencies between packages. In our approach, we analyse
		object-oriented systems by detecting and suggesting to the user which refactoring
		operations should be used to remove undesirable dependencies. Marea suggests the
		best sequence of refactoring operations based on the results of a model-based
		simulation. Moreover, the best path is identified by applying a customised profit
		function adapted to the user's needs. Our approach has been validated on
		real-world Java open source systems. },
	Author = {Bledar Aga},
	Keywords = {scg-msc snf-asa1 scg15 jb15},
	Month = jan,
	School = {University of Bern},
	Title = {Marea --- A Tool for Breaking Dependency Cycles Between Packages},
	Type = {Masters thesis},
	Url = {http://scg.unibe.ch/archive/masters/Aga15a.pdf},
	Year = {2015}
}

@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}}

@inbook{Ages94b,
author = {Agesen Ole},
title= {Constraint-based type inference and parametric polymorphism},
bookTitle = {Static Analysis: First International Static Analysis Symposium, SAS'94 Namur, Belgium, September 28--30, 1994 Proceedings},
year={1994},
publisher={Springer Berlin Heidelberg},
address={Berlin, Heidelberg},
pages={78--100},
isbn={978-3-540-49005-0},
doi={10.1007/3-540-58485-4_34},
url={http://dx.doi.org/10.1007/3-540-58485-4_34}
}

@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}}

@inproceedings{Ages95c,
	Acmid = {217847},
	Address = {New York, NY, USA},
	Author = {Agesen, Ole and H\"{o}lzle, Urs},
	Booktitle = {Proceedings of the Tenth Annual Conference on Object-Oriented Programming Systems, Languages, and Applications},
	Doi = {10.1145/217838.217847},
	Isbn = {0-89791-703-0},
	Location = {Austin, Texas, United States},
	Numpages = {17},
	Pages = {91--107},
	Publisher = {ACM},
	Series = {OOPSLA '95},
	Title = {Type Feedback vs. Concrete Type Inference: A Comparison of Optimization Techniques for Object-Oriented Languages},
	Year = {1995},
	Bdsk-Url-1 = {http://dx.doi.org/10.1145/217838.217847}}

@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},
	Url = {http://dspace.mit.edu/handle/1721.1/6952},
	Year = {1986},
	Bdsk-Url-1 = {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{Agha18a,
  author    = {Emad Aghajani and
               Csaba Nagy and
               Gabriele Bavota and
               Michele Lanza},
  title     = {A Large-Scale Empirical Study on Linguistic Antipatterns Affecting
               {APIs}},
  booktitle = {2018 {IEEE} International Conference on Software Maintenance and Evolution,
               {ICSME} 2018, Madrid, Spain, September 23-29, 2018},
  pages     = {25--35},
  publisher = {{IEEE} Computer Society},
  year      = {2018},
  url       = {https://doi.org/10.1109/ICSME.2018.00012},
  doi       = {10.1109/ICSME.2018.00012},
  Keywords =  {comment-quality-slr},
  timestamp = {Tue, 26 Nov 2019 14:50:57 +0100},
  biburl    = {https://dblp.org/rec/conf/icsm/AghajaniNBL18.bib},
  bibsource = {dblp computer science bibliography, https://dblp.org}
}

@inproceedings{Agha19a,
  author    = {Emad Aghajani and
               Csaba Nagy and
               Olga Lucero Vega{-}M{\'{a}}rquez and
               Mario Linares{-}V{\'{a}}squez and
               Laura Moreno and
               Gabriele Bavota and
               Michele Lanza},
  editor    = {Joanne M. Atlee and
               Tevfik Bultan and
               Jon Whittle},
  title     = {Software Documentation Issues Unveiled},
  booktitle = {Proceedings of the 41st International Conference on Software Engineering,
               {ICSE} 2019, Montreal, QC, Canada, May 25-31, 2019},
  pages     = {1199--1210},
  publisher = {{IEEE} / {ACM}},
  year      = {2019},
  url       = {https://doi.org/10.1109/ICSE.2019.00122},
  doi       = {10.1109/ICSE.2019.00122},
  Keywords =  {comment-quality-slr},
  timestamp = {Tue, 26 Nov 2019 14:50:57 +0100},
  biburl    = {https://dblp.org/rec/conf/icse/AghajaniNVLMBL19.bib},
  bibsource = {dblp computer science bibliography, https://dblp.org}
}

@inproceedings{Agha20b,
  title={Software documentation: the practitioners' perspective},
  author={Aghajani, Emad and Nagy, Csaba and Linares-V{\'a}squez, Mario and Moreno, Laura and Bavota, Gabriele and Lanza, Michele and Shepherd, David C},
  booktitle={2020 IEEE/ACM 42nd International Conference on Software Engineering (ICSE)},
  pages={590--601},
  year={2020},
  organization={IEEE}
}

@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}}

@inproceedings{Agra93a,
 	Author = {Agrawal, Rakesh and Imieli\'{n}ski, Tomasz and Swami, Arun},
 	Title = {Mining Association Rules Between Sets of Items in Large Databases},
 	Booktitle = {Proceedings of the 93rd ACM SIGMOD International Conference on Management of Data},
 	Series = {SIGMOD '93},
 	Year = {1993},
 	Isbn = {0-89791-592-5},
 	Location = {Washington, D.C., USA},
 	Pages = {207--216},
 	Numpages = {10},
 	Url = {http://doi.acm.org/10.1145/170035.170072},
 	Doi = {10.1145/170035.170072},
 	Acmid = {170072},
 	Publisher = {ACM},
 	Address = {New York, NY, USA}}

@inproceedings{Agra94a,
 	Author = {Agrawal, Rakesh and Srikant, Ramakrishnan},
 	Title = {Fast Algorithms for Mining Association Rules in Large Databases},
 	Booktitle = {Proceedings of the 20th International Conference on Very Large Data Bases},
 	Series = {VLDB '94},
 	Year = {1994},
 	Isbn = {1-55860-153-8},
 	Pages = {487--499},
 	Numpages = {13},
 	Url = {http://dl.acm.org/citation.cfm?id=645920.672836},
 	Acmid = {672836},
 	Publisher = {Morgan Kaufmann Publishers Inc.},
 	Address = {San Francisco, CA, USA}}

@inproceedings{Ahas18a,
  title={Classifying stack overflow posts on API issues},
  author={Ahasanuzzaman, Md and Asaduzzaman, Muhammad and Roy, Chanchal K and Schneider, Kevin A},
  booktitle={2018 IEEE 25th international conference on software analysis, evolution and reengineering (SANER)},
  pages={244--254},
  year={2018},
  organization={IEEE}
}

@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}}

@article{Ahma18a,
  title={A survey on mining {Stack Overflow}: question and answering ({Q\&A}) community},
  author={Ahmad, Arshad and Feng, Chong and Ge, Shi and Yousif, Abdallah},
  journal={Data Technologies and Applications},
  volume={52},
  number={2},
  pages={190--247},
  year={2018},
  publisher={Emerald Publishing Limited}
}

@inproceedings{Ahme16a,
 author = {Ahmed, Tarek M. and Bezemer, Cor-Paul and Chen, Tse-Hsun and Hassan, Ahmed E. and Shang, Weiyi},
 title = {Studying the Effectiveness of Application Performance Management (APM) Tools for Detecting Performance Regressions for Web Applications: An Experience Report},
 booktitle = {Proceedings of the 13th International Conference on Mining Software Repositories},
 series = {MSR '16},
 year = {2016},
 isbn = {978-1-4503-4186-8},
 location = {Austin, Texas},
 pages = {1--12},
 numpages = {12},
 url = {http://doi.acm.org/10.1145/2901739.2901774},
 doi = {10.1145/2901739.2901774},
 acmid = {2901774},
 publisher = {ACM},
 address = {New York, NY, USA}
}

@inproceedings{Ahme18a,
 author = {Ahmed, Syed and Bagherzadeh, Mehdi},
 title = {What Do Concurrency Developers Ask About?: A Large-scale Study Using {Stack Overflow}},
 booktitle = {Proceedings of the 12th ACM/IEEE International Symposium on Empirical Software Engineering and Measurement},
 series = {ESEM '18},
 year = {2018},
 isbn = {978-1-4503-5823-1},
 location = {Oulu, Finland},
 pages = {30:1--30:10},
 articleno = {30},
 numpages = {10},
 url = {http://doi.acm.org/10.1145/3239235.3239524},
 doi = {10.1145/3239235.3239524},
 acmid = {3239524},
 publisher = {ACM},
 address = {New York, NY, USA},
 keywords = {stack overflow, dev-questions}
}

@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}}

@book{Aho77a,
 	author = {Aho, Alfred V. and Ullman, Jeffrey D.},
 	title = {Principles of Compiler Design (Addison-Wesley Series in Computer Science and Information Processing)},
 	year = {1977},
 	isbn = {0201000229},
 	publisher = {Addison-Wesley Longman Publishing Co., Inc.},
 	address = {Boston, MA, USA}}

@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}}

@book{Aho06a,
 author = {Aho, Alfred V. and Lam, Monica S. and Sethi, Ravi and Ullman, Jeffrey D.},
 title = {Compilers: Principles, Techniques, and Tools (2Nd Edition)},
 year = {2006},
 isbn = {0321486811},
 keywords = {cclit cccorelit},
 publisher = {Addison-Wesley Longman Publishing Co., Inc.},
 address = {Boston, MA, USA}
}

@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{Aike91a,
 author = {Aiken, Alex and Murphy, Brian},
 title = {Static Type Inference in a Dynamically Typed Language},
 booktitle = {Proceedings of the 18th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages},
 series = {POPL '91},
 year = {1991},
 isbn = {0-89791-419-8},
 location = {Orlando, Florida, USA},
 pages = {279--290},
 numpages = {12},
 url = {http://doi.acm.org/10.1145/99583.99621},
 doi = {10.1145/99583.99621},
 acmid = {99621},
 publisher = {ACM},
 address = {New York, NY, USA}
}

@book{Aike96a,
	Author = {Aiken, P.},
	Publisher = {McGraw-Hill},
	Title = {Data reverse engineering: Slaying the legacy dragon},
	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{Aker15a,
 author = {{\AA}kerblom, Beatrice and Wrigstad, Tobias},
 title = {Measuring Polymorphism in {Python} Programs},
 booktitle = {Proceedings of the 11th Symposium on Dynamic Languages},
 series = {DLS 2015},
 year = {2015},
 isbn = {978-1-4503-3690-1},
 location = {Pittsburgh, PA, USA},
 pages = {114--128},
 numpages = {15},
 url = {http://doi.acm.org/10.1145/2816707.2816717},
 doi = {10.1145/2816707.2816717},
 acmid = {2816717},
 publisher = {ACM},
 address = {New York, NY, USA},
 keywords = {Python, dynamic languages, polymorphism, trace-based analysis}
}

@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},
	Doi = {10.1007/BFb0017540},
	Editor = {Rachid Guerraoui and Oscar Nierstrasz and Michel Riveill},
	Keywords = {olit-obc obdp93 binder},
	Pages = {152--184},
	Publisher = {Springer-Verlag},
	Series = {LNCS},
	Title = {Abstracting Object Interactions Using Composition Filters},
	Volume = 791,
	Year = {1994},
	Bdsk-Url-1 = {http://dx.doi.org/10.1007/BFb0017540}}

@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}}

@inproceedings{Albr79a,
  title={Measuring application development productivity},
  author={Albrecht, Allan J},
  booktitle={Proceedings of the joint SHARE/GUIDE/IBM application development symposium},
  volume={10},
  pages={83--92},
  year={1979}
}

@article{Albu15a,
	title = {Quantifying usability of domain-specific languages: An empirical study on software maintenance},
	journal = {Journal of Systems and Software},
	volume = {101},
	pages = {245 - 259},
	year = {2015},
	issn = {0164-1212},
	doi = {10.1016/j.jss.2014.11.051},
	url = {http://www.sciencedirect.com/science/article/pii/S0164121214002799},
	author = {Diego Albuquerque and Bruno Cafeo and Alessandro Garcia and Simone Barbosa and Silvia Abrahao and Antonio Ribeiro}}

@inproceedings{Alco13a,
	Added-At = {2013-11-13T00:00:00.000+0100},
	Author = {Alcocer, Juan Pablo Sandoval and Bergel, Alexandre and Ducasse, St\'ephane and Denker, Marcus},
	Biburl = {http://www.bibsonomy.org/bibtex/20c5e56d6b824c2ce8c84f97758927a0b/dblp},
	Booktitle = {VISSOFT},
	Editor = {Telea, Alexandru and Kerren, Andreas and Marcus, Andrian},
	Ee = {http://doi.ieeecomputersociety.org/10.1109/VISSOFT.2013.6650523},
	Interhash = {d4404a589c37ad80c909e343086ae851},
	Intrahash = {0c5e56d6b824c2ce8c84f97758927a0b},
	Isbn = {978-1-4799-1457-9},
	Keywords = {dblp},
	Pages = {1-9},
	Publisher = {IEEE},
	Timestamp = {2013-11-13T00:00:00.000+0100},
	Title = {Performance evolution blueprint: Understanding the impact of software evolution on performance},
	Year = {2013}}

@inproceedings{Alco15a,
 author = {Alcocer, Juan Pablo Sandoval and Bergel, Alexandre},
 title = {Tracking Down Performance Variation Against Source Code Evolution},
 booktitle = {Proceedings of the 11th Symposium on Dynamic Languages},
 series = {DLS 2015},
 year = {2015},
 isbn = {978-1-4503-3690-1},
 location = {Pittsburgh, PA, USA},
 pages = {129--139},
 numpages = {11},
 url = {http://doi.acm.org/10.1145/2816707.2816718},
 doi = {10.1145/2816707.2816718},
 acmid = {2816718},
 publisher = {ACM},
 address = {New York, NY, USA},
 keywords = {performance analysis, performance evolution, performance variation}
}

@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},
	Booktitle = {ECOOP'02: Proceedings of the 16th European Conference on Object-Oriented Programming},
	Doi = {10.1007/3-540-47993-7},
	Keywords = {olit ecoop02proc damiencbib architecture},
	Pages = {334--367},
	Publisher = {Springer-Verlag},
	Series = {LNCS},
	Title = {Architectural Reasoning in {ArchJava}},
	Volume = 2374,
	Year = {2002},
	Bdsk-Url-1 = {http://dx.doi.org/10.1007/3-540-47993-7}}

@inproceedings{Aldr02b,
	Address = {Seattle, Washington, USA},
	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},
	Keywords = {damiencbib archjava},
	Pages = {311--330},
	Publisher = {ACM},
	Title = {Alias Annotations for Program Understanding},
	Volume = {37(11)},
	Year = {2002}}

@inproceedings{Aldr02c,
	Address = {Orlando, FL, USA},
	Author = {Aldrich, Jonathan and Chambers, Craig and Notkin, David},
	Booktitle = {ICSE'02: Proceedings of the 24th International Conference on Software Engineering},
	Doi = {10.1145/581339.581365},
	Isbn = {1-58113-472-X},
	Keywords = {damiencbib},
	Pages = {187--197},
	Publisher = {ACM},
	Title = {{ArchJava}: Connecting software architecture to implementation},
	Year = {2002},
	Bdsk-Url-1 = {http://dx.doi.org/10.1145/581339.581365}}

@inproceedings{Aldr03a,
	Address = {Darmstadt, Germany},
	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},
	Doi = {10.1007/978-3-540-45070-2_5},
	Editor = {Cardelli, Luca},
	Keywords = {damiencbib archjava},
	Pages = {74--102},
	Publisher = {Springer-Verlag},
	Series = {LNCS},
	Title = {Language Support for Connector Abstractions},
	Volume = {2743},
	Year = {2003},
	Bdsk-Url-1 = {http://dx.doi.org/10.1007/978-3-540-45070-2_5}}

@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{Aldr04b,
	Author = {Jonathan Aldrich and Craig Chambers},
	Booktitle = {ECOOP},
	Date-Added = {2012-05-08 14:25:51 +0000},
	Date-Modified = {2012-05-21 12:34:49 +0000},
	Ee = {http://dx.doi.org/10.1007/978-3-540-24851-4_1},
	Keywords = {aliasing},
	Pages = {1-25},
	Rating = {5},
	Title = {Ownership Domains: Separating Aliasing Policy from Mechanism},
	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{Aldr08a,
	Acmid = {1344114},
	Address = {Washington, DC, USA},
	Author = {Aldrich, Jonathan},
	Booktitle = {Proceedings of the Seventh Working IEEE/IFIP Conference on Software Architecture (WICSA 2008)},
	Doi = {10.1109/WICSA.2008.48},
	Isbn = {978-0-7695-3092-5},
	Numpages = {10},
	Pages = {211--220},
	Publisher = {IEEE Computer Society},
	Series = {WICSA '08},
	Title = {Using Types to Enforce Architectural Structure},
	Url = {http://dx.doi.org/10.1109/WICSA.2008.48},
	Year = {2008},
	Bdsk-Url-1 = {http://dx.doi.org/10.1109/WICSA.2008.48}}

@inproceedings{Aldr11a,
	Acmid = {2048122},
	Address = {New York, NY, USA},
	Author = {Sunshine, Joshua and Naden, Karl and Stork, Sven and Aldrich, Jonathan and Tanter, \'{E}ric},
	Booktitle = {Proceedings of the 2011 ACM international conference on Object oriented programming systems languages and applications},
	Date-Added = {2012-07-11 08:18:36 +0000},
	Date-Modified = {2012-07-11 08:19:13 +0000},
	Doi = {10.1145/2048066.2048122},
	Isbn = {978-1-4503-0940-0},
	Keywords = {programming-language; reclassification; reflection},
	Location = {Portland, Oregon, USA},
	Numpages = {20},
	Pages = {713--732},
	Publisher = {ACM},
	Rating = {3},
	Series = {OOPSLA '11},
	Title = {First-class state change in {Plaid}},
	Url = {http://doi.acm.org/10.1145/2048066.2048122},
	Year = {2011},
	Bdsk-Url-1 = {http://doi.acm.org/10.1145/2048066.2048122},
	Bdsk-Url-2 = {http://dx.doi.org/10.1145/2048066.2048122}}

@inproceedings{Aldr13a,
	Author = {Aldrich, Jonathan},
	Booktitle = {Onward!},
	Citeulike-Article-Id = {12551242},
	Date-Added = {2013-09-05 08:20:31 +0000},
	Date-Modified = {2013-09-05 08:20:37 +0000},
	Keywords = {essays, oop},
	Posted-At = {2013-08-11 23:05:02},
	Priority = {2},
	Title = {The Power of Interoperability: Why Objects Are Inevitable},
	Year = {2013}}

@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}}

@article{Alex01a,
  title={On combining classifiers using sum and product rules},
  author={Alexandre, Lu{\'\i}s A and Campilho, Aur{\'e}lio C and Kamel, Mohamed},
  journal={Pattern Recognition Letters},
  volume={22},
  number={12},
  pages={1283--1289},
  year={2001},
  publisher={Elsevier}
}

@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{Alex09a,
 author = {Alexander, Jason and Cockburn, Andy and Fitchett, Stephen and Gutwin, Carl and Greenberg, Saul},
 title = {Revisiting Read Wear: Analysis, Design, and Evaluation of a Footprints Scrollbar},
 booktitle = {Proceedings of the SIGCHI Conference on Human Factors in Computing Systems},
 series = {CHI '09},
 year = {2009},
 isbn = {978-1-60558-246-7},
 location = {Boston, MA, USA},
 pages = {1665--1674},
 numpages = {10},
 url = {http://doi.acm.org/10.1145/1518701.1518957},
 doi = {10.1145/1518701.1518957},
 acmid = {1518957},
 publisher = {ACM},
 address = {New York, NY, USA},
 keywords = {document revisitation, read wear, scrolling}
}

@inproceedings{Alfar01a,
	Address = {Vienna, Austria},
	Author = {de Alfaro, Luca and Henzinger, Thomas A.},
	Booktitle = {ESEC'01: Proceedings of the 8th European Software Engineering Conference},
	Doi = {10.1145/503209.503226},
	Isbn = {1-58113-390-1},
	Pages = {109--120},
	Publisher = {ACM},
	Title = {Interface automata},
	Year = {2001},
	Bdsk-Url-1 = {http://dx.doi.org/10.1145/503209.503226}}

@techreport{Ali20a,
	Title = {Profiling Cryptography Developers},
	Author = {Said Ali},
	Abstract = {Profiling developer expertise on the internet can provide
		valuable information for a multitude of applications such as
		recruiting. Studies have shown that it is feasible to track
		and profile developer activity on various platforms, (e.g.,
		Stack Overflow and GitHub). Furthermore, tracking developer
		expertise can shed some light on whether developer activity
		on one platform is in line with the same developer's
		activity on another platform. Recently, studies have shown
		that developers often rely on vulnerable cryptography code
		snippets, which are commonly found on Stack Overflow or
		GitHub repositories. Therefore, we are interested to
		investigate to what extent cryptography experts on Stack
		Overflow employ cryptography on their open-source projects
		on GitHub. To achieve our goal, we build a five-stage
		pipeline. (1) We extract 40 crypto-related tags from Stack
		Overflow. (2) We identify 1,000 users who have accepted
		answers (crypto accepted answers) in discussions where the
		selected crypto tags were used. (3) We automatically and
		manually scrape the selected users' profiles on Stack
		Overflow and find 522 GitHub links (i.e., users). (4) The
		522 users contribute to 23,633 repositories, in which 3.4\%
		are crypto-related. (5) Finally, we extract the contributors
		(i.e., crypto contributors) of crypto files in the
		crypto-related repositories. We use statistical and visual
		analyses to observe whether different groups of developers
		differ in terms of crypto activities (crypto score,
		reputation, and number of crypto accepted answers) on Stack
		Overflow and the number of crypto file contributions on
		GitHub. Our findings reveal that crypto activities between
		crypto contributors (189) and users without crypto
		contributions (332) do not differ significantly. Moreover,
		crypto contributors with a high number of crypto activities
		on Stack Overflow do not have a higher number of crypto
		contributions on GitHub. Overall we are unable to find any
		correlation between crypto developer activity on Stack
		Overflow and crypto developer contribution on GitHub.},
	Institution = {University of Bern},
	Keywords = {scg-bp snf-asa3 scg20 jb20},
	Type = {Bachelor's thesis},
	Url = {http://scg.unibe.ch/archive/projects/Ali20a.pdf},
	Month = aug,
	Year = {2020}
}

@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,
	Address = {New York, NY, USA},
	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},
	Booktitle = {OOPSLA '05: Proceedings of the 20th annual ACM SIGPLAN conference on Object-oriented programming systems and applications},
	Doi = {10.1145/1103845.1094839},
	Issn = {0362-1340},
	Keywords = {sos-da},
	Pages = {345--364},
	Publisher = {ACM},
	Title = {Adding trace matching with free variables to {AspectJ}},
	Year = {2005},
	Bdsk-Url-1 = {http://dx.doi.org/10.1145/1103845.1094839}}

@inproceedings{Alla13a,
 author = {Allamanis, Miltiadis and Sutton, Charles},
 title = {Why, when, and What: Analyzing {Stack Overflow} Questions by Topic, Type, and Code},
 booktitle = {Proceedings of the 10th Working Conference on Mining Software Repositories},
 series = {MSR '13},
 year = {2013},
 Keywords = {dev-questions},
 isbn = {978-1-4673-2936-1},
 location = {San Francisco, CA, USA},
 pages = {53--56},
 numpages = {4},
 url = {http://dl.acm.org/citation.cfm?id=2487085.2487098},
 acmid = {2487098},
 publisher = {IEEE Press},
 address = {Piscataway, NJ, USA}}

@inproceedings{Alla14a,
 author = {Allamanis, Miltiadis and Barr, Earl T. and Bird, Christian and Sutton, Charles},
 title = {Learning Natural Coding Conventions},
 booktitle = {Proceedings of the 22nd ACM SIGSOFT International Symposium on Foundations of Software Engineering},
 series = {FSE 2014},
 year = {2014},
 isbn = {978-1-4503-3056-5},
 location = {Hong Kong, China},
 pages = {281--293},
 numpages = {13},
 url = {http://doi.acm.org/10.1145/2635868.2635883},
 doi = {10.1145/2635868.2635883},
 acmid = {2635883},
 publisher = {ACM},
 address = {New York, NY, USA},
 keywords = {Coding conventions, naturalness of software}
}

@inproceedings{Alla15a,
 author = {Allamanis, Miltiadis and Barr, Earl T. and Bird, Christian and Sutton, Charles},
 title = {Suggesting Accurate Method and Class Names},
 booktitle = {Proceedings of the 2015 10th Joint Meeting on Foundations of Software Engineering},
 series = {ESEC/FSE 2015},
 year = {2015},
 isbn = {978-1-4503-3675-8},
 location = {Bergamo, Italy},
 pages = {38--49},
 numpages = {12},
 url = {http://doi.acm.org/10.1145/2786805.2786849},
 doi = {10.1145/2786805.2786849},
 acmid = {2786849},
 publisher = {ACM},
 address = {New York, NY, USA},
 keywords = {Coding conventions, naturalness of software}
}

@inproceedings{Alla15b,
  title={Bimodal modelling of source code and natural language},
  author={Allamanis, Miltos and Tarlow, Daniel and Gordon, Andrew and Wei, Yi},
  booktitle={International Conference on Machine Learning},
  pages={2123--2132},
  year={2015}
}

@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,
	Address = {Sorrento, Italy},
	Author = {Allen, Robert and Garlan, David},
	Booktitle = {ICSE'94: Proceedings of the 16th International Conference on Software Engineering},
	Doi = {10.1109/ICSE.1994.296767},
	Issn = {0270-5257},
	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,
	Pages = {71--80},
	Title = {Formalizing Architectural Connection},
	Year = {1994},
	Bdsk-Url-1 = {http://dx.doi.org/10.1109/ICSE.1994.296767}}

@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,
	Address = {Pittsburgh, PA, USA},
	Author = {Allen, Robert J.},
	Keywords = {sa wright sa architecture csp damiencbib adl},
	School = {School of Computer Science, Carnegie Mellon University},
	Title = {A Formal Approach to Software Architecture},
	Type = {{Ph.D}. Thesis},
	Year = {1997}}

@article{Alle97c,
  title={The problem of multicollinearity},
  author={Allen, Michael Patrick},
  journal={Understanding Regression Analysis},
  pages={176--180},
  year={1997},
  publisher={Springer}
}

@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}}

@article{Alle13a,
	Abstract = {{Being able to combine static and dynamic typing within the same language has clear benefits in order to support the evolution of prototypes or scripts into mature robust programs. While being an emblematic dynamic object-oriented language, Smalltalk is lagging behind in this regard. We report on the design, implementation and application of Gradualtalk, a gradually-typed Smalltalk meant to enable incremental typing of existing programs. The main design goal of the type system is to support the features of the Smalltalk language, like metaclasses and blocks, live programming, and to accomodate the programming idioms used in practice. We studied a number of existing projects in order to determine the features to include in the type system. As a result, Gradualtalk is a practical approach to gradual types in Smalltalk, with a novel blend of type system features that accomodate most programming idioms.}},
	Affiliation = {Department of Computer Science of University of Chile - DCC , Departemento de Ciencias de la Computacion - DCC , RMOD - INRIA Lille - Nord Europe},
	Audience = {internationale},
	Author = {Allende, Esteban and Calla{\'u}, Oscar and Fabry, Johan and Tanter, {\'E}ric and Denker, Marcus},
	Collaboration = {PLOMO},
	Doi = {10.1016/j.scico.2013.06.006},
	Journal = {Science of Computer Programming},
	Language = {Anglais},
	Month = aug,
	Pdf = {http://hal.inria.fr/hal-00862815/PDF/Alle13aGradualTyping.pdf},
	Publisher = {Elsevier},
	Title = {Gradual Typing for {Smalltalk}},
	Url = {http://hal.inria.fr/hal-00862815},
	Year = {2013},
	Bdsk-Url-1 = {http://hal.inria.fr/hal-00862815},
	Bdsk-Url-2 = {http://dx.doi.org/10.1016/j.scico.2013.06.006}}

@inproceedings{Alle16a,
	Abstract = {Software is fundamental to academic research work, both as part of
		the method and as the result of research. In June 2016 25 people
		gathered at Schloss Dagstuhl for a week-long PerSoftware is
		fundamental to academic research work, both as part of the method
		and as the result of research. In June 2016 25 people gathered at
		Schloss Dagstuhl for a week-long Perspectives Workshop and began
		to develop a manifesto which places emphasis on the scholarly
		value of academic software and on personal responsibility. Twenty
		pledges cover the recognition of academic software, the academic
		software process and the intellectual content of academic
		software. This is still work in progress. Through this lightning
		talk, we aim to get feedback and hone these further, as well as to
		inspire the WSSSPE audience to think about actions they can take
		themselves rather than actions they want others to take. We aim to
		publish a more fully developed Dagstuhl Manifesto by December
		2016.spectives Workshop and began to develop a manifesto which
		places emphasis on the scholarly value of academic software and on
		personal responsibility. Twenty pledges cover the recognition of
		academic software, the academic software process and the
		intellectual content of academic software. This is still work in
		progress. Through this lightning talk, we aim to get feedback and
		hone these further, as well as to inspire the WSSSPE audience to
		think about actions they can take themselves rather than actions
		they want others to take. We aim to publish a more fully developed
		Dagstuhl Manifesto by December 2016.},
	Annote = {internationalworkshop},
	Author = {Alice Allen and Cecilia Aragon and Christoph Becker and Jeffrey Carver and Andrei Chi\c{s} and Benoit Combemale and Mike Croucher and Kevin Crowston and Daniel Garijo and Ashish Gehani and Carole Goble and Robert Haines and Robert Hirschfeld and James Howison and Kathryn Huff and Caroline Jay and Daniel S. Katz and Claude Kirchner and Kateryna Kuksenok and Ralf L\"{a}mmel and Oscar Nierstrasz and Matt Turk and Rob van Nieuwpoort and Matthew Vaughn and Jurgen Vinju},
	Booktitle = {Proceedings of Workshop on Sustainable Software for Science: Practice and Experiences (WSSSPE 2016)},
	Editor = {Gabrielle Allen and Jeffrey Carver and Sou-Cheng T.
		Choi and Tom Crick and Michael R. Crusoe and Sandra Gesing and
		Robert Haines and Michael Heroux and Lorraine J. Hwang and Daniel
		S. Katz and Kyle E. Niemeyer and Manish Parashar and Colin C.
		Venters},
	Publisher = {{CEUR}},
    Series = {Proceedings of the Fourth Workshop on Sustainable Software for Science: Practice and Experiences (WSSSPE4)},
    Volume = {1686},
	medium={1},
	Keywords = {scg16 scg-pub jb17 snf-none skip-doi Andrei Chis},
	Location = {Manchester, UK},
	Peerreview = {yes},
	Title = {Lightning Talk: ``{I} solemnly pledge'' A Manifesto for Personal Responsibility in the Engineering of Academic Software},
	Pdf = {http://ceur-ws.org/Vol-1686/WSSSPE4_paper_15.pdf},
	Url = {http://scg.unibe.ch/archive/papers/Alle16a-WSSPE.pdf},
	Year = {2016}
}

@article{Alle17a,
  author =	{Alice Allen and Cecilia Aragon and Christoph Becker and Jeffrey Carver and Andrei Chis and Benoit Combemale and Mike Croucher and Kevin Crowston and Daniel Garijo and Ashish Gehani and Carole Goble and Robert Haines and Robert Hirschfeld and James Howison and Kathryn Huff and Caroline Jay and Daniel S. Katz and Claude Kirchner and Katie Kuksenok and Ralf L{\"a}mmel and Oscar Nierstrasz and Matt Turk and Rob van Nieuwpoort and Matthew Vaughn and Jurgen J. Vinju},
  title =	{{Engineering Academic Software (Dagstuhl Perspectives Workshop 16252)}},
  abstract = {Software is often a critical component of scientific research.
	It can be a component of the academic research methods used to
	produce research results, or it may itself be an academic
	research result. Software, however, has rarely been considered
	to be a citable artifact in its own right. With the advent of
	open-source software, artifact evaluation committees of
	conferences, and journals that include source code and running
	systems as part of the published artifacts, we foresee that
	software will increasingly be recognized as part of the academic
	process. The quality and sustainability of this software must be
	accounted for, both a priori and a posteriori. The Dagstuhl
	Perspectives Workshop on ``Engineering Academic Software'' has
	examined the strengths, weaknesses, risks, and opportunities of
	academic software engineering. A key outcome of the workshop is
	this Dagstuhl Manifesto, serving as a roadmap towards future
	professional software engineering for software-based research
	instruments and other software produced and used in an academic
	context. The manifesto is expressed in terms of a series of
	actionable ``pledges'' that users and developers of academic
	research software can take as concrete steps},
  pages =	{1--20},
  journal =	{Dagstuhl Manifestos},
  ISSN =	{2193-2433},
  year =	{2017},
  volume =	{6},
  number =	{1},
  editor =	{Alice Allen et al.},
  publisher =	{Schloss Dagstuhl--Leibniz-Zentrum fuer Informatik},
  address =	{Dagstuhl, Germany},
  URL =		{http://drops.dagstuhl.de/opus/volltexte/2017/7146},
  pdf = {http://drops.dagstuhl.de/opus/volltexte/2017/7146/pdf/dagman-v006-i001-p001-16252.pdf},
  URN =		{urn:nbn:de:0030-drops-71468},
  doi =		{10.4230/DagMan.6.1.1},
  annote =	{Keywords: Academic software, Research software, Software citation, Software sustainability}
}

@book{Allen01a,
	Author = {Allen, David},
	Keywords = {gtd},
	Publisher = {Penguin},
	Title = {{Getting Things Done}: The Art of Stress-Free Productivity},
	Year = {2001}}

@inproceedings{Alli97a,
	title = {Visualising software documents in a generic development environment},
	author = {Allison, Warwick and Carrington, D and Jones, Tim and Stewart-Zerba, Larry and Welsh, Jim},
	booktitle = {Software Engineering Conference, Australian},
	pages = {49--49},
	year = {1997},
	organization = {IEEE Computer Society}}

@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}}

@article{Alno18a,
  title={Towards computational reproducibility: researcher perspectives on the use and sharing of software},
  author={AlNoamany, Yasmin and Borghi, John A},
  journal={PeerJ Computer Science},
  volume={4},
  pages={e163},
  year={2018},
  publisher={PeerJ Inc.}
}

@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}}

@article{Alon04a,
   Keywords = {software engineering project;database technique;software repository;software development;software maintenance;Apache Web-server project;},
   Language = {English},
   Abstract = {In a typical software engineering project, there is a large and diverse body of documents that a development team produces, including requirement documents, specifications, designs, code, and bug reports. Documents typically have different formats and are managed in several repositories. The heterogeneity among document formats and the diversity of repositories make it often not feasible to query and explore the repositories in an integrated and transparent fashion during the different phases of the software development process. Here, we present a framework for the analysis and exploration of software repositories. Our approach applies database techniques to integrate, and manage different documents produced by a team. Tools that exploit the database functionality then allow for the processing of complex queries against a document collection to extract trends and analyze correlations, which provide important insights into the software development and maintenance process. We present a prototype implementation using the Apache Web-server project as a case study.},
   Title = {Database techniques for the analysis and exploration of software repositories},
   Journal = {IET Conference Proceedings},
   Year = {2004},
   Month = {jan},
   Pages = {37-41(4)},
   Publisher ={Institution of Engineering and Technology},
   Author = {Omar Alonso and Premkumar Devanbu and Michael Gertz},
   Url = {http://digital-library.theiet.org/content/conferences/10.1049/ic_20040473}}

@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}}

@inproceedings{Alqa17a,
  author       = {Alqadi, Basma S. and Maletic, Jonathan I.},
  title        = {An Empirical Study of Debugging Patterns Among Novices Programmers},
  booktitle    = {Proceedings of the 2017 ACM SIGCSE Technical Symposium on Computer Science Education},
  year         = {2017},
  series       = {SIGCSE '17},
  publisher    = {ACM},
  location     = {Seattle, Washington, USA},
  isbn         = {978-1-4503-4698-6},
  pages        = {15--20},
  doi          = {10.1145/3017680.3017761},
  url          = {http://doi.acm.org/10.1145/3017680.3017761},
  acmid        = {3017761},
  address      = {New York, NY, USA},
  keywords     = {debugging, logical errors, novice programmers, user study},
  numpages     = {6}
}

@inproceedings{Alsa12a,
 author = {Alsallakh, Bilal and Bodesinsky, Peter and Miksch, Silvia and Nasseri, Dorna},
 title = {Visualizing Arrays in the {Eclipse Java IDE}},
 booktitle = {Proceedings of the 2012 16th European Conference on Software Maintenance and Reengineering},
 series = {CSMR '12},
 year = {2012},
 isbn = {978-0-7695-4666-7},
 pages = {541--544},
 numpages = {4},
 url = {http://dx.doi.org/10.1109/CSMR.2012.71},
 doi = {10.1109/CSMR.2012.71},
 acmid = {2192528},
 publisher = {IEEE Computer Society},
 address = {Washington, DC, USA},
 keywords = {Data Structure Visualization, Visual Debugging, Eclipse Plugin}
}

@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}}

@inproceedings{Alti17a,
	author={Harald Altinger and Steffen Herbold and Friederike Schneemann and Jens Grabowski and Franz Wotawa},
	title={Performance Tuning for Automotive Software Fault Prediction},
	booktitle={2017 IEEE 24th International Conference on Software Analysis, Evolution, and Reengineering (SANER)},
	year={2017}
}

@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}}

@incollection{Aman13a,
  title={Software mining studies: Goals, approaches, artifacts, and replicability},
  author={Amann, Sven and Beyer, Stefanie and Kevic, Katja and Gall, Harald},
  booktitle={Software Engineering},
  pages={121--158},
  year={2013},
  publisher={Springer}
}

@inbook{Aman15a,
author={Amann, Sven and Beyer, Stefanie and Kevic, Katja and Gall, Harald},
title={Software Mining Studies: Goals, Approaches, Artifacts, and Replicability},
bookTitle={Software Engineering: International Summer Schools, LASER 2013-2014, Elba, Italy, Revised Tutorial Lectures},
year={2015},
publisher={Springer International Publishing},
pages={121--158},
abstract={The mining of software archives has enabled new ways for increasing the productivity in software development: Analyzing software quality, mining project evolution, investigating change patterns and evolution trends, mining models for development processes, developing methods of integrating mined data from various historical sources, or analyzing natural language artifacts in software repositories, are examples of research topics. Software repositories include various data, ranging from source control systems, issue tracking systems, artifact repositories such as requirements, design and architectural documentation, to archived communication between project members. Practitioners and researchers have recognized the potential of mining these sources to support the maintenance of software, to improve their design or architecture, and to empirically validate development techniques or processes. We revisited software mining studies that were published in recent years in the top venues of software engineering, such as ICSE, ESEC/FSE, and MSR. In analyzing these software mining studies, we highlight different viewpoints: pursued goals, state-of-the-art approaches, mined artifacts, and study replicability. To analyze the mining artifacts, we (lexically) analyzed research papers of more than a decade. In terms of replicability we looked at existing work in the field in mining approaches, tools, and platforms. We address issues of replicability and reproducibility to shed light onto challenges for large-scale mining studies that would enable a stronger conclusion stability.},
isbn={978-3-319-28406-4},
doi={10.1007/978-3-319-28406-4_5},
url={https://doi.org/10.1007/978-3-319-28406-4_5}
}

@inproceedings{Aman16a,
author={S. Amann and S. Proksch and S. Nadi and M. Mezini},
booktitle={2016 IEEE 23rd International Conference on Software Analysis, Evolution, and Reengineering (SANER)},
title={A Study of {Visual Studio} Usage in Practice},
year={2016},
volume={1},
pages={124--134},
doi={10.1109/SANER.2016.39},
month=mar
}

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

@book{Ambl02a,
	Author = {Scott Ambler},
	Keywords = {extreme modeling},
	Publisher = {John Wiley \& Sons},
	Title = {Agile Modeling: Effective Practices for {eXtreme} Programming and the Unified Process},
	ISBN = {0-471-20282-7},
	Year = {2002}
}

@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}}

@inproceedings{Amel12a,
	Abstract = {Dealing with non-functional requirements (NFRs) has posed a challenge onto software
				engineers for many years. Over the years, many methods and techniques have been proposed to
				improve their elicitation, documentation, and validation. Knowing more about the state of
				the practice on these topics may benefit both practitioners' and researchers' daily work.
				A few empirical studies have been conducted in the past, but none under the perspective of
				software architects, in spite of the great influence that NFRs have on daily architects'
				practices. This paper presents some of the findings of an empirical study based on 13 interviews
				with software architects. It addresses questions such as: who decides the NFRs, what types
				of NFRs matter to architects, how are NFRs documented, and how are NFRs validated. The results
				are contextualized with existing previous work.},
	Author = {Ameller, D. and Ayala, C. and Cabot, J. and Franch, X.},
	Booktitle = {Requirements Engineering Conference (RE), 2012 20th IEEE International},
	Doi = {10.1109/RE.2012.6345838},
	Issn = {1090-750X},
	Keywords = {NFR;documentation;elicitation;nonfunctional requirements;software architects;software engineers;validation;formal verification;software architecture;},
	Month = sep,
	Pages = {41 -50},
	Title = {How do software architects consider non-functional requirements: An exploratory study},
	Year = {2012},
	Bdsk-Url-1 = {http://dx.doi.org/10.1109/RE.2012.6345838}}

@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,
	Acmid = {258924},
	Address = {New York, NY, USA},
	Author = {Ammons, Glenn and Ball, Thomas and Larus, James R.},
	Booktitle = {Proceedings of the ACM SIGPLAN 1997 conference on Programming language design and implementation},
	Doi = {10.1145/258915.258924},
	Isbn = {0-89791-907-6},
	Location = {Las Vegas, Nevada, United States},
	Numpages = {12},
	Pages = {85--96},
	Publisher = {ACM},
	Series = {PLDI '97},
	Title = {Exploiting hardware performance counters with flow and context sensitive profiling},
	Url = {http://doi.acm.org/10.1145/258915.258924},
	Year = {1997},
	Bdsk-Url-1 = {http://doi.acm.org/10.1145/258915.258924},
	Bdsk-Url-2 = {http://dx.doi.org/10.1145/258915.258924}}

@inproceedings{Ammo04a,
year={2004},
isbn={978-3-540-22159-3},
booktitle={ECOOP 2004 - Object-Oriented Programming},
volume={3086},
series={Lecture Notes in Computer Science},
editor={Odersky, Martin},
doi={10.1007/978-3-540-24851-4_8},
title={Finding and Removing Performance Bottlenecks in Large Systems},
url={http://dx.doi.org/10.1007/978-3-540-24851-4_8},
publisher={Springer Berlin Heidelberg},
author={Ammons, Glenn and Choi, Jong-Deok and Gupta, Manish and Swamy, Nikhil},
pages={172-196},
language={English}
}

@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}}

@inproceedings{Anan03a,
 author = {Ananian, C. Scott and Rinard, Martin},
 title = {Data Size Optimizations for Java Programs},
 booktitle = {Proceedings of the 2003 ACM SIGPLAN Conference on Language, Compiler, and Tool for Embedded Systems},
 series = {LCTES '03},
 year = {2003},
 isbn = {1-58113-647-1},
 location = {San Diego, California, USA},
 pages = {59--68},
 numpages = {10},
 url = {http://doi.acm.org/10.1145/780732.780741},
 doi = {10.1145/780732.780741},
 acmid = {780741},
 publisher = {ACM},
 address = {New York, NY, USA},
 keywords = {bitwidth analysis, embedded systems, field externalization, field packing, size optimizations, static specialization}
}

@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}}

@incollection{Anco00a,
	Author = {Ancona, Davide and Lagorio, Giovanni and Zucca, Elena},
	Booktitle = {ECOOP 2000 Object-Oriented Programming},
	Doi = {10.1007/3-540-45102-1_8},
	Editor = {Bertino, Elisa},
	Isbn = {978-3-540-67660-7},
	Keyword = {Computer Science},
	Month = jun,
	Pages = {154--178},
	Publisher = {Springer Berlin, Heidelberg},
	Series = {Lecture Notes in Computer Science},
	Title = {Jam - A Smooth Extension of Java with Mixins},
	Url = {http://dx.doi.org/10.1007/3-540-45102-1_8},
	Volume = {1850},
	Year = {2000},
	Bdsk-Url-1 = {http://dx.doi.org/10.1007/3-540-45102-1_8}}

@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}}

@book{Ande95b,
  author = {James A. Anderson},
  Isbn = {978-0262510813},
  Publisher = {A Bradford Book},
  Title = {An Introduction to Neural Networks},
  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{Ande00a,
	Author = {Jesper Andersson and Tobias Ritzau},
	Booktitle = {In Proceedings of the ICSE'00 Workshop on Software Engineering for Wearable and Pervasive Computing},
	Date-Added = {2013-05-01 13:20:25 +0000},
	Date-Modified = {2013-05-01 13:20:36 +0000},
	Keywords = {dsu},
	Title = {Dynamic Code Update in JDRUMS},
	Year = {2000}}

@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}}

@inproceedings{Ande05a,
 author = {Anderson, Christopher and Giannini, Paola and Drossopoulou, Sophia},
 title = {Towards Type Inference for {JavaScript}},
 booktitle = {Proceedings of the 19th European Conference on Object-Oriented Programming},
 series = {ECOOP'05},
 year = {2005},
 isbn = {3-540-27992-X, 978-3-540-27992-1},
 location = {Glasgow, UK},
 pages = {428--452},
 numpages = {25},
 url = {http://dx.doi.org/10.1007/11531142_19},
 doi = {10.1007/11531142_19},
 acmid = {2144917},
 publisher = {Springer-Verlag},
 address = {Berlin, Heidelberg}
}

@article{Ande10a,
	Address = {New York, NY, USA},
	Author = {Anderson, Eric and Tucek, Joseph},
	Doi = {10.1145/1740390.1740400},
	Issn = {0163-5980},
	Journal = {SIGOPS Oper. Syst. Rev.},
	Month = mar,
	Number = {1},
	Pages = {40--45},
	Priority = {2},
	Publisher = {ACM},
	Title = {Efficiency Matters!},
	Volume = {44},
	Year = {2010},
	Bdsk-Url-1 = {http://dx.doi.org/10.1145/1740390.1740400}}

@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},
	DOI = {10.1145/356901.356903},
	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}}

@inproceedings{Andr04a,
 author = {Andritsos, Periklis and Miller, Ren{\'e}e J. and Tsaparas, Panayiotis},
 title = {Information-theoretic Tools for Mining Database Structure from Large Data Sets},
 booktitle = {Proceedings of the 2004 ACM SIGMOD International Conference on Management of Data},
 series = {SIGMOD '04},
 year = {2004},
 isbn = {1-58113-859-8},
 location = {Paris, France},
 pages = {731--742},
 numpages = {12},
 doi = {10.1145/1007568.1007650},
 acmid = {1007650},
 publisher = {ACM},
 address = {New York, NY, USA},
 keywords = {schema-inference},
 url = {http://dblab.cs.toronto.edu/project/limbo/docs/sigmod04.pdf}
}

@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}}

@article{Angl08a,
	author = {Angles, Renzo and Gutierrez, Claudio},
	title = {Survey of Graph Database Models},
	year = {2008},
	issue_date = {February 2008},
	publisher = {Association for Computing Machinery},
	address = {New York, NY, USA},
	volume = {40},
	number = {1},
	issn = {0360-0300},
	doi = {10.1145/1322432.1322433},
	journal = {ACM Comput. Surv.},
	month = feb,
	articleno = {1},
	numpages = {39},
	keywords = {hypergraphs, graph databases, graph database models, database models, Database systems, graph query languages, graph integrity constraints}
}

@inproceedings{Anic16a,
author={M. Aniche and G. Bavota and C. Treude and A. V. Deursen and M. A. Gerosa},
booktitle={2016 IEEE International Conference on Software Maintenance and Evolution (ICSME)},
title={A Validated Set of Smells in Model-View-Controller Architectures},
year={2016},
pages={233-243},
keywords={Internet;program diagnostics;source code (software);Web MVC applications;Web MVC smells;brain controller;brain repository;code change-proneness;code comprehension;code defect-proneness;code smells;fat repository;laborious repository method;meddling service;model-view-controller architectures;model-view-controller pattern;open coding;promiscuous controller;Business;Computer architecture;Encoding;Interviews;Service-oriented architecture;Springs;MVC;code smells;model-view-controller;software maintenance},
doi={10.1109/ICSME.2016.12},
month=oct}

@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,
	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.},
	Address = {Oldenburg, Germany},
	Aeres = {ACT},
	Aeresstatus = {aeres12},
	Annote = {internationalconference},
	Author = {Nicolas Anquetil and Jannik Laval},
	Booktitle = {CSMR 2011: Proceedings of the 15th European Conference on Software Maintenance and Reengineering},
	Inria = {RMOD},
	Inriareport = {2011},
	Keywords = {moose-pub lse-pub},
	Labo = {dans},
	Misc = {acceptance rate: 29/82 = 35\%},
	Selectif = {oui},
	Title = {Legacy Software Restructuring: Analyzing a Concrete Case},
	X-Country = {GE},
	X-Editorial-Board = {yes},
	X-International-Audience = {yes},
	X-Language = {EN},
	X-Proceedings = {yes},
	Year = {2011}}

@article{Ansc73a,
	title = {Graphs in statistical analysis},
	author = {Anscombe, Francis J},
	journal = {The American Statistician},
	volume = {27},
	number = {1},
	pages = {17--21},
	year = {1973},
	publisher = {Taylor \& Francis Group}}

@inproceedings{Ansl10a,
 author = {Anslow, Craig and Marshall, Stuart and Noble, James and Tempero, Ewan and Biddle, Robert},
 title = {User Evaluation of Polymetric Views Using a Large Visualization Wall},
 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 = {25--34},
 numpages = {10},
 url = {http://doi.acm.org/10.1145/1879211.1879218},
 doi = {10.1145/1879211.1879218},
 acmid = {1879218},
 publisher = {ACM},
 address = {New York, NY, USA},
 keywords = {large displays, software visualization, user evaluation, visualization wall}
}

@inproceedings{Ansl13a,
author={Anslow, C. and Marshall, S. and Noble, J. and Biddle, R.},
booktitle={Software Visualization (VISSOFT), 2013 First IEEE Working Conference on},
title={SourceVis: Collaborative software visualization for co-located environments},
year={2013},
month=sep,
pages={1-10},
keywords={data visualisation;groupware;multiprogramming;user interfaces;SourceVis design feature;SourceVis visualization feature;colocated environments;multitouch tables;multiuser collaborative software visualization application;software artifacts;software development tools;Collaborative software;Encoding;Keyboards;Measurement;Software;Visualization;Vocabulary;Co-located Environments;Collaborative Software Visualization;Multi-touch Tables;Multi-user},
doi={10.1109/VISSOFT.2013.6650527}
}

@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{Anto08a,
  title={Is it a bug or an enhancement?: a text-based approach to classify change requests},
  author={Antoniol, Giuliano and Ayari, Kamel and Di Penta, Massimiliano and Khomh, Foutse and Gu{\'e}h{\'e}neuc, Yann-Ga{\"e}l},
  booktitle={Proceedings of the 2008 conference of the center for advanced studies on collaborative research: meeting of minds},
  pages={23},
  year={2008},
  organization={ACM}
}

@inproceedings{Anto10a,
 author = {Abi-Antoun, Marwan and Ammar, Nariman and LaToza, Thomas},
 title = {Questions About Object Structure During Coding Activities},
 booktitle = {Proceedings of the 2010 ICSE Workshop on Cooperative and Human Aspects of Software Engineering},
 series = {CHASE '10},
 year = {2010},
 isbn = {978-1-60558-966-4},
 location = {Cape Town, South Africa},
 pages = {64--71},
 numpages = {8},
 url = {http://doi.acm.org/10.1145/1833310.1833321},
 doi = {10.1145/1833310.1833321},
 acmid = {1833321},
 publisher = {ACM},
 Keywords = {dev-questions},
 address = {New York, NY, USA}}

@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}}

@misc{ApacheIsis,
	KEY = {ApacheIsis},
	Title = {{Apache {Isis}}},
	Url = {http://isis.apache.org/}
}

@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{Apel08b,
	Acmid = {1399450},
	Address = {Piscataway, NJ, USA},
	Author = {Apel, Sven and Leich, Thomas and Saake, Gunter},
	Doi = {10.1109/TSE.2007.70770},
	Issn = {0098-5589},
	Issue_Date = {March 2008},
	Journal = {IEEE Trans. Softw. Eng.},
	Keywords = {Design, Design Tools and Techniques, Design Tools and Techniques, Design, Language Constructs and Features, Language Constructs and Features},
	Month = mar,
	Number = {2},
	Numpages = {19},
	Pages = {162--180},
	Publisher = {IEEE Press},
	Title = {Aspectual Feature Modules},
	Url = {http://dx.doi.org/10.1109/TSE.2007.70770},
	Volume = {34},
	Year = {2008},
	Bdsk-Url-1 = {http://dx.doi.org/10.1109/TSE.2007.70770}}

@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}}

@inproceedings{Apiw04a,
 author = {Apiwattanapong, Taweesup and Orso, Alessandro and Harrold, Mary Jean},
 title = {A Differencing Algorithm for Object-Oriented Programs},
 booktitle = {Proceedings of the 19th IEEE international conference on Automated software engineering},
 series = {ASE '04},
 year = {2004},
 isbn = {0-7695-2131-2},
 pages = {2--13},
 numpages = {12},
 acmid = {1025202},
 publisher = {IEEE Computer Society},
 address = {Washington, DC, USA}
}

@article{Apiw07a,
	Acmid = {1265121},
	Address = {Hingham, MA, USA},
	Author = {Apiwattanapong, Taweesup and Orso, Alessandro and Harrold, Mary Jean},
	Doi = {10.1007/s10515-006-0002-0},
	Issn = {0928-8910},
	Issue = {1},
	Journal = {Automated Software Engg.},
	Keywords = {Program differencing, Software evolution},
	Month = mar,
	Numpages = {34},
	Pages = {3--36},
	Publisher = {Kluwer Academic Publishers},
	Title = {JDiff: A differencing technique and tool for object-oriented programs},
	Url = {http://dl.acm.org/citation.cfm?id=1265083.1265121},
	Volume = {14},
	Year = {2007},
	Bdsk-Url-1 = {http://dl.acm.org/citation.cfm?id=1265083.1265121},
	Bdsk-Url-2 = {http://dx.doi.org/10.1007/s10515-006-0002-0}}

@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 cccorelit},
	Note = {with Jens Palsberg},
	Publisher = {Cambridge University Press},
	Title = {Modern compiler implementation in {Java}},
	Year = {2002}}

@inproceedings{Appe09a,
	Address = {New York, NY, USA},
	Author = {Appeltauer, Malte and Hirschfeld, Robert and Haupt, Michael and Lincke, Jens and Perscheid, Michael},
	Booktitle = {COP '09: International Workshop on Context-Oriented Programming},
	Date-Added = {2010-01-27 15:48:51 +0100},
	Date-Modified = {2013-05-03 09:27:14 +0000},
	Doi = {doi.acm.org/10.1145/1562112.1562118},
	Isbn = {978-1-60558-538-3},
	Keywords = {context-oriented; case-study; agenda; context-l},
	Location = {Genova, Italy},
	Pages = {1--6},
	Publisher = {ACM},
	Rating = {3},
	Title = {A comparison of context-oriented programming languages},
	Year = {2009},
	Bdsk-Url-1 = {http://dx.doi.org/10.1145/1562112.1562118}}

@inproceedings{Appe09b,
	Acmid = {1562117},
	Address = {New York, NY, USA},
	Articleno = {5},
	Author = {Appeltauer, Malte and Hirschfeld, Robert and Masuhara, Hidehiko},
	Booktitle = {International Workshop on Context-Oriented Programming},
	Date-Added = {2013-05-30 06:22:08 +0000},
	Date-Modified = {2013-05-30 06:54:39 +0000},
	Doi = {10.1145/1562112.1562117},
	Isbn = {978-1-60558-538-3},
	Keywords = {behavioral variations, context-oriented programming, dynamic scoping, layer activation},
	Location = {Genova, Italy},
	Numpages = {5},
	Pages = {5:1--5:5},
	Publisher = {ACM},
	Series = {COP '09},
	Title = {Improving the development of context-dependent Java applications with ContextJ},
	Url = {http://doi.acm.org/10.1145/1562112.1562117},
	Year = {2009},
	Bdsk-Url-1 = {http://doi.acm.org/10.1145/1562112.1562117},
	Bdsk-Url-2 = {http://dx.doi.org/10.1145/1562112.1562117}}

@article{Appe13a,
	Author = {Malte Appeltauer and Robert Hirschfeld and Jens Lincke},
	Date-Added = {2013-07-04 08:55:20 +0000},
	Date-Modified = {2013-07-04 08:55:39 +0000},
	Doi = {10.5381/jot.2013.12.2.a4},
	Issn = {1660-1769},
	Journal = {Journal of Object Technology},
	Keywords = {context-oriented},
	Month = jun,
	Number = {2},
	Pages = {4:1-37},
	Title = {Declarative Layer Composition with The JCop Programming Language},
	Url = {http://www.jot.fm/contents/issue_2013_06/article4.html},
	Volume = {12},
	Year = {2013},
	Bdsk-Url-1 = {http://www.jot.fm/contents/issue_2013_06/article4.html},
	Bdsk-Url-2 = {http://dx.doi.org/10.5381/jot.2013.12.2.a4}}

@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}}

@inproceedings{Arai14a,
  title={Development and evaluation of Eclipse plugin tool for learning programming style of Java},
  author={Arai, Masayuki},
  booktitle={2014 9th International Conference on Computer Science \& Education},
  pages={495--499},
  year={2014},
  organization={IEEE}
}

@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}}

@article{Aras12a,
	Author = {Arvind Arasu and Surajit Chaudhuri and Zhimin Chen and Kris Ganjam and Raghav Kaushik and Vivek R. Narasayya},
	Ee = {http://sites.computer.org/debull/A12june/cleaning.pdf},
	Journal = {IEEE Data Eng. Bull.},
	Number = {2},
	Pages = {14-23},
	Title = {Experiences with using Data Cleaning Technology for Bing Services},
	Volume = {35},
	Year = {2012}}

@inproceedings{Aray11a,
 author = {Araya, Vanessa Pe\~{n}a},
 title = {Test Blueprint: An Effective Visual Support for Test Coverage},
 booktitle = {Proceedings of the 33rd International Conference on Software Engineering},
 series = {ICSE '11},
 year = {2011},
 isbn = {978-1-4503-0445-0},
 location = {Waikiki, Honolulu, HI, USA},
 pages = {1140--1142},
 numpages = {3},
 url = {http://doi.acm.org/10.1145/1985793.1986022},
 doi = {10.1145/1985793.1986022},
 acmid = {1986022},
 publisher = {ACM},
 address = {New York, NY, USA},
 keywords = {coverage, pharo, testing, visualization}
}

@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,
	Annote = {internationalworkshop},
	Author = {Fontana Francesca Arcelli and Fabrizio Perin and Claudia Raibulet and Stefano Ravani},
	Booktitle = {Proceedings of 4th PCODA at the 15th Working Conference on Reverse Engineering (WCRE 2008)},
	Location = {Antwerp, Belgium},
	Pages = {11-16},
	Title = {Behavioural Design Pattern detection through dynamic analysis},
	Year = {2008}}

@inproceedings{Arce09a,
	Author = {Francesca Arcelli Fontana and Fabrizio Perin and Claudia Raibulet and Stefano Ravani},
	Booktitle = {Proceedings of the 4th International Conference on Evaluation of Novel Approaches to Software Engineering (ENASE)},
	Editor = {Stefan Jablonski and Leszek A. Maciaszek},
	Isbn = {978-989-8111-98-2},
	Location = {Milan, Italy},
	Month = may,
	Pages = {95-106},
	Publisher = {INSTICC Press},
	Title = {JADEPT: Dynamic Analysis for Behavioral Design Pattern Detection},
	Year = {2009}}

@inproceedings{Arce09b,
	Author = {Arcelli Fontana Francesca and Perin Fabrizio and Raibulet Claudia and Ravani Stefano},
	Booktitle = {4th Intenational Conference on Evaluation of Novel Approaches to Software Engineering (ENASE'09)},
	Month = may,
	Note = {Stefan Jablonski and Leszek Maciaszek (eds.)},
	Pages = {95-106},
	Publisher = {INSTICC},
	Title = {JADEPT: Behavioral Design Pattern Detection through Dynamic Analysis},
	Year = {2009}}

@inproceedings{Arce10a,
	Address = {Athens, Greece},
	Author = {Arcelli Fontana, Francesca and Gianluigi Viscusi and Marco Zanoni},
	Booktitle = {ICSOFT 2010 - Proceedings of the Fifth International Conference on Software and Data Technologies},
	Editor = {Jos{\'e} A. Moinhos Cordeiro, Maria Virvou and Boris Shishkov},
	Isbn = {978-989-8425-23-2},
	Month = jul,
	Pages = {208-213},
	Publisher = {SciTePress},
	Title = {Unifying Software and Data Reverse Engineering - A Pattern based Approach},
	Volume = {2},
	Year = {2010}}

@article{Arce11a,
	Abstract = {It is well known that software maintenance and evolution are expensive
	activities, both in terms of invested time and money. Reverse engineering
	activities support the obtainment of abstractions and views from
	a target system that should help the engineers to maintain, evolve
	and eventually re-engineer it. Two important tasks pursued by reverse
	engineering are design pattern detection and software architecture
	reconstruction, whose main objectives are the identification of the
	design patterns that have been used in the implementation of a system
	as well as the generation of views placed at different levels of
	abstractions, which let the practitioners focus on the overall architecture
	of the system without worrying about the programming details it has
	been implemented with. In this context we propose an Eclipse plug-in
	called MARPLE (Metrics and Architecture Reconstruction Plug-in for
	Eclipse), which supports both the detection of design patterns and
	software architecture reconstruction activities through the use of
	basic elements and metrics that are mechanically extracted from the
	source code. The development of this platform is mainly based on
	the exploitation of the Eclipse framework and plug-ins as well as
	of different Java libraries for data access and graph management
	and visualization. In this paper we focus our attention on the design
	pattern detection process},
	Author = {Arcelli Fontana, Francesca and Zanoni, Marco},
	Doi = {10.1016/j.ins.2010.12.002},
	Journal = {Information Sciences},
	Month = apr,
	Number = {7},
	Pages = {1306--1324},
	Title = {A tool for design pattern detection and software architecture reconstruction},
	Volume = {181},
	Year = {2011},
	Bdsk-Url-1 = {http://dx.doi.org/10.1016/j.ins.2010.12.002}}

@article{Arce11b,
	Author = {Arcelli Fontana, Francesca and Marco Zanoni and Stefano Maggioni},
	Doi = {10.5381/jot.2011.10.1.a4},
	Issn = {1660-1769},
	Journal = {Journal of Object Technology},
	Pages = {4:1-31},
	Title = {Using Design Pattern Clues to Improve the Precision of Design Pattern Detection Tools},
	Url = {http://www.jot.fm/contents/issue_2011_01/article4.html},
	Volume = {10},
	Year = {2011},
	Bdsk-Url-1 = {http://www.jot.fm/contents/issue_2011_01/article4.html},
	Bdsk-Url-2 = {http://dx.doi.org/10.5381/jot.2011.10.1.a4}}

@misc{ArchGenXML,
	Key = {ArchGenXML},
	Note = {http://plone.org/products/archgenxml},
	Title = {{ArchGenXML}}}

@inproceedings{Arcu11a,
 author = {Arcuri, Andrea and Briand, Lionel},
 title = {A Practical Guide for Using Statistical Tests to Assess Randomized Algorithms in Software Engineering},
 booktitle = {Proceedings of the 33rd International Conference on Software Engineering},
 series = {ICSE '11},
 year = {2011},
 isbn = {978-1-4503-0445-0},
 location = {Waikiki, Honolulu, HI, USA},
 pages = {1--10},
 numpages = {10},
 url = {http://doi.acm.org/10.1145/1985793.1985795},
 doi = {10.1145/1985793.1985795},
 acmid = {1985795},
 publisher = {ACM},
 address = {New York, NY, USA},
 keywords = {bonferroni adjustment, confidence interval, effect size, non-parametric test, parametric test, statistical difference, survey, systematic review}
}

@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 scg-none 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 scg-none 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 scg-none 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 scg-none 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 scg-none 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 scg-none 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 scg-none 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 scg-none 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.},
	Acceptnum = {33},
	Accepttotal = {81},
	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 scg-none jb05 recast05 stefPub moose-pub},
	Location = {Manchester, United Kingdom},
	Misc = {acceptance rate: 33/81 = 41\%},
	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 scg-none 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,
	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.},
	Author = {Gabriela Ar\'evalo and St\'ephane Ducasse and Silvia Gordillo and Oscar Nierstrasz},
	Doi = {10.1016/j.infsof.2010.05.010},
	Issn = {0950-5849},
	Journal = {Information and Software Technology},
	Keywords = {scg-sub jb11 snf10 fca arevalo evol11 moose-pub},
	Month = dec,
	Number = {11},
	Pages = {1167-1187},
	Title = {Generating a catalog of unanticipated schemas in class hierarchies using Formal Concept Analysis},
	Url = {http://scg.unibe.ch/archive/papers/Arev10aClassHierarchies.pdf},
	Volume = {52},
	Year = {2010},
	Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Arev10aClassHierarchies.pdf},
	Bdsk-Url-2 = {http://dx.doi.org/10.1016/j.infsof.2010.05.010}}

@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,
	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.},
	Author = {Arisholm, E. and Briand, L.C. and Foyen, A.},
	Doi = {10.1109/TSE.2004.41},
	Issn = {0098-5589},
	Journal = {Software Engineering, IEEE Transactions on},
	Month = aug,
	Number = {8},
	Pages = {491-506},
	Title = {Dynamic coupling measurement for object-oriented software},
	Volume = {30},
	Year = {2004},
	Bdsk-Url-1 = {http://dx.doi.org/10.1109/TSE.2004.41}}

@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}}

@article{Aris10a,
	Acmid = {1663909},
	Address = {New York, NY, USA},
	Author = {Arisholm, Erik and Briand, Lionel C. and Johannessen, Eivind B.},
	Doi = {10.1016/j.jss.2009.06.055},
	Issn = {0164-1212},
	Issue_Date = {January, 2010},
	Journal = {J. Syst. Softw.},
	Keywords = {Cost-effectiveness, Fault prediction models, Verification},
	Month = jan,
	Number = {1},
	Numpages = {16},
	Pages = {2--17},
	Publisher = {Elsevier Science Inc.},
	Title = {A Systematic and Comprehensive Investigation of Methods to Build and Evaluate Fault Prediction Models},
	Url = {http://dx.doi.org/10.1016/j.jss.2009.06.055},
	Volume = {83},
	Year = {2010},
	Bdsk-Url-1 = {http://dx.doi.org/10.1016/j.jss.2009.06.055}}

@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)},
	Keywords = {smalltalklite},
	Month = jul,
	Publisher = {LNCS Springer Verlag},
	Title = {Read-Only Execution for Dynamic Languages},
	Url = {http://www.bergel.eu/download/papers/Berg10eReadOnly.pdf},
	Year = {2010},
	Bdsk-Url-1 = {http://www.bergel.eu/download/papers/Berg10eReadOnly.pdf}}

@inproceedings{Arna10b,
  title={Physical and conceptual identifier dispersion: Measures and relation to fault proneness},
  author={Arnaoudova, Venera and Eshkevari, Laleh and Oliveto, Rocco and Gueheneuc, Yann-Gael and Antoniol, Giuliano},
  booktitle={2010 IEEE International Conference on Software Maintenance},
  pages={1--5},
  year={2010},
  organization={IEEE}
}

@phdthesis{Arna13a,
	Author = {Jean-Baptiste Arnaud},
	School = {Universit{\'e} des Sciences et Technologies de Lille},
	Title = {Towards First Class References as a Security Infrastructure in Dynamically-Typed Languages},
	Year = {2013}}

@article{Arna16a,
  author    = {Venera Arnaoudova and
               Massimiliano Di Penta and
               Giuliano Antoniol},
  title     = {Linguistic antipatterns: what they are and how developers perceive
               them},
  journal   = {Empir. Softw. Eng.},
  volume    = {21},
  number    = {1},
  pages     = {104--158},
  year      = {2016},
  url       = {https://doi.org/10.1007/s10664-014-9350-8},
  doi       = {10.1007/s10664-014-9350-8},
  keywords =  {comment-quality-slr},
  timestamp = {Tue, 25 Aug 2020 16:58:56 +0200},
  biburl    = {https://dblp.org/rec/journals/ese/ArnaoudovaPA16.bib},
  bibsource = {dblp computer science bibliography, https://dblp.org}
}

@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,
	Acmid = {378832},
	Address = {New York, NY, USA},
	Author = {Arnold, Matthew and Ryder, Barbara G.},
	Booktitle = {Proceedings of the ACM SIGPLAN 2001 conference on Programming language design and implementation},
	Doi = {10.1145/378795.378832},
	Isbn = {1-58113-414-2},
	Location = {Snowbird, Utah, United States},
	Numpages = {12},
	Pages = {168--179},
	Publisher = {ACM},
	Series = {PLDI '01},
	Title = {A framework for reducing the cost of instrumented code},
	Url = {http://altair.snu.ac.kr/newhome/kr/course/system_software/2005/Arnold01Sampling.pdf},
	Year = {2001},
	Bdsk-Url-1 = {http://altair.snu.ac.kr/newhome/kr/course/system_software/2005/Arnold01Sampling.pdf},
	Bdsk-Url-2 = {http://dx.doi.org/10.1145/378795.378832}}

@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{Arno05b,
	Acmid = {1048975},
	Address = {Washington, DC, USA},
	Author = {Arnold, Matthew and Grove, David},
	Booktitle = {Proceedings of the international symposium on Code generation and optimization},
	Doi = {10.1109/CGO.2005.9},
	Isbn = {0-7695-2298-X},
	Numpages = {12},
	Pages = {51--62},
	Publisher = {IEEE Computer Society},
	Series = {CGO '05},
	Title = {Collecting and Exploiting High-Accuracy Call Graph Profiles in Virtual Machines},
	Url = {http://dx.doi.org/10.1109/CGO.2005.9},
	Year = {2005},
	Bdsk-Url-1 = {http://dx.doi.org/10.1109/CGO.2005.9}}

@inproceedings{Arth89a,
  title={Assessing the adequacy of documentation through document quality indicators},
  author={Arthur, James D and Stevens, K Todd},
  booktitle={Proceedings. Conference on Software Maintenance-1989},
  pages={40--49},
  year={1989},
  organization={IEEE}
}

@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{Arya09a,
	Acmid = {1578559},
	Address = {Washington, DC, USA},
	Author = {Aryani, Amir and Peake, Ian D. and Hamilton, Margaret and Schmidt, Heinz and Winikoff, Michael},
	Booktitle = {Proceedings of the 2009 Australian Software Engineering Conference},
	Doi = {10.1109/ASWEC.2009.31},
	Isbn = {978-0-7695-3599-9},
	Numpages = {10},
	Pages = {34--43},
	Publisher = {IEEE Computer Society},
	Series = {ASWEC '09},
	Title = {Change Propagation Analysis Using Domain Information},
	Url = {http://dx.doi.org/10.1109/ASWEC.2009.31},
	Year = {2009},
	Bdsk-Url-1 = {http://dx.doi.org/10.1109/ASWEC.2009.31}}

@inproceedings{Arya10a,
	Abstract = {Change propagation has mainly been estimated by maintenance history or source code analysis.
				However, sometimes history and code are inaccessible, or impractical to analyse, such as for
				heterogeneous sources. Previously we hypothesised that change propagation from modifying domain
				level components may be predicted purely from information available to domain users. We proposed
				domain-based change propagation analysis, enabling analysts and domain experts to predict conceptual
				coupling independent of implementation. This paper reports on application of domain-based analysis
				to a significant (enterprise) system. We performed both domain- based analysis and a well known
				history-based analysis and compared the results. Like history-based approaches, domain-based analysis
				reveals coupling between software components, can assist to prevent errors in software maintenance,
				and predict change propagation. We conclude that it may be worth applying to certain kinds of systems
				where established approaches would be considered impractical.},
	Author = {Aryani, A. and Peake, I.D. and Hamilton, M.},
	Booktitle = {Software Maintenance (ICSM), 2010 IEEE International Conference on},
	Doi = {10.1109/ICSM.2010.5609743},
	Issn = {1063-6773},
	Keywords = {domain-based change propagation analysis, enterprise system, history-based analysis, maintenance history, software components, software maintenance, source code analysis, software maintenance},
	Month = sep,
	Pages = {1 -9},
	Title = {Domain-based change propagation analysis: An enterprise system case study},
	Year = {2010},
	Bdsk-Url-1 = {http://dx.doi.org/10.1109/ICSM.2010.5609743}}

@inproceedings{Arya11a,
	Abstract = {Software dependencies play a vital role in program comprehension, change impact
			analysis and other software maintenance activities. Traditionally, these activities are
			supported by source code analysis, however, the source code is sometimes inaccessible,
			and not all stakeholders have adequate knowledge to perform such analysis. For example,
			non-technical domain experts and consultants raise most maintenance requests, however,
			they cannot predict the cost and impact of the requested changes without the support of
			the developers. We propose a novel approach to predict software dependencies by
			exploiting coupling present in domain-level information. Our approach is independent of
			the software implementation, hence, it can be used to evaluate architectural
			dependencies without access to the source code or the database. We evaluate our
			approach with a case study on a large-scale enterprise system, in which we demonstrate
			how up to 68% of the source code dependencies and 77% of the database dependencies are
			predicted solely based on domain information.},
	Author = {Amir Aryani and Fabrizio Perin and Mircea Lungu and Abdun Naser Mahmood and Oscar Nierstrasz},
	Booktitle = {Proceedings of the 18th Working Conference on Reverse Engineering (WCRE 2011)},
	Doi = {10.1109/WCRE.2011.17},
	Issn = {1095-1350},
	Keywords = {internationalconference scg-pub snf-none ercim11 jb12 scg11},
	Medium = {2},
	Month = oct,
	Pages = {55-64},
	Peerreview = {yes},
	Title = {Can We Predict Dependencies Using Domain information?},
	Url = {http://scg.unibe.ch/archive/papers/Aria11aWCRE11.pdf},
	Year = {2011},
	Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Aria11aWCRE11.pdf},
	Bdsk-Url-2 = {http://dx.doi.org/10.1109/WCRE.2011.17}}

@article{Arya14a,
	Abstract = {Software dependencies play a vital role in programme comprehension, change impact
		analysis and other software maintenance activities. Traditionally, these activities are
        supported by source code analysis; however, the source code is sometimes inaccessible or
        difficult to analyse, as in hybrid systems composed of source code in multiple languages
        using various paradigms (e.g. object-oriented programming and relational databases).
        Moreover, not all stakeholders have adequate knowledge to perform such analyses. For
        example, non-technical domain experts and consultants raise most maintenance requests;
        however, they cannot predict the cost and impact of the requested changes without the
        support of the developers. We propose a novel approach to predicting software dependencies
        by exploiting the coupling present in domain-level information. Our approach is
        independent of the software implementation; hence, it can be used to approximate
        architectural dependencies without access to the source code or the database. As such, it
        can be applied to hybrid systems with heterogeneous source code or legacy systems with
        missing source code. In addition, this approach is based solely on information visible and
        understandable to domain users; therefore, it can be efficiently used by domain experts
        without the support of software developers. We evaluate our approach with a case study on
        a large-scale enterprise system, in which we demonstrate how up to 65% of the source code
        dependencies and 77\% of the database dependencies are predicted solely based on domain
        information.},
	Author = {Aryani, Amir and Perin, Fabrizio and Lungu, Mircea and Mahmood, Abdun Naser and Nierstrasz, Oscar},
	Doi = {10.1002/smr.1598},
	Issn = {2047-7481},
	Journal = {Journal of Software: Evolution and Process},
	Keywords = {scg-pub snf-asa1 scg14 jb13 domain-based coupling, architectural dependencies, database dependencies, source code analysis, programme comprehension},
	Peerreview = {yes},
	Medium = {2},
	Annote = {internationaljournal},
	Nb = {Was Arya13a},
	Number = {1},
	Pages = {50--76},
	Title = {Predicting dependencies using domain-based coupling},
	Url = {http://scg.unibe.ch/archive/papers/Arya14aJSME.pdf},
	Volume = {26},
	Year = {2014},
	Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Arya14aJSME.pdf},
	Bdsk-Url-2 = {http://dx.doi.org/10.1002/smr.1598}}

@inproceedings{Asad16a,
	 author = {Asaduzzaman, Muhammad and Ahasanuzzaman, Muhammad and Roy, Chanchal K. and Schneider, Kevin A.},
	 title = {How Developers Use Exception Handling in {Java}?},
	 booktitle = {Proceedings of the 13th International Conference on Mining Software Repositories},
	 series = {MSR '16},
	 year = {2016},
	 isbn = {978-1-4503-4186-8},
	 location = {Austin, Texas},
	 pages = {516--519},
	 numpages = {4},
	 url = {http://doi.acm.org/10.1145/2901739.2903500},
	 doi = {10.1145/2901739.2903500},
	 acmid = {2903500},
	 publisher = {ACM},
	 address = {New York, NY, USA},
	 keywords = {Java, exception, language feature, source code mining}
}

@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{Asve95a,
	Abstract = {Using fuzzy context-free grammars one can easily describe a finite number of ways to derive incorrect strings together with their degree of correctness.  However, in general there is an infinite number of ways to perform a certain task wrongly.  In this paper we introduce a generalization of fuzzy context-free grammars, the so-called fuzzy context-free $K$-grammars, to model the situation of making a finite choice out of an infinity of possible grammatical errors during each context-free derivation step.  Under minor assumptions on the parameter $K$ this model happens to be a very general framework to describe correctly as well as erroneously derived sentences by a single generating mechanism.
    Our first result characterizes the generating capacity of these fuzzy context-free $K$-grammars.  As consequences we obtain: (i) bounds on modeling grammatical errors within the framework of fuzzy context-free grammars, and (ii) the fact that the family of languages generated by fuzzy context-free $K$-grammars shares closure properties very similar to those of the family of ordinary context-free languages.
    The second part of the paper is devoted to a few algorithms to recognize fuzzy context-free languages: viz. a variant of a functional version of Cocke-Younger- Kasami's algorithm and some recursive descent algorithms. These algorithms turn out to be robust in some very elementary sense and they can easily be extended to corresponding parsing algorithms.},
	Address = {Prague, Czech Republic},
	Author = {P.R.J. {Asveld}},
	Booktitle = {Proceedings of the Fourth International Workshop on Parsing Technologies IWPT'95},
	Pages = {14--25},
	Publisher = {Institute of Formal and Applied Linguistics, Charles University},
	Title = {A Fuzzy Approach to Erroneous Inputs in Context-Free Language Recognition},
	Url = {http://doc.utwente.nl/64694/},
	Year = {1995},
	Bdsk-Url-1 = {http://doc.utwente.nl/64694/}}

@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}}

@article{Atla11a,
  title={Sensitivity of different machine learning algorithms to noise},
  author={Atla, Abhinav and Tada, Rahul and Sheng, Victor and Singireddy, Naveen},
  journal={Journal of Computing Sciences in Colleges},
  volume={26},
  number={5},
  pages={96--103},
  year={2011},
  publisher={Consortium for Computing Sciences in Colleges}
}

@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}}

@inproceedings{Atti13a,
  author    = {Dana Movshovitz{-}Attias and
               William W. Cohen},
  title     = {Natural Language Models for Predicting Programming Comments},
  booktitle = {Proceedings of the 51st Annual Meeting of the Association for Computational
               Linguistics, {ACL} 2013, 4-9 August 2013, Sofia, Bulgaria, Volume
               2: Short Papers},
  pages     = {35--40},
  year      = {2013},
  url       = {https://www.aclweb.org/anthology/P13-2007/},
  timestamp = {Mon, 19 Aug 2019 18:09:53 +0200},
  biburl    = {https://dblp.org/rec/conf/acl/Movshovitz-AttiasC13.bib},
  bibsource = {dblp computer science bibliography, https://dblp.org}
}

@inproceedings{Atuk16a,
  title={Situation-oriented requirements elicitation},
  author={Atukorala, Nimanthi L and Chang, Carl K and Oyama, Katsunori},
  booktitle={Computer Software and Applications Conference (COMPSAC), 2016 IEEE 40th Annual},
  volume={1},
  pages={233--238},
  year={2016},
  organization={IEEE}
}

@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}}

@inproceedings{Augu02,
	Author = {Auguston, Mikhail and Jeffery, Clinton and Underwood, Scott},
	Booktitle = {ASE},
	Date = {2003-07-17},
	Isbn = {0-7695-1736-6},
	Pages = {217-222},
	Publisher = {IEEE Computer Society},
	Timestamp = {2003-07-17T00:00:00.000+0200},
	Title = {A Framework for Automatic Debugging.},
	Year = {2002}}

@inproceedings{Aust11a,
	Abstract = {This paper focuses on extensibility, the ability of a programmer using a particular language to extend the expressiveness of that language. This paper explores how to provide an interesting notion of extensibility by virtualizing the interface between code and data. A virtual value is a special value that supports behavioral intercession. When a primitive operation is applied to a virtual value, it invokes a trap on that virtual value. A virtual value contains multiple traps, each of which is a user-defined function that describes how that operation should behave on that value. This paper formalizes the semantics of virtual values, and shows how they enable the definition of a variety of language extensions, including additional numeric types; delayed evaluation; taint tracking; contracts; revokable membranes; and units of measure. We report on our experience implementing virtual values for JavaScript within an extension for the Firefox browser.},
	Address = {New York, NY, USA},
	Author = {Austin, Thomas H. and Disney, Tim and Flanagan, Cormac},
	Booktitle = {Proceedings of the 2011 ACM international conference on Object oriented programming systems languages and applications},
	Citeulike-Article-Id = {10091422},
	Citeulike-Linkout-0 = {http://portal.acm.org/citation.cfm?id=2048136},
	Citeulike-Linkout-1 = {http://dx.doi.org/10.1145/2048066.2048136},
	Doi = {10.1145/2048066.2048136},
	Isbn = {978-1-4503-0940-0},
	Issn = {0362-1340},
	Journal = {SIGPLAN Not.},
	Location = {Portland, Oregon, USA},
	Month = oct,
	Pages = {921--938},
	Posted-At = {2011-12-03 20:36:31},
	Priority = {2},
	Publisher = {ACM},
	Series = {OOPSLA '11},
	Title = {Virtual values for language extension},
	Url = {http://dx.doi.org/10.1145/2048066.2048136},
	Volume = {46},
	Year = {2011},
	Bdsk-Url-1 = {http://dx.doi.org/10.1145/2048066.2048136}}

@misc{Autosar,
	Key = {AUTOSAR},
	Keywords = {automotive automobile damiencbib},
	Title = {{AUTomotive Open System ARchitecture}},
	Url = {http://www.autosar.org/},
	Year = {2010},
	Bdsk-Url-1 = {http://www.autosar.org/}}

@inproceedings{Avdi15a,
 author = {Avdiienko, Vitalii and Kuznetsov, Konstantin and Gorla, Alessandra and Zeller, Andreas and Arzt, Steven and Rasthofer, Siegfried and Bodden, Eric},
 title = {Mining Apps for Abnormal Usage of Sensitive Data},
 booktitle = {Proceedings of the 37th International Conference on Software Engineering - Volume 1},
 series = {ICSE '15},
 year = {2015},
 isbn = {978-1-4799-1934-5},
 location = {Florence, Italy},
 pages = {426--436},
 numpages = {11},
 url = {http://dl.acm.org/citation.cfm?id=2818754.2818808},
 acmid = {2818808},
 publisher = {IEEE Press},
 address = {Piscataway, NJ, USA}
}

@inproceedings{Avge05a,
	Address = {Irsee, Germany},
	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},
	Month = jul,
	Title = {Architectural Patterns Revisited -- a Pattern Language},
	Year = {2005}}

@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{Avgu05b,
	Acmid = {1065026},
	Address = {New York, NY, USA},
	Author = {Avgustinov, Pavel and Christensen, Aske Simon and Hendren, Laurie and Kuzins, Sascha and Lhot\'{a}k, Jennifer and Lhot\'{a}k, Ond\v{r}ej and de Moor, Oege and Sereni, Damien and Sittampalam, Ganesh and Tibble, Julian},
	Booktitle = {Proceedings of the 2005 ACM SIGPLAN conference on Programming language design and implementation},
	Doi = {10.1145/1065010.1065026},
	Isbn = {1-59593-056-6},
	Keywords = {around advice, aspect-oriented programming language, aspectJ, cflow pointcut, optimization},
	Location = {Chicago, IL, USA},
	Numpages = {12},
	Pages = {117--128},
	Publisher = {ACM},
	Series = {PLDI '05},
	Title = {Optimising {AspectJ}},
	Year = {2005},
	Bdsk-Url-1 = {http://dx.doi.org/10.1145/1065010.1065026}}

@book{Avra06a,
	archivePrefix = {arXiv},
	author = {Avram, Abel and Marinescu, Floyd},
	booktitle = {Online},
	doi = {978-0321125217},
	isbn = {1411609255},
	issn = {00155713},
	pages = {104},
	pmid = {12566760},
	title = {{Domain Driven Design Quickly}},
	publisher = {Lulu. com},
	year = {2006}
}

@inproceedings{Axel09a,
	Address = {New York, NY, USA},
	Author = {Axelsen, Eyvind W. and Krogdahl, Stein},
	Booktitle = {DLS '09: Proceedings of the 5th symposium on Dynamic languages},
	Doi = {10.1145/1640134.1640139},
	Isbn = {978-1-60558-769-1},
	Location = {Orlando, Florida, USA},
	Pages = {15--26},
	Publisher = {ACM},
	Title = {Groovy package templates: supporting reuse and runtime adaption of class hierarchies},
	Year = {2009},
	Bdsk-Url-1 = {http://dx.doi.org/10.1145/1640134.1640139}}

@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}}

@article{Ayco03a,
	Acmid = {857077},
	Address = {New York, NY, USA},
	Author = {Aycock, John},
	Doi = {10.1145/857076.857077},
	Issn = {0360-0300},
	Issue = {2},
	Journal = {ACM Comput. Surv.},
	Keywords = {Just-in-time compilation, dynamic compilation},
	Month = {jun},
	Numpages = {17},
	Pages = {97--113},
	Publisher = {ACM},
	Title = {A brief history of just-in-time},
	Volume = {35},
	Year = {2003},
	Bdsk-Url-1 = {http://dx.doi.org/10.1145/857076.857077}}

@inproceedings{Ayew07a,
 author = {Ayewah, Nathaniel and Pugh, William and Morgenthaler, J. David and Penix, John and Zhou, YuQian},
 title = {Using FindBugs on Production Software},
 booktitle = {Companion to the 22Nd ACM SIGPLAN Conference on Object-oriented Programming Systems and Applications Companion},
 series = {OOPSLA '07},
 year = {2007},
 isbn = {978-1-59593-865-7},
 location = {Montreal, Quebec, Canada},
 pages = {805--806},
 numpages = {2},
 url = {http://doi.acm.org/10.1145/1297846.1297897},
 doi = {10.1145/1297846.1297897},
 acmid = {1297897},
 publisher = {ACM},
 address = {New York, NY, USA},
 keywords = {FindBugs, Google, Java, bug patterns, bugs, false positives, software defects, software quality, static analysis}
}

@inproceedings{Ayew08a,
 author = {Ayewah, Nathaniel and Pugh, William},
 title = {A Report on a Survey and Study of Static Analysis Users},
 booktitle = {Proceedings of the 2008 Workshop on Defects in Large Software Systems},
 series = {DEFECTS '08},
 year = {2008},
 isbn = {978-1-60558-051-7},
 location = {Seattle, Washington},
 pages = {1--5},
 numpages = {5},
 url = {http://doi.acm.org/10.1145/1390817.1390819},
 doi = {10.1145/1390817.1390819},
 acmid = {1390819},
 publisher = {ACM},
 address = {New York, NY, USA}}

@article{Ayew08b,
	author={Ayewah, N. and Hovemeyer, D. and Morgenthaler, J.D. and Penix, J. and Pugh, William},
	journal={Software, IEEE},
	title={Using Static Analysis to Find Bugs},
	year={2008},
	volume={25},
	number={5},
	pages={22-29},
	doi={10.1109/MS.2008.130},
	ISSN={0740-7459},
	month=sep}

@article{Ayew08c,
  title = {Experiences Using Static Analysis to Find Bugs},
  author  = {Nathaniel Ayewah and David Hovemeyer and J. David Morgenthaler and John Penix and William Pugh},
  year  = {2008},
  note  = {Special issue on software development tools, September/October (25:5)},
  journal = {IEEE Software},
  pages = {22--29},
  volume  = {25}
}

@inproceedings{Ayew10a,
 author = {Ayewah, Nathaniel and Pugh, William},
 title = {Null Dereference Analysis in Practice},
 booktitle = {Proceedings of the 9th ACM SIGPLAN-SIGSOFT Workshop on Program Analysis for Software Tools and Engineering},
 series = {PASTE '10},
 year = {2010},
 isbn = {978-1-4503-0082-7},
 location = {Toronto, Ontario, Canada},
 pages = {65--72},
 numpages = {8},
 url = {http://doi.acm.org/10.1145/1806672.1806686},
 doi = {10.1145/1806672.1806686},
 acmid = {1806686},
 publisher = {ACM},
 address = {New York, NY, USA},
 keywords = {null pointer dereference, static analysis}
}

@inproceedings{Ayew10b,
 author = {Ayewah, Nathaniel and Pugh, William},
 title = {The Google FindBugs Fixit},
 booktitle = {Proceedings of the 19th International Symposium on Software Testing and Analysis},
 series = {ISSTA '10},
 year = {2010},
 isbn = {978-1-60558-823-0},
 location = {Trento, Italy},
 pages = {241--252},
 numpages = {12},
 url = {http://doi.acm.org/10.1145/1831708.1831738},
 doi = {10.1145/1831708.1831738},
 acmid = {1831738},
 publisher = {ACM},
 address = {New York, NY, USA},
 keywords = {bug patterns, bugs, false positives, findbugs, java, software defects, software quality, static analysis}
}

@article{Azad17a,
  title={Generating API call rules from version history and stack overflow posts},
  author={Azad, Shams and Rigby, Peter C and Guerrouj, Latifa},
  journal={ACM Transactions on Software Engineering and Methodology (TOSEM)},
  volume={25},
  number={4},
  pages={29},
  year={2017},
  publisher={ACM}
}

@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,
	Author = {Franz Baader and Tobias Nipkow},
	Isbn = {0521455200},
	Publisher = {Cambridge University Press},
	Title = {Term Rewriting and All That},
	Year = {1998}}

@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},
	Booktitle = {Proceedings of FAMOOSr 2009 (3rd International Workshop on FAMIX and Moose in Reengineering)},
	Keywords = {moose-pub proj-dicosa pub-iene},
	Title = {Miler - A Tool Infrastructure to Analyze Mailing Lists},
	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)},
	Keywords = {moose-pub proj-dicosa pub-iene},
	Pages = {59-73},
	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)},
	Keywords = {moose-pub proj-dicosa pub-iene},
	Pages = {375-384},
	Publisher = {ACM Press},
	Title = {Linking E-Mails and Source Code Artifacts},
	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)},
	Keywords = {moose-pub proj-dicosa pub-iene},
	Pages = {1-4},
	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)},
	Keywords = {moose-pub proj-dicosa pub-iene},
	Pages = {24-33},
	Title = {Extracting Source Code from E-Mails},
	Year = {2010}}

@inproceedings{Bacc10e,
	Author = {Bacchelli, Alberto and D'Ambros, M. and Lanza, M.},
	Booktitle = {Program Comprehension (ICPC), 2010 IEEE 18th International Conference on},
	Doi = {10.1109/ICPC.2010.47},
	Issn = {1092-8138},
	Pages = {24-33},
	Title = {Extracting Source Code from E-Mails},
	Url = {http://www.inf.usi.ch/faculty/lanza/Downloads/Bacc2010d.pdf},
	Year = {2010},
	Bdsk-Url-1 = {http://www.inf.usi.ch/faculty/lanza/Downloads/Bacc2010d.pdf},
	Bdsk-Url-2 = {http://dx.doi.org/10.1109/ICPC.2010.47}}

@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)},
	Keywords = {moose-pub proj-sosya pub-iene},
	Pages = {15-24},
	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{Bacc13a,
 author = {Bacchelli, Alberto and Bird, Christian},
 title = {Expectations, Outcomes, and Challenges of Modern Code Review},
 booktitle = {Proceedings of the 2013 International Conference on Software Engineering},
 series = {ICSE '13},
 year = {2013},
 isbn = {978-1-4673-3076-3},
 location = {San Francisco, CA, USA},
 pages = {712--721},
 numpages = {10},
 url = {http://dl.acm.org/citation.cfm?id=2486788.2486882},
 acmid = {2486882},
 publisher = {IEEE Press},
 address = {Piscataway, NJ, USA}
}

@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}}

@inproceedings{Bach10a,
  title={The missing links: bugs and bug-fix commits},
  author={Bachmann, Adrian and Bird, Christian and Rahman, Foyzur and Devanbu, Premkumar and Bernstein, Abraham},
  booktitle={Proceedings of the eighteenth ACM SIGSOFT international symposium on Foundations of software engineering},
  pages={97--106},
  year={2010},
  organization={ACM}
}

@inproceedings{Bach14a,
 author = {Bach, Benjamin and Pietriga, Emmanuel and Fekete, Jean-Daniel},
 title = {Visualizing Dynamic Networks with Matrix Cubes},
 booktitle = {Proceedings of the SIGCHI Conference on Human Factors in Computing Systems},
 series = {CHI '14},
 year = {2014},
 isbn = {978-1-4503-2473-1},
 location = {Toronto, Ontario, Canada},
 pages = {877--886},
 numpages = {10},
 url = {http://doi.acm.org/10.1145/2556288.2557010},
 doi = {10.1145/2556288.2557010},
 acmid = {2557010},
 publisher = {ACM},
 address = {New York, NY, USA},
 keywords = {dynamic networks, information visualization, interaction, metaphors, multiple views}
}

@inproceedings{Bach14b,
  TITLE = {{A Review of Temporal Data Visualizations Based on Space-Time Cube Operations}},
  AUTHOR = {Bach, Benjamin and Dragicevic, Pierre and Archambault, Daniel and Hurter, Christophe and Carpendale, Sheelagh},
  URL = {https://hal.inria.fr/hal-01006140},
  BOOKTITLE = {{Eurographics Conference on Visualization}},
  ADDRESS = {Swansea, Wales, United Kingdom},
  YEAR = {2014},
  MONTH = jun,
  PDF = {https://hal.inria.fr/hal-01006140/file/spacetime-authorversion.pdf},
  HAL_ID = {hal-01006140},
  HAL_VERSION = {v1}
}

@article{Bach14c,
 author = {Bach, Benjamin and Pietriga, Emmanuel and Fekete, Jean-Daniel},
 title = {GraphDiaries: Animated Transitions and Temporal Navigation for Dynamic Networks},
 journal = {IEEE Transactions on Visualization and Computer Graphics},
 issue_date = {May 2014},
 volume = {20},
 number = {5},
 month = may,
 year = {2014},
 issn = {1077-2626},
 pages = {740--754},
 numpages = {15},
 url = {http://dx.doi.org/10.1109/TVCG.2013.254},
 doi = {10.1109/TVCG.2013.254},
 acmid = {2720457},
 publisher = {IEEE Educational Activities Department},
 address = {Piscataway, NJ, USA}
}

@article {Bach15a,
author = {Bach, B. and Henry-Riche, N. and Dwyer, T. and Madhyastha, T. and Fekete, J-D. and Grabowski, T.},
title = {Small MultiPiles: Piling Time to Explore Temporal Patterns in Dynamic Networks},
journal = {Computer Graphics Forum},
volume = {34},
number = {3},
issn = {1467-8659},
url = {http://dx.doi.org/10.1111/cgf.12615},
doi = {10.1111/cgf.12615},
pages = {31--40},
year = {2015}
}

@conference{Back59a,
	Author = {John Warner Backus},
	Booktitle = {Proceedings of the International Conference on Information Processing},
	Pages = {125--132},
	Title = {The syntax and semantics of the proposed international algebraic language of the {Zurich} {ACM-GAMM} conference},
	Year = {1959}}

@book{Back79a,
	author    = {Backhouse, Roland C.},
	title     = {Syntax of Programming Languages: Theory and Practice},
	year      = {1979},
	isbn      = {0138799997},
	publisher = {Prentice-Hall, Inc.},
	address   = {Upper Saddle River, NJ, USA}
}

@article{Baco96a,
	Acmid = {236371},
	Address = {New York, NY, USA},
	Author = {Bacon, David F. and Sweeney, Peter F.},
	Doi = {10.1145/236338.236371},
	Issn = {0362-1340},
	Issue_Date = {Oct. 1996},
	Journal = {SIGPLAN Not.},
	Month = oct,
	Number = {10},
	Numpages = {18},
	Pages = {324--341},
	Publisher = {ACM},
	Title = {Fast Static Analysis of {C++} Virtual Function Calls},
	Url = {http://doi.acm.org/10.1145/236338.236371},
	Volume = {31},
	Year = {1996},
	Bdsk-Url-1 = {http://doi.acm.org/10.1145/236338.236371},
	Bdsk-Url-2 = {http://dx.doi.org/10.1145/236338.236371}}

@article{Baco96b,
  title={Rapid type analysis for C++},
  author={Bacon, David F and Wegman, M and Zadeck, K},
  journal={Rapport technique},
  year={1996}
}

@phdthesis{Baco97a,
	Author = {David Bacon},
	Month = dec,
	School = {University of California},
	Title = {Fast and Eective Optimization of Statically Typed Object-Oriented Languages},
	Url = {http://researcher.watson.ibm.com/researcher/files/us-bacon/Bacon97PhD.pdf},
	Year = {1997}}

@book{Baco98a,
	Author = {Jean Bacon},
	Isbn = {0-201-17767-6},
	Keywords = {concurrence scglib},
	Publisher = {Addison Wesley},
	Title = {Concurrent Systems},
	Year = {1998}}

@inproceedings{Baco03a,
	Acmid = {604155},
	Address = {New York, NY, USA},
	Author = {Bacon, David F. and Cheng, Perry and Rajan, V. T.},
	Booktitle = {Proceedings of the 30th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages},
	Doi = {10.1145/604131.604155},
	Isbn = {1-58113-628-5},
	Keywords = {defragmentation, read barrier, real-time scheduling, utilization},
	Location = {New Orleans, Louisiana, USA},
	Numpages = {14},
	Pages = {285--298},
	Publisher = {ACM},
	Series = {POPL '03},
	Title = {A Real-time Garbage Collector with Low Overhead and Consistent Utilization},
	Url = {http://doi.acm.org/10.1145/604131.604155},
	Year = {2003},
	Bdsk-Url-1 = {http://doi.acm.org/10.1145/604131.604155},
	Bdsk-Url-2 = {http://dx.doi.org/10.1145/604131.604155}}

@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}}

@inproceedings{Bads20a,
  author    = {Sher Badshah and
               Arif Ali Khan and
               Bilal Khan},
  editor    = {Jingyue Li and
               Letizia Jaccheri and
               Torgeir Dings{\o}yr and
               Ruzanna Chitchyan},
  title     = {Towards Process Improvement in DevOps: {A} Systematic Literature Review},
  booktitle = {{EASE} '20: Evaluation and Assessment in Software Engineering, Trondheim,
               Norway, April 15-17, 2020},
  pages     = {427--433},
  publisher = {{ACM}},
  year      = {2020},
  url       = {https://doi.org/10.1145/3383219.3383280},
  doi       = {10.1145/3383219.3383280},
  timestamp = {Wed, 06 May 2020 15:01:55 +0200},
  biburl    = {https://dblp.org/rec/conf/ease/BadshahKK20.bib},
  bibsource = {dblp computer science bibliography, https://dblp.org}}

@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 scg-none 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}}

@inproceedings{Bafa19a,
  title={Python coding style compliance on stack overflow},
  author={Bafatakis, Nikolaos and Boecker, Niels and Boon, Wenjie and Salazar, Martin Cabello and Krinke, Jens and Oznacar, Gazi and White, Robert},
  booktitle={2019 IEEE/ACM 16th International Conference on Mining Software Repositories (MSR)},
  pages={210--214},
  year={2019},
  organization={IEEE}
}

@article{Bahd14a,
  title={Neural machine translation by jointly learning to align and translate},
  author={Bahdanau, Dzmitry and Cho, Kyunghyun and Bengio, Yoshua},
  journal={arXiv preprint arXiv:1409.0473},
  year={2014}
}

@article{Bahl86,
	 author = {Bahlke, Rolf and Snelting, Gregor},
	 title = {The {PSG} System: From Formal Language Definitions to Interactive Programming Environments},
	 journal = {ACM Trans. Program. Lang. Syst.},
	 issue_date = {Oct. 1986},
	 volume = {8},
	 number = {4},
	 month = aug,
	 year = {1986},
	 issn = {0164-0925},
	 pages = {547--576},
	 numpages = {30},
	 url = {http://doi.acm.org/10.1145/6465.20890},
	 doi = {10.1145/6465.20890},
	 acmid = {20890},
	 publisher = {ACM},
	 address = {New York, NY, USA}
}

@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{Bair97a,
author={D. Bairagi and S. Kumar and D. P. Agrawal},
booktitle={Parallel Processing, 1997., Proceedings of the 1997 International Conference on},
title={Precise call graph construction for OO programs in the presence of virtual functions},
year={1997},
pages={412-416},
keywords={object-oriented programming;optimising compilers;parallelising compilers;C++ programs;Sage++;exact type information;object oriented programming;optimizing compiler;parallelizing compiler;precise call graph construction;program analysis techniques;restructuring tool;static class hierarchy;virtual functions;virtual-function calls;Algorithm design and analysis;Data analysis;Dynamic programming;Functional programming;Information analysis;Optimizing compilers;Parallel processing;Parallel programming;Program processors;Spine},
doi={10.1109/ICPP.1997.622674},
ISSN={0190-3918},
month=aug}

@inproceedings{Baja14a,
  author    = {Bajaj, Kartik and Pattabiraman, Karthik and Mesbah, Ali},
  title     = {Mining Questions Asked by Web Developers},
  booktitle = {Proceedings of the 11th Working Conference on Mining Software Repositories},
  year = {2014},
  series    = {MSR 2014},
  publisher = {ACM},
  location  = {New York, NY, USA},
  isbn      = {978-1-4503-2863-0},
  pages     = {112--121},
  doi       = {10.1145/2597073.2597083},
  urldate   = {2017-08-07},
  abstract  = {Modern web applications consist of a significant amount of client- side code, written in JavaScript, HTML, and CSS. In this paper, we present a study of common challenges and misconceptions among web developers, by mining related questions asked on Stack Over- flow. We use unsupervised learning to categorize the mined questions and define a ranking algorithm to rank all the Stack Overflow questions based on their importance. We analyze the top 50 questions qualitatively. The results indicate that (1) the overall share of web development related discussions is increasing among developers, (2) browser related discussions are prevalent; however, this share is decreasing with time, (3) form validation and other DOM related discussions have been discussed consistently over time, (4) web related discussions are becoming more prevalent in mobile development, and (5) developers face implementation issues with new HTML5 features such as Canvas. We examine the implications of the results on the development, research, and standardization communities.},
  keywords  = {Stack Overflow, Text Mining, Topic Modeling, Web Developers, dev-questions}}

@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},
	Priority = {0},
	Publisher = {ACM},
	Title = {Sourcerer: a search engine for open source code supporting structure-based search},
	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},
	Volume = {0},
	Year = {2009},
	Bdsk-Url-1 = {http://dx.doi.org/10.1109/SUITE.2009.5070010}}

@misc{Bajr09b,
	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).},
	Annote = {notrefereed},
	Author = {Sushil Bajracharya and Adrian Kuhn and Yunwen Ye},
	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},
	Peerreview = {no},
	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},
	Year = {2009},
	Bdsk-Url-1 = {http://dx.doi.org/10.1109/ICSE-COMPANION.2009.5071054}}

@misc{Bajr10a,
	Abstract = {{SUITE} is a workshop that focuses on exploring the notion of search as a fundamental activity during software development. The first edition of {SUITE} ({SUITE} 2009 [4]) was held at {ICSE} 2009. {SUITE} 2010, like its predecessor, devotes its attention to various research topics pertaining to the information needs of software developers. In {SUITE} 2010, we plan to emphasize open issues identified in {SUITE} 2009. We aim to continue building an active network of people interested in the research area that {SUITE} addresses.},
	Address = {New York, NY, USA},
	Annote = {notrefereed},
	Author = {Bajracharya, Sushil and Kuhn, Adrian and Ye, Yunwen},
	Booktitle = {Proceedings of the 32nd ACM/IEEE International Conference on Software Engineering - Volume 2},
	Doi = {10.1145/1810295.1810412},
	Isbn = {978-1-60558-719-6},
	Keywords = {akuhn},
	Location = {Cape Town, South Africa},
	Pages = {427--428},
	Peerreview = {no},
	Priority = {2},
	Publisher = {ACM},
	Series = {ICSE '10},
	Title = {{SUITE} 2010: 2nd International Workshop on {Search-Driven} Development - Users, Infrastructure, Tools \& Evaluation},
	Year = {2010},
	Bdsk-Url-1 = {http://dx.doi.org/10.1145/1810295.1810412}}

@misc{Bajr11a,
	Abstract = {{SUITE} is a workshop that focuses on exploring the notion of search as a fundamental activity during software development. The first two editions of {SUITE} were held at {ICSE} 2009/2010 [1, 2], and they have focused on the building of a research community that brings researchers and practioners who are interested in the research areas that {SUITE} addresses. While this thrid workshop continues the effort of community building, it puts more focus on addressing directly some of the urgent issues identified by previous two workshops, encouraging researchers to contribute to and take advantage of common datasets that we have started assembling for {SUITE} research.},
	Address = {New York, NY, USA},
	Annote = {notrefereed},
	Author = {Bajracharya, Sushil and Kuhn, Adrian and Ye, Yunwen},
	Booktitle = {Proceeding of the 33rd international conference on Software engineering},
	Doi = {10.1145/1985793.1986059},
	Isbn = {978-1-4503-0445-0},
	Keywords = {akuhn},
	Location = {Waikiki, Honolulu, HI, USA},
	Pages = {1228--1229},
	Peerreview = {no},
	Priority = {2},
	Publisher = {ACM},
	Series = {ICSE '11},
	Title = {Third international workshop on search-driven development: users, infrastructure, tools, and evaluation ({SUITE} 2011)},
	Year = {2011},
	Bdsk-Url-1 = {http://dx.doi.org/10.1145/1985793.1986059}}

@article{Bajr14a,
	Acmid = {2537326},
	Address = {Amsterdam, The Netherlands, The Netherlands},
	Author = {Bajracharya, Sushil and Ossher, Joel and Lopes, Cristina},
	Doi = {10.1016/j.scico.2012.04.008},
	Issn = {0167-6423},
	Issue_Date = {January, 2014},
	Journal = {Sci. Comput. Program.},
	Month = jan,
	Numpages = {19},
	Pages = {241--259},
	Publisher = {Elsevier North-Holland, Inc.},
	Title = {Sourcerer: An Infrastructure for Large-scale Collection and Analysis of Open-source Code},
	Url = {http://dx.doi.org/10.1016/j.scico.2012.04.008},
	Volume = {79},
	Year = {2014},
	Bdsk-Url-1 = {http://dx.doi.org/10.1016/j.scico.2012.04.008}}

@article{Bajw09a,
  title={Object oriented software modeling using NLP based knowledge extraction},
  author={Bajwa, Imran Sarwar and Samad, Ali and Mumtaz, Shahzad},
  journal={European Journal of Scientific Research},
  volume={35},
  number={01},
  pages={22--33},
  year={2009}
}

@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}}

@article{Bake77a,
 author = {Baker,Jr., Henry C. and Hewitt, Carl},
 title = {The Incremental Garbage Collection of Processes},
 journal = {SIGPLAN Not.},
 issue_date = {August 1977},
 volume = {12},
 number = {8},
 month = aug,
 year = {1977},
 issn = {0362-1340},
 pages = {55--59},
 numpages = {5},
 url = {http://doi.acm.org/10.1145/872734.806932},
 doi = {10.1145/872734.806932},
 acmid = {806932},
 publisher = {ACM},
 address = {New York, NY, USA},
 keywords = {Eager evaluation, Garbage collection, Lazy evaluation, Multiprocessing systems, Processor scheduling}}

@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}
}

@inproceedings{Baks12a,
 author = {Bakshy, Eytan and Rosenn, Itamar and Marlow, Cameron and Adamic, Lada},
 title = {The Role of Social Networks in Information Diffusion},
 booktitle = {Proceedings of the 21st International Conference on World Wide Web},
 series = {WWW '12},
 year = {2012},
 isbn = {978-1-4503-1229-5},
 location = {Lyon, France},
 pages = {519--528},
 numpages = {10},
 url = {http://doi.acm.org/10.1145/2187836.2187907},
 doi = {10.1145/2187836.2187907},
 acmid = {2187907},
 publisher = {ACM},
 address = {New York, NY, USA},
 keywords = {causality, social influence, tie strength, digitalization}
}

@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}}

@inproceedings{Bala05a,
 author = {Balaban, Ittai and Tip, Frank and Fuhrer, Robert},
 title = {Refactoring Support for Class Library Migration},
 booktitle = {Proceedings of the 20th Annual ACM SIGPLAN Conference on Object-oriented Programming, Systems, Languages, and Applications},
 series = {OOPSLA '05},
 year = {2005},
 isbn = {1-59593-031-0},
 location = {San Diego, CA, USA},
 pages = {265--279},
 numpages = {15},
 url = {http://doi.acm.org/10.1145/1094811.1094832},
 doi = {10.1145/1094811.1094832},
 acmid = {1094832},
 publisher = {ACM},
 address = {New York, NY, USA}
}

@inproceedings{Bala13a,
author={Vipin Balachandran},
booktitle={ICSE'13: Proceedings of 35th International Conference on Software Engineering},
title={Reducing human effort and improving quality in peer code reviews using automatic static analysis and reviewer recommendation},
year={2013},
pages={931-940},
keywords={program diagnostics;program testing;software engineering;Review Bot tool;automatic static analysis;coding standard violation checking automation;comment message;cost-effective software defect detection technique;defect pattern;developer feedback;file change history;peer code review;quality improvement;reviewer recommendation;source code line change history;static analysis tools;tool assisted code review;Algorithm design and analysis;Encoding;History;Inspection;Java;Software;Standards},
doi={10.1109/ICSE.2013.6606642},
ISSN={0270-5257},
month=may}

@inproceedings{Bala13b,
author={V. Balachandran},
booktitle={Proceedings of SCAM'13 (IEEE 13th International Working Conference on Source Code Analysis and Manipulation)},
title={Fix-it: An extensible code auto-fix component in Review Bot},
year={2013},
pages={167-172},
keywords={high level languages;human factors;program debugging;program diagnostics;software quality;software reviews;software tools;source coding;tree data structures;AST transformations;DOM tree;Fix-it;Review Bot administrators;XPath;XQuery UPDATE expressions;abstract syntax tree transformations;auto-reviewer component;automatic review generation;checked-in source code;code review quality;coding standard violations;defect patterns;extensible code auto-fix component;high-level programming language;human effort;software life cycle;source code issues;static analysis output;static analysis techniques;tool-assisted code review;unmaintainable code;Abstracts;Conferences;Encoding;Java;Standards;XML},
doi={10.1109/SCAM.2013.6648198},
month=sep}

@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}}

@article{Bald14a,
	title = {Requirements for tools for comprehending highly specialized assembly language code and how to elicit these requirements},
	author = {Baldwin, Jennifer and Teh, Alvin and Baniassad, Elisa and van Rooy, Dirk and Coady, Yvonne},
	journal = {Requirements Engineering},
	year = {2014},
	pages = {1--29},
	publisher = {Springer}}

@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 scg-none 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 snf-none 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{Ball92a,
	 author = {Ballance, Robert A. and Graham, Susan L. and Van De Vanter, Michael L.},
	 title = {The {Pan} Language-based Editing System},
	 journal = {ACM Trans. Softw. Eng. Methodol.},
	 issue_date = {Jan. 1992},
	 volume = {1},
	 number = {1},
	 month = jan,
	 year = {1992},
	 issn = {1049-331X},
	 pages = {95--127},
	 numpages = {33},
	 url = {http://doi.acm.org/10.1145/125489.122804},
	 doi = {10.1145/125489.122804},
	 acmid = {122804},
	 publisher = {ACM},
	 address = {New York, NY, USA},
	 keywords = {Ladle, Pan, coherent user interfaces, colander, contextual constraint, extension facilities, grammatical abstraction, interactive programming environment, logic programming, logical constraint grammar, reason maintenance, syntax-recognizing editor, tolerance for errors and anomalies}
}

@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{Ball10a,
	Address = {Reno/Tahoe, NV, USA},
	Author = {Balland, Emilie and Consel, Charles},
	Booktitle = {PSIEtA'10: Proceedings of the 1st International Workshop on Programming Support Innovations for Emerging Distributed Applications},
	Month = nov,
	Publisher = {ACM Digital Library},
	Title = {Open Platforms: New Challenges for Software Engineering},
	Year = {2010}}

@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}}

@techreport{Bals10a,
	Abstract = {The Eclipse IDE only provides static views of the source code,
		thus missing runtime information of a software system. In a polymorphic
		object-oriented language like Java, however, it is difficult to understand
		the runtime behavior and therefore maintain the features of an application
		based on the static source code alone. We present BOA, an Eclipse plug-in
		representing features and supporting developers in bug fixing. BOA is able to
		record features in terms of dynamic information stored in an invocation tree,
		to graphically represent recorded features and to present metrics calculated
		based on the dynamic information of a feature. The focus of BOA is the simple
		and user friendly use by creating a single compact view, XML storage, and an
		open and a flexible recording mechanism based on aspects. We describe the BOA
		plug-in and all the techniques applied to implement feature recording,
		transmission and analysis. Finally, we analyze BOA's performance by
		experimenting with different recording techniques and evaluate the use of the
		plug-in by means of a case study. For this evaluation we create a set of
		scenarios to measure the performance impact of different recording techniques
		and document the use of BOA in different real-world software systems.},
	Author = {Markus Balsiger},
	Institution = {University of Bern},
	Keywords = {snf-none scg-bp scg10 jb11 boa},
	Month = nov,
	Title = {Representing Software Features in the {Eclipse} {IDE}},
	Type = {Bachelor's thesis},
	Url = {http://scg.unibe.ch/archive/projects/Bals10a-BOA.pdf},
	Year = {2010},
	Bdsk-Url-1 = {http://scg.unibe.ch/archive/projects/Bals10a-BOA.pdf}}

@techreport{Bals10b,
	Abstract = {This document is a quick-start guide to developers which are about to create a plug-in for the
			Eclipse IDE. We discuss the basic project setup of the plug-in as well as the so-called extension
			points of Eclipse. As a quick tutorial, we create a sample plug-in with a few simple features on the
			fly.},
	Author = {Markus Balsiger},
	Institution = {University of Bern},
	Keywords = {snf-none scg-bp scg10 jb11},
	Month = dec,
	Title = {A Quick-Start Tutorial to {Eclipse} Plug-in Development},
	Type = {Bachelor's thesis, supplementary documentation},
	Url = {http://scg.unibe.ch/archive/projects/Bals10b-EclipsePlugins.pdf},
	Year = {2010},
	Bdsk-Url-1 = {http://scg.unibe.ch/archive/projects/Bals10b-EclipsePlugins.pdf}}

@article{Balt19a,
  title={Usage and attribution of stack overflow code snippets in github projects},
  author={Baltes, Sebastian and Diehl, Stephan},
  journal={Empirical Software Engineering},
  volume={24},
  number={3},
  pages={1259--1295},
  year={2019},
  publisher={Springer}
}

@inproceedings{Balz69a,
 author = {Balzer, R. M.},
 title = {EXDAMS: Extendable Debugging and Monitoring System},
 booktitle = {Proceedings of the May 14-16, 1969, Spring Joint Computer Conference},
 series = {AFIPS '69 (Spring)},
 year = {1969},
 location = {Boston, Massachusetts},
 pages = {567--580},
 numpages = {14},
 url = {http://doi.acm.org/10.1145/1476793.1476881},
 doi = {10.1145/1476793.1476881},
 acmid = {1476881},
 publisher = {ACM},
 address = {New York, NY, USA}
}

@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},
	Keywords = {sde-visualization},
	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{Bani16a,
author={Bani, B{\'e}chir and Khomh, Foutse and Gu{\'e}h{\'e}neuc, Yann-Ga{\"e}l},
editor={Sheng, Quan Z. and Stroulia, Eleni and Tata, Samir and Bhiri, Sami},
title={A Study of the Energy Consumption of Databases and Cloud Patterns},
bookTitle={Service-Oriented Computing: 14th International Conference, ICSOC 2016, Banff, AB, Canada, October 10-13, 2016, Proceedings},
year={2016},
publisher={Springer International Publishing},
pages={606--614},
isbn={978-3-319-46295-0},
doi={10.1007/978-3-319-46295-0_40}
}

@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}}

@inproceedings{Bao15a,
  title={Tracking and Analyzing Cross-Cutting Activities in Developers' Daily Work (N)},
  author={Bao, Lingfeng and Xing, Zhenchang and Wang, Xinyu and Zhou, Bo},
  booktitle={2015 30th IEEE/ACM International Conference on Automated Software Engineering (ASE)},
  pages={277--282},
  year={2015},
  organization={IEEE}
}

@inproceedings{Bara01a,
	Author = {Baragry, J. and Reed, K.},
	Booktitle = {Software Architecture, 2001. Proceedings. Working IEEE/IFIP Conference on},
	Doi = {10.1109/WICSA.2001.948419},
	Keywords = {DP industry;history;software architecture;history;large-scale representations;software architecture understanding;software architecture view;software engineering community;traditionally engineered artefacts;Australia;Computer architecture;Computer science;History;Large-scale systems;Software architecture;Software engineering;Software systems;Systems engineering and theory;Terminology},
	Pages = {125-134},
	Title = {Why we need a different view of software architecture},
	Year = {2001},
	Bdsk-Url-1 = {http://dx.doi.org/10.1109/WICSA.2001.948419}}

@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}}

@inproceedings{Barb10a,
	Acmid = {1863572},
	Address = {New York, NY, USA},
	Author = {Barbosa, Davi M.J. and Cretin, Julien and Foster, Nate and Greenberg, Michael and Pierce, Benjamin C.},
	Booktitle = {Proceedings of the 15th ACM SIGPLAN international conference on Functional programming},
	Date-Added = {2011-12-06 11:51:49 +0100},
	Date-Modified = {2011-12-06 11:54:37 +0100},
	Doi = {10.1145/1863543.1863572},
	Isbn = {978-1-60558-794-3},
	Keywords = {view-update; bx},
	Location = {Baltimore, Maryland, USA},
	Numpages = {12},
	Pages = {193--204},
	Publisher = {ACM},
	Series = {ICFP '10},
	Title = {Matching lenses: alignment and view update},
	Url = {10.1145/1863543.1863572},
	Year = {2010},
	Bdsk-Url-1 = {10.1145/1863543.1863572},
	Bdsk-Url-2 = {http://dx.doi.org/10.1145/1863543.1863572}}

@inproceedings{Barb12a,
  title={Heuristic strategies for recommendation of exception handling code},
  author={Barbosa, Eiji Adachi and Garcia, Alessandro and Mezini, Mira},
  booktitle={Software Engineering (SBES), 2012 26th Brazilian Symposium on},
  pages={171--180},
  year={2012},
  organization={IEEE}
}

@book{Barc08a,
	Author = {Barcia, Roland and Hambrick, Geoffrey and Brown, Kyle and Peterson, Robert and Bhogal, Kulvir},
	Edition = {First},
	Isbn = {9780768680591},
	Publisher = {IBM Press},
	Title = {Persistence in the enterprise: a guide to persistence technologies},
	Year = {2008}}

@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}}

@inproceedings{Bare10a,
	Author = {Luciano Baresi and Carlo Ghezzi},
	Bibsource = {DBLP, http://dblp.uni-trier.de},
	Booktitle = {FoSER},
	Ee = {http://doi.acm.org/10.1145/1882362.1882367},
	Pages = {17-22},
	Title = {The disappearing boundary between development-time and run-time},
	Year = {2010}}

@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 scg-none snf-none jb96},
	Month = may,
	Publisher = {IEEE},
	Title = {Network Management using Internet Technologies},
	Year = {1996}}

@inproceedings{Bari16a,
  author={T. Barik and Y. Song and B. Johnson and E. Murphy-Hill},
  booktitle={32nd IEEE International Conference on Software Maintenance and Evolution (ICSME 2016)},
  title={From Quick Fixes to Slow Fixes: Reimagining Static Analysis Resolutions to Enable Design Space Exploration},
  year={2016},
  pages={211-221},
  keywords={program debugging;program diagnostics;software tools;Eclipse development;FindBugs defect finding tool;FixBugs;Quick Fixes;design space exploration;static analysis resolution;Color;Computer bugs;Image color analysis;Java;Manuals;Software;Space exploration},
  doi={10.1109/ICSME.2016.63},
  month=oct}

@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{Barn82a,
	author = {Barnard, David T. and Holt, Richard C.},
	title = {Hierarchic syntax error repair for LR grammars},
	journal = {International Journal of Computer \& Information Sciences},
	volume = {11},
	number = {4},
	year = {1982},
	pages = {231--258},
	abstract = {A description of a technique for handling syntax errors in compilers, called hierarchic error repair, is presented. The technique is simple to understand and to implement. It always repairs a source program into a syntactically valid program and never causes the parser to back up. Details of embedding the technique in the LR family of parsers are given.},
	issn = {1573-7640},
	doi = {10.1007/BF00999442},
	url = {http://dx.doi.org/10.1007/BF00999442}
}

@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}}

@incollection{Barn05a,
  title={The {Spec}\# programming system: An overview},
  author={Barnett, Mike and Leino, K Rustan M and Schulte, Wolfram},
  booktitle={Construction and analysis of safe, secure, and interoperable smart devices},
  pages={49--69},
  year={2005},
  publisher={Springer}
}

@article{Barn11a,
  author    = {Mike Barnett and
               Manuel F{\"{a}}hndrich and
               K. Rustan M. Leino and
               Peter M{\"{u}}ller and
               Wolfram Schulte and
               Herman Venter},
  title     = {Specification and verification: the Spec{\#} experience},
  journal   = {Commun. {ACM}},
  volume    = {54},
  number    = {6},
  pages     = {81--91},
  year      = {2011},
  url       = {http://www.msr-waypoint.net/en-us/um/people/leino/papers/krml196.pdf},
  doi       = {10.1145/1953122.1953145},
  timestamp = {Wed, 01 Oct 2014 13:31:09 +0200},
  biburl    = {http://dblp.uni-trier.de/rec/bib/journals/cacm/BarnettFLMSV11},
  bibsource = {dblp computer science bibliography, http://dblp.org},
  keywords  = {non-null type system}
}

@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{Barr17a,
 author = {Barrett, Edd and Bolz-Tereick, Carl Friedrich and Killick, Rebecca and Mount, Sarah and Tratt, Laurence},
 title = {Virtual Machine Warmup Blows Hot and Cold},
 journal = {Proc. ACM Program. Lang.},
 issue_date = {October 2017},
 volume = {1},
 number = {OOPSLA},
 month = oct,
 year = {2017},
 issn = {2475-1421},
 pages = {52:1--52:27},
 articleno = {52},
 numpages = {27},
 url = {http://doi.acm.org/10.1145/3133876},
 doi = {10.1145/3133876},
 acmid = {3133876},
 publisher = {ACM},
 address = {New York, NY, USA}
}

@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}}

@inproceedings{Bart10a,
	Acmid = {1772700},
	Address = {New York, NY, USA},
	Author = {Barton, John J. and Odvarko, Jan},
	Booktitle = {Proceedings of the 19th international conference on World wide web},
	Doi = {10.1145/1772690.1772700},
	Isbn = {978-1-60558-799-8},
	Keywords = {breakpoints, css, debugging, dynamic, firebug, html, javascript, web},
	Location = {Raleigh, North Carolina, USA},
	Numpages = {10},
	Pages = {81--90},
	Publisher = {ACM},
	Series = {WWW '10},
	Title = {Dynamic and graphical web page breakpoints},
	Year = {2010},
	Bdsk-Url-1 = {http://dx.doi.org/10.1145/1772690.1772700}}

@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}}

@article{Baru14a,
author={Barua, Anton and Thomas, Stephen W. and Hassan, Ahmed E.},
title={What are developers talking about? {An} analysis of topics and trends in {Stack Overflow}},
journal={Empirical Software Engineering},
year={2014},
volume={19},
number={3},
pages={619--654},
abstract={Programming question and answer (Q{\&}A) websites, such as Stack Overflow, leverage the knowledge and expertise of users to provide answers to technical questions. Over time, these websites turn into repositories of software engineering knowledge. Such knowledge repositories can be invaluable for gaining insight into the use of specific technologies and the trends of developer discussions. Previous work has focused on analyzing the user activities or the social interactions in Q{\&}A websites. However, analyzing the actual textual content of these websites can help the software engineering community to better understand the thoughts and needs of developers. In the article, we present a methodology to analyze the textual content of Stack Overflow discussions. We use latent Dirichlet allocation (LDA), a statistical topic modeling technique, to automatically discover the main topics present in developer discussions. We analyze these discovered topics, as well as their relationships and trends over time, to gain insights into the development community. Our analysis allows us to make a number of interesting observations, including: the topics of interest to developers range widely from jobs to version control systems to C{\#} syntax; questions in some topics lead to discussions in other topics; and the topics gaining the most popularity over time are web development (especially jQuery), mobile applications (especially Android), Git, and MySQL.},
issn={1573-7616},
doi={10.1007/s10664-012-9231-y},
Keywords = {dev-questions},
url={https://doi.org/10.1007/s10664-012-9231-y}
}

@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},
	Year = {2009},
	Bdsk-Url-1 = {http://dx.doi.org/10.1109/SUITE.2009.5070011}}

@inproceedings{Basc18a,
  title={Exploring model repositories by means of megamodel-aware search operators.},
  author={Basciani, Francesco and Di Rocco, Juri and Di Ruscio, Davide and Iovino, Ludovico and Pierantonio, Alfonso},
  booktitle={MODELS Workshops},
  pages={793--798},
  year={2018},
  url={http://ceur-ws.org/Vol-2245/ammore_paper_3.pdf},
  keywords = {megamodels}
}

@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,
	Acmid = {9777},
	Address = {Piscataway, NJ, USA},
	Author = {Basili, V R and Selby, R W and Hutchens, D H},
	Issn = {0098-5589},
	Issue = {7},
	Journal = {IEEE Trans. Softw. Eng.},
	Month = jul,
	Numpages = {11},
	Pages = {733--743},
	Publisher = {IEEE Press},
	Title = {Experimentation in software engineering},
	Url = {http://portal.acm.org/citation.cfm?id=9775.9777},
	Volume = {12},
	Year = {1986},
	Bdsk-Url-1 = {http://portal.acm.org/citation.cfm?id=9775.9777}}

@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{Basi90a,
  title={Viewing maintenance as reuse-oriented software development},
  author={Basili, Victor R.},
  journal={IEEE software},
  volume={7},
  number={1},
  pages={19--25},
  year={1990},
  publisher={IEEE}
}

@article{Basi96a,
	Author = {Basili, V.R. and Briand, L.C. and Melo, W.L.},
	Doi = {10.1109/32.544352},
	Issn = {0098-5589},
	Journal = {Software Engineering, IEEE Transactions on},
	Keywords = {C language;information systems;object-oriented languages;object-oriented methods;software maintenance;software metrics;software quality;C++ programming language;class maintenance changes;data set;fault-prone classes;information management systems;metric validation;object oriented analysis;object-oriented design metrics;sequential life cycle model;software development;software quality indicators;Computer languages;Costs;Design methodology;Object oriented modeling;Predictive models;Programming;Resource management;Software maintenance;Software systems;System testing},
	Month = oct,
	Number = {10},
	Pages = {751-761},
	Title = {A validation of object-oriented design metrics as quality indicators},
	Volume = {22},
	Year = {1996},
	Bdsk-Url-1 = {http://dx.doi.org/10.1109/32.544352}}

@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{Basi99a,
	Acmid = {322681},
	Address = {Piscataway, NJ, USA},
	Author = {Basili, Victor R. and Shull, Forrest and Lanubile, Filippo},
	Doi = {10.1109/32.799939},
	Issn = {0098-5589},
	Issue_Date = {July 1999},
	Journal = {IEEE Trans. Softw. Eng.},
	Keywords = {Empirical software engineering, experimental design, software process, software measurement, software reading techniques.},
	Month = jul,
	Number = {4},
	Numpages = {18},
	Pages = {456--473},
	Publisher = {IEEE Press},
	Title = {Building Knowledge Through Families of Experiments},
	Url = {http://dx.doi.org/10.1109/32.799939},
	Volume = {25},
	Year = {1999},
	Bdsk-Url-1 = {http://dx.doi.org/10.1109/32.799939}}

@article{Bask02a,
	Acmid = {770683},
	Address = {New York, NY, USA},
	Author = {Baskiyar, S.},
	Doi = {10.1007/s00607-002-1453-1},
	Issn = {0010-485X},
	Issue = {4},
	Journal = {Computing},
	Month = dec,
	Numpages = {17},
	Pages = {273--289},
	Publisher = {Springer-Verlag New York, Inc.},
	Title = {Efficient execution of pure object-oriented programs by follow-up compilation},
	Url = {http://portal.acm.org/citation.cfm?id=770682.770683},
	Volume = {69},
	Year = {2002},
	Bdsk-Url-1 = {http://portal.acm.org/citation.cfm?id=770682.770683},
	Bdsk-Url-2 = {http://dx.doi.org/10.1007/s00607-002-1453-1}}

@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,
	Abstract = {Recently, many software visualization (SV) techniques and tools have become available.
				There is ample anecdotal evidence that appropriate visualization can significantly reduce
				the effort spent on system comprehension and maintenance, yet we are not aware of any quantitative
				investigation and survey of SV tools. This paper reports on a survey on SV tools which was
				conducted in spring 2000 with more than 100 participants. It addresses various functional,
				practical, cognitive as well as code analysis aspects that users may be looking for in SV tools.
				The participants of the survey rated the usefulness and importance of these aspects, and came up
				with aspects of their own. The participants were in general quite pleased with the SV tool they
				were using and mentioned various benefits. Nevertheless, a big gap between desired aspects and
				the features of current SV tools was identified. In addition, a list of improvements that
				should be done to current tools was assembled. Finally, the collected data tends to suggest
				that in general code analysis aspects were not highly supported by the tools },
	Author = {Bassil, S. and Keller, R.K.},
	Booktitle = {Program Comprehension, 2001. IWPC 2001. Proceedings. 9th International Workshop on},
	Doi = {10.1109/WPC.2001.921708},
	Keywords = {code analysis;cognitive issues;program comprehension;software maintenance;software visualization tools;survey;program visualisation;reverse engineering;software maintenance;software tools;},
	Pages = {7 -17},
	Title = {Software visualization tools: survey and analysis},
	Year = {2001},
	Bdsk-Url-1 = {http://dx.doi.org/10.1109/WPC.2001.921708}}

@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,
	Address = {Washington, DC, USA},
	Author = {Bates, Madeleine},
	Isbn = {0-309-04988-1},
	Journal = {Voice communication between humans and machines -- National Academy of Sciences},
	Pages = {238--253},
	Publisher = {National Academy Press},
	Title = {Models of natural language understanding},
	Year = {1994}}

@inproceedings{Bati05a,
	Author = {Batini, C. and Garasi, M. F. and Grosso, R.},
	Booktitle = {Advanced Topics in Database Research},
	Publisher = {Idea Book},
	Title = {Reuse of a repository of conceptual schemas in a large scale project},
	Year = {2005}}

@inproceedings{Bati06a,
	Author = {Carlo Batini and Daniele Barone and Manuel F. Garasi and Gianluigi Viscusi},
	Booktitle = {Proceedings of 25th International Conference on Conceptual Modeling, ER},
	Doi = {10.1007/11901181_30},
	Isbn = {3-540-47224-X},
	Location = {Tucson, AZ, USA},
	Month = nov,
	Pages = {399-412},
	Publisher = {Springer},
	Series = {Lecture Notes in Computer Science},
	Title = {Design and Use of ER Repositories: Methodologies and Experiences in eGovernment Initiatives},
	Url = {http://dx.doi.org/10.1007/11901181_30},
	Volume = {4215},
	Year = {2006},
	Bdsk-Url-1 = {http://dx.doi.org/10.1007/11901181_30}}

@inproceedings{Bati11a,
	Author = {Carlo Batini and Marco Comerio and Enrica Pasqua and Gianluigi Viscusi},
	Bibsource = {DBLP, http://dblp.uni-trier.de},
	Booktitle = {Proceedings of the Nineteenth Italian Symposium on Advanced Database Systems},
	Editor = {Giansalvatore Mecca and Sergio Greco},
	Location = {Maratea, Italy},
	Month = jun,
	Pages = {381-388},
	Title = {Repositories of Conceptual Schemas: Concepts, Constructs, Methods and Quality Dimensions},
	Year = {2011}}

@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,
	Acmid = {1449921},
	Address = {New York, NY, USA},
	Author = {Batory, Don},
	Booktitle = {Proceedings of the 7th international conference on Generative programming and component engineering},
	Doi = {10.1145/1449913.1449921},
	Isbn = {978-1-60558-267-2},
	Keywords = {commuting diagrams, features, geodesics, model driven design, categories, software product lines},
	Location = {Nashville, TN, USA},
	Numpages = {10},
	Pages = {35--44},
	Publisher = {ACM},
	Series = {GPCE '08},
	Title = {Using modern mathematics as an FOSD modeling language},
	Url = {ftp://ftp.cs.utexas.edu/pub/predator/ModernMath.pdf},
	Year = {2008},
	Bdsk-Url-1 = {ftp://ftp.cs.utexas.edu/pub/predator/ModernMath.pdf},
	Bdsk-Url-2 = {http://dx.doi.org/10.1145/1449913.1449921}}

@inproceedings{Bato08b,
	Acmid = {1434659},
	Address = {Berlin, Heidelberg},
	Author = {Batory, Don and Azanza, Maider and Saraiva, Jo\~{a}o},
	Booktitle = {Proceedings of the 11th international conference on Model Driven Engineering Languages and Systems},
	Doi = {10.1007/978-3-540-87875-9_1},
	Isbn = {978-3-540-87874-2},
	Keywords = {Software product lines, categories, model driven engineering},
	Location = {Toulouse, France},
	Numpages = {20},
	Pages = {1--20},
	Publisher = {Springer-Verlag},
	Series = {MoDELS '08},
	Title = {The Objects and Arrows of Computational Design},
	Url = {ftp://ftp.cs.utexas.edu/pub/predator/BatoryMODELS08Keynote.pdf},
	Year = {2008},
	Bdsk-Url-1 = {ftp://ftp.cs.utexas.edu/pub/predator/BatoryMODELS08Keynote.pdf},
	Bdsk-Url-2 = {http://dx.doi.org/10.1007/978-3-540-87875-9_1}}

@inproceedings{Bauc07a,
	author={J. Bauckmann and U. Leser and F. Naumann and V. Tietz},
	booktitle={Data Engineering, 2007. ICDE 2007. IEEE 23rd International Conference on},
	title={Efficiently Detecting Inclusion Dependencies},
	year={2007},
	pages={1448-1450},
	keywords = {schema-inference, inclusion dependencies},
	doi={10.1109/ICDE.2007.369032},
	month=apr,
	url = {http://hpi.de/fileadmin/user_upload/fachgebiete/naumann/publications/ICDE07.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{Bavo13a,
author={Gabriele Bavota and Gerardo Canfora and Massimiliano D. Penta and Rocco Oliveto and Sebastiano Panichella},
booktitle={2013 IEEE International Conference on Software Maintenance},
title={The Evolution of Project Inter-dependencies in a Software Ecosystem: The Case of {Apache}},
year={2013},
volume={},
number={},
pages={280-289},
doi={10.1109/ICSM.2013.39},
ISSN={1063-6773},
month=sep}

@inproceedings{Bavo13b,
  title={An Empirical Investigation on Documentation Usage Patterns in Maintenance Tasks},
  author={Bavota, Gabriele and Canfora, Gerardo and Di Penta, Massimiliano and Oliveto, Rocco and Panichella, Sebastiano},
  booktitle={2013 IEEE International Conference on Software Maintenance},
  pages={210--219},
  year={2013},
  organization={IEEE}
}

@article{Bavo15a,
author={G. {Bavota} and M. {Linares-V\'asquez} and C. E. {Bernal-C\'ardenas} and M. D. {Penta} and R. {Oliveto} and D. {Poshyvanyk}},
journal={IEEE Transactions on Software Engineering},
title={The Impact of {API} Change- and Fault-Proneness on the User Ratings of {Android} Apps},
year={2015},
volume={41},
number={4},
pages={384-407},
keywords={application program interfaces;data mining;mobile computing;program debugging;software fault tolerance;system recovery;API change-proneness;API fault-proneness;user ratings;Android Apps;mobile Apps market;information technology;software repository mining;Androids;Humanoid robots;Software;History;Computer bugs;Educational institutions;Electronic mail;Mining software repositories;empirical studies;android;API changes;Mining software repositories;empirical studies;android;API changes},
doi={10.1109/TSE.2014.2367027},
ISSN={0098-5589},
month=apr
}

@inproceedings{Bavo16a,
  title={Mining unstructured data in software repositories: Current and future trends},
  author={Bavota, Gabriele},
  booktitle={2016 IEEE 23rd International Conference on Software Analysis, Evolution, and Reengineering (SANER)},
  volume={5},
  pages={1--12},
  year={2016},
  organization={IEEE}
}

@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{Baxt06a,
	Acmid = {1167507},
	Address = {New York, NY, USA},
	Author = {Baxter, Gareth and Frean, Marcus and Noble, James and Rickerby, Mark and Smith, Hayden and Visser, Matt and Melton, Hayden and Tempero, Ewan},
	Booktitle = {Proceedings of the 21st annual ACM SIGPLAN conference on Object-oriented programming systems, languages, and applications},
	Doi = {10.1145/1167473.1167507},
	Isbn = {1-59593-348-4},
	Keywords = {Java, object-oriented design, power-law distributions},
	Location = {Portland, Oregon, USA},
	Numpages = {16},
	Pages = {397--412},
	Publisher = {ACM},
	Series = {OOPSLA '06},
	Title = {Understanding the shape of Java software},
	Year = {2006},
	Bdsk-Url-1 = {http://dx.doi.org/10.1145/1167473.1167507}}

@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}}

@inproceedings{Bays14a,
  title={No issue left behind: Reducing information overload in issue tracking},
  author={Baysal, Olga and Holmes, Reid and Godfrey, Michael W},
  booktitle={Proceedings of the 22Nd ACM SIGSOFT International Symposium on Foundations of Software Engineering},
  pages={666--677},
  year={2014}
}

@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 scg-none 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},
	Title = {Manifesto for Agile Software Development},
	Url = {http://agilemanifesto.org},
	Year = {2001},
	Bdsk-Url-1 = {http://agilemanifesto.org}}

@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,
	Address = {Washington, DC, USA},
	Author = {Becker, Christian and Handte, Marcus and Schiele, Gregor and Rothermel, Kurt},
	Booktitle = {PerCom'04: Proceedings of the 2nd Internation Conference on Pervasive Computing and Communications},
	Doi = {10.1109/PERCOM.2004.1276846},
	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},
	Title = {{PCOM - a component system for pervasive computing}},
	Year = {2004},
	Bdsk-Url-1 = {http://dx.doi.org/10.1109/PERCOM.2004.1276846}}

@inproceedings{Beck08a,
	Author = {Ralph Becket and Zoltan Somogyi},
	Booktitle = {Practical Aspects of Declarative Languages},
	Keywords = {packrat parsing},
	Month = jan,
	Pages = {182--196},
	Publisher = {Springer},
	Title = {{DCGs} + {Memoing} = {Packrat} Parsing, but is it worth it?},
	Volume = {LNCS 4902},
	Year = {2008}}

@inproceedings{Beck11a,
 	title = {A visual analysis and design tool for planning software reengineerings},
 	author = {Beck, Martin and Trumper, Jonas and Dollner, Jurgen},
 	booktitle = {Visualizing Software for Understanding and Analysis (VISSOFT), 2011 6th IEEE International Workshop on},
 	pages = {1--8},
 	year = {2011},
 	organization = {IEEE}}

@inproceedings{Beck11b,
	title = {Visually exploring multi-dimensional code couplings},
	author = {Beck, Fabian and Petkov, Radoslav and Diehl, Stephan},
	booktitle = {Visualizing Software for Understanding and Analysis (VISSOFT), 2011 6th IEEE International Workshop on},
	pages = {1--8},
	year = {2011},
	organization = {IEEE}}

@inproceedings{Beck13a,
	title = {Analysis of Multi-Dimensional Code Couplings},
	author = {Beck, Fabian},
	booktitle = {Software Maintenance (ICSM), 2013 29th IEEE International Conference on},
	pages = {560--565},
	year = {2013},
	organization = {IEEE}}

@inproceedings{Beck14a,
author={Beck, Fabian},
booktitle={Information Visualization Theory and Applications (IVAPP), 2014 International Conference on},
title={Software Feathers figurative visualization of software metrics},
year={2014},
pages={5-16},
keywords={Blades;Data visualization;Feathers;Shafts;Software;Software metrics;Visualization;Glyph Visualization;Multi-Dimensional Data;Software Metrics},
month=jan
}

@inproceedings{Beck15a,
 author = {Beck, Fabian and Dit, Bogdan and Velasco-Madden, Jaleo and Weiskopf, Daniel and Poshyvanyk, Denys},
 title = {Rethinking User Interfaces for Feature Location},
 booktitle = {Proceedings of the 2015 IEEE 23rd International Conference on Program Comprehension},
 series = {ICPC '15},
 year = {2015},
 location = {Florence, Italy},
 pages = {151--162},
 numpages = {12},
 url = {http://dl.acm.org/citation.cfm?id=2820282.2820304},
 acmid = {2820304},
 publisher = {IEEE Press},
 address = {Piscataway, NJ, USA}
}

@inproceedings{Beck17a,
	title = {Method Execution Reports: Generating Text and Visualization to Describe Program Behavior},
	author = {Fabian Beck and Hafiz Ammar Siddiqui and Alexandre Bergel and Daniel Weiskopf},
	booktitle = {Visualizing Software for Understanding and Analysis (VISSOFT), 2017 5th IEEE Working Conference on Software Visualization},
	pages = {1--10},
	year = {2017},
	organization = {IEEE}}

@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{Beer08a,
	Author = {Beer, A. and Ramler, R.},
	Booktitle = {Software Engineering and Advanced Applications, 2008. SEAA'08. 34th Euromicro Conference},
	Doi = {10.1109/SEAA.2008.28},
	Keyword = {testing-practices},
	Organization = {IEEE},
	Pages = {258--265},
	Title = {The role of experience in software testing practice},
	Year = {2008},
	Bdsk-Url-1 = {http://dx.doi.org/10.1109/SEAA.2008.28}}

@inproceedings{Bege08a,
  author={A. {Begel} and N. {Nagappan}},
  booktitle={2008 IEEE International Conference on Global Software Engineering},
  title={Global Software Development: Who Does It?},
  year={2008},
  pages={195-199}}

@inproceedings{Bege09a,
	Author = {Andrew Begel and Robert DeLine},
	Booktitle = {ICSE Companion},
	Doi = {10.1109/ICSE-COMPANION.2009.5070997},
	Pages = {263-266},
	Title = {Codebook: Social networking over code},
	Year = {2009},
	Bdsk-Url-1 = {http://dx.doi.org/10.1109/ICSE-COMPANION.2009.5070997}}

@inproceedings{Bege10a,
	Acmid = {1806821},
	Address = {New York, NY, USA},
	Annote = {internationalconference},
	Author = {Begel, Andrew and Khoo, Yit Phang and Zimmermann, Thomas},
	Booktitle = {Proceedings of the 32nd ACM/IEEE International Conference on Software Engineering - Volume 1},
	Doi = {10.1145/1806799.1806821},
	Isbn = {978-1-60558-719-6},
	Keywords = {sde-ecosystems, inter-team coordination, knowledge management, mining software repositories, regular expression, regular language reachability, social networking},
	Location = {Cape Town, South Africa},
	Numpages = {10},
	Pages = {125--134},
	Peerreview = {yes},
	Publisher = {ACM},
	Series = {ICSE '10},
	Title = {Codebook: discovering and exploiting relationships in software repositories},
	Year = {2010},
	Bdsk-Url-1 = {http://dx.doi.org/10.1145/1806799.1806821}}

@inproceedings{Bege10b,
 author = {Begel, Andrew and Zimmermann, Thomas},
 title = {Keeping Up with Your Friends: Function Foo, Library Bar.DLL, and Work Item 24},
 booktitle = {Proceedings of the 1st Workshop on Web 2.0 for Software Engineering},
 series = {Web2SE '10},
 year = {2010},
 isbn = {978-1-60558-975-6},
 location = {Cape Town, South Africa},
 pages = {20--23},
 numpages = {4},
 url = {http://doi.acm.org/10.1145/1809198.1809205},
 doi = {10.1145/1809198.1809205},
 acmid = {1809205},
 publisher = {ACM},
 address = {New York, NY, USA},
 keywords = {inter-team coordination, knowledge management, mining software repositories, regular expression, regular language reachability, social networking}
}

@inproceedings{Bege14a,
 author = {Begel, Andrew and Zimmermann, Thomas},
 title = {Analyze This! 145 Questions for Data Scientists in Software Engineering},
 booktitle = {Proceedings of the 36th International Conference on Software Engineering},
 series = {ICSE 2014},
 year = {2014},
 isbn = {978-1-4503-2756-5},
 location = {Hyderabad, India},
 pages = {12--23},
 numpages = {12},
 url = {http://doi.acm.org/10.1145/2568225.2568233},
 doi = {10.1145/2568225.2568233},
 acmid = {2568233},
 publisher = {ACM},
 address = {New York, NY, USA},
 keywords = {Analytics, Data Science, Software Engineering, dev-questions}
}

@inproceedings{Begel09a,
	Author = {Andrew Begel and Robert DeLine},
	Bibsource = {DBLP, http://dblp.uni-trier.de},
	Booktitle = {ICSE Companion},
	Doi = {10.1109/ICSE-COMPANION.2009.5070997},
	Keywords = {snf},
	Pages = {263-266},
	Title = {Codebook: Social networking over code},
	Year = {2009},
	Bdsk-Url-1 = {http://dx.doi.org/10.1109/ICSE-COMPANION.2009.5070997}}

@inproceedings{Begu14a,
    author = {B{\'e}guet, Eric and Jonnalagedda, Manohar},
    title = {Accelerating Parser Combinators with Macros},
    booktitle = {Proceedings of the Fifth Annual Scala Workshop},
    series = {SCALA '14},
    year = {2014},
    isbn = {978-1-4503-2868-5},
    location = {Uppsala, Sweden},
    pages = {7--17},
    numpages = {11},
    url = {http://doi.acm.org/10.1145/2637647.2637653},
    doi = {10.1145/2637647.2637653},
    acmid = {2637653},
    publisher = {ACM},
    address = {New York, NY, USA},
    keywords = {Scala, macros, optimization, parser combinators}
}

@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{Bela76a,
 author = {Belady, L. A. and Lehman, M. M.},
 title = {A Model of Large Program Development},
 journal = {IBM Syst. J.},
 issue_date = {September 1976},
 volume = {15},
 number = {3},
 month = sep,
 year = {1976},
 issn = {0018-8670},
 pages = {225--252},
 numpages = {28},
 url = {http://dx.doi.org/10.1147/sj.153.0225},
 doi = {10.1147/sj.153.0225},
 acmid = {1661014},
 publisher = {IBM Corp.},
 address = {Riverton, NJ, USA}
}

@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}}

@article{Bele05a,
  title={Variance reduction in estimating classification error using sparse datasets},
  author={Beleites, Claudia and Baumgartner, Richard and Bowman, Christopher and Somorjai, Ray and Steiner, Gerald and Salzer, Reiner and Sowa, Michael G},
  journal={Chemometrics and intelligent laboratory systems},
  volume={79},
  number={1},
  pages={91--100},
  year={2005},
  publisher={Elsevier}
}

@book{Bell60a,
  title={Adaptive control processes: A guided tour.},
  author={Bellman, Richard},
  year={1960},
  publisher={Princeton University Press, St Martin's Press}
}

@article{Bell73a,
	Acmid = {362270},
	Address = {New York, NY, USA},
	Author = {James R. Bell},
	Doi = {10.1145/362248.362270},
	Issn = {0001-0782},
	Issue = {6},
	Journal = {Commun. ACM},
	Keywords = {compiled code, interpreter, machine code, space tradeoff, subroutine calls, threaded code, time tradeoff},
	Month = jun,
	Numpages = {3},
	Pages = {370--372},
	Publisher = {ACM},
	Title = {Threaded code},
	Volume = {16},
	Year = {1973},
	Bdsk-Url-1 = {http://dx.doi.org/10.1145/362248.362270}}

@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}}

@book{Bell97d,
	Author = {Bellin, David and Simone, Susan Suchman},
	Publisher = {Addison Wesley},
	Series = {The Addison-Wesley series in object-oriented software engineering},
	Title = {{The CRC Card Book}},
	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,
	Acmid = {318944},
	Address = {London, UK},
	Author = {Bell, Thoms},
	Booktitle = {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.318944},
	Isbn = {3-540-66538-2},
	Location = {Toulouse, France},
	Numpages = {19},
	Pages = {216--234},
	Publisher = {Springer-Verlag},
	Series = {ESEC/FSE-7},
	Title = {The concept of dynamic analysis},
	Year = {1999},
	Bdsk-Url-1 = {http://dx.doi.org/10.1145/318773.318944}}

@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{Bell04a,
	Acmid = {984495},
	Address = {New York, NY, USA},
	Author = {Bell, Alex E.},
	Doi = {10.1145/984458.984495},
	Issn = {1542-7730},
	Issue_Date = {March 2004},
	Journal = {Queue},
	Month = mar,
	Number = {1},
	Numpages = {9},
	Pages = {72--80},
	Publisher = {ACM},
	Title = {Death by {UML} Fever},
	Url = {http://doi.acm.org/10.1145/984458.984495},
	Volume = {2},
	Year = {2004},
	Bdsk-Url-1 = {http://doi.acm.org/10.1145/984458.984495},
	Bdsk-Url-2 = {http://dx.doi.org/10.1145/984458.984495}}

@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{Bell16a,
author={M. Beller and R. Bholanath and S. McIntosh and A. Zaidman},
booktitle={2016 IEEE 23rd International Conference on Software Analysis, Evolution, and Reengineering (SANER)},
title={Analyzing the State of Static Analysis: A Large-Scale Evaluation in Open Source Software},
year={2016},
volume={1},
pages={470-481},
keywords={Java;pattern classification;program diagnostics;public domain software;software engineering;ASAT;Java;JavaScript;Python;Ruby;automated static analysis tools;general defect classification;grounded-theory-derived mapping;large-scale evaluation;open source software;open-source projects;software engineering;state analysis;top-level GDC classes;Best practices;Java;Manuals;Open source software;Software systems;Standards;ASATs;Automated Static Analysis Tools;General Defect Classification;GitHub;Open-Source Software},
doi={10.1109/SANER.2016.105},
month=mar}

@article{Bell17a,
	title = {How developers debug},
	author = {Beller, Moritz and Spruit, Niels and Zaidman, Andy},
	year = {2017},
	month = jan,
	keywords = {Debugging, Testing, Eclipse, IntelliJ, WatchDog},
	volume = 5,
	pages = {e2743v1},
	journal = {PeerJ Preprints},
	issn = {2167-9843},
	url = {https://doi.org/10.7287/peerj.preprints.2743v1},
	doi = {10.7287/peerj.preprints.2743v1}
}

@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,
	Acmid = {35201},
	Address = {Minneapolis, MN, USA},
	Author = {Benbasat, Izak and Goldstein, David K. and Mead, Melissa},
	Doi = {10.2307/248684},
	Issn = {0276-7783},
	Issue = {3},
	Journal = {MIS Q.},
	Month = sep,
	Numpages = {18},
	Pages = {369--386},
	Publisher = {Society for Information Management and The Management Information Systems Research Center},
	Title = {The case research strategy in studies of information systems},
	Url = {http://portal.acm.org/citation.cfm?id=35194.35201},
	Volume = {11},
	Year = {1987},
	Bdsk-Url-1 = {http://portal.acm.org/citation.cfm?id=35194.35201},
	Bdsk-Url-2 = {http://dx.doi.org/10.2307/248684}}

@article{Benc19a,
	author= {Bencomo, Nelly and G{\"o}tz, Sebastian and Song, Hui},
	title= {Models@run.time: a guided tour of the state of the art and research challenges},
	journal= {Software {\&} Systems Modeling},
	year= {2019},
	month= oct,
	day= {01},
	volume= {18},
	number= {5},
	pages= {3049--3082},
	abstract= {More than a decade ago, the research topic
		models@run.time was coined. Since then, the research area
		has received increasing attention. Given the prolific
		results during these years, the current outcomes need to
		be sorted and classified. Furthermore, many gaps need to
		be categorized in order to further develop the research
		topic by experts of the research area but also newcomers.
		Accordingly, the paper discusses the principles and
		requirements of models@run.time and the state of the art
		of the research line. To make the discussion more
		concrete, a taxonomy is defined and used to compare the
		main approaches and research outcomes in the area during
		the last decade and including ancestor research
		initiatives. We identified and classified 275 papers on
		models@run.time, which allowed us to identify the
		underlying research gaps and to elaborate on the
		corresponding research challenges. Finally, we also
		facilitate sustainability of the survey over time by
		offering tool support to add, correct and visualize data.},
	issn= {1619-1374},
	doi= {10.1007/s10270-018-00712-x},
	keywords = {executable-models},
	url= {https://doi.org/10.1007/s10270-018-00712-x}
}

@incollection{Bend02a,
  title={Two simplified algorithms for maintaining order in a list},
  author={Bender, Michael A and Cole, Richard and Demaine, Erik D and Farach-Colton, Martin and Zito, Jack},
  booktitle={Algorithms --- ESA 2002},
  pages={152--164},
  year={2002},
  publisher={Springer}
}

@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}}

@book{Benn87b,
  title={The design and implementation of distributed Smalltalk},
  author={Bennett, John K},
  volume={22},
  year={1987},
  publisher={ACM}}

@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 = {Bennett, Keith H. and Rajlich, Vaclav T.},
	Booktitle = {ICSE'00: Proceedings of the International Conference on The Future of Software Engineering},
	Doi = {10.1145/336512.336534},
	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,
	Address = {New York, NY, USA},
	Author = {C. Bennett and D. Myers and M.-A. Storey and D. M. German and D. Ouellet and M/ Salois and P. Charland},
	Doi = {10.1002/smr.v20:4},
	Journal = {Journal of Software Maintenance and Evolution},
	Number = {4},
	Pages = {291--315},
	Publisher = {John Wiley \& Sons, Inc.},
	Title = {A survey and evaluation of tool features for understanding reverse-engineered sequence diagrams},
	Volume = {20},
	Year = {2008},
	Bdsk-Url-1 = {http://dx.doi.org/10.1002/smr.v20:4}}

@inproceedings{Beno13a,
author={O. Benomar and H. Sahraoui and P. Poulin},
booktitle={Software Visualization (VISSOFT), 2013 First IEEE Working Conference on},
title={Visualizing software dynamicities with heat maps},
year={2013},
pages={1-10},
keywords={interactive programming;software maintenance;heat maps;interactive software visualization;program comprehension;software dynamicities visualisation;Data visualization;Heating;Image color analysis;Layout;Software;Three-dimensional displays;Visualization},
doi={10.1109/VISSOFT.2013.6650524},
month=sep
}

@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}}

@book{Bera01a,
    author = {B\'{e}rard, B. and Bidoit, M. and Finkel, A. and Laroussinie, F. and Petit, A. and Petrucci, L. and Schnoebelen, Ph and McKenzie, P.},
    citeulike-article-id = {6461332},
    priority = {2},
    publisher = {Springer},
    title = {Systems and Software Verification -- Model-Checking Techniques and Tools},
    year = {2001}
}

@incollection{Bera13a,
	Author = {Cl\'ement Bera and St\'ephane Ducasse and Alexandre Bergel and Damien Cassou and Jannik Laval},
	Booktitle = {Deep Into Pharo},
	Isbn = {978-3-9523341-6-4},
	Keywords = {Smalltalk, Pharo, Object-Oriented Programming, Live Programming},
	Month = sep,
	Pages = 38,
	Publisher = {Square Bracket Associates},
	Title = {Handling Exceptions},
	Year = {2013}}

@incollection{Bera13b,
	Author = {St\'ephane Ducasse and Cl\'ement Bera and Alexandre Bergel and Damien Cassou and Jannik Laval},
	Booktitle = {Deep Into Pharo},
	Isbn = {978-3-9523341-6-4},
	Keywords = {Smalltalk, Pharo, Object-Oriented Programming, Live Programming},
	Month = sep,
	Pages = 25,
	Publisher = {Square Bracket Associates},
	Title = {Blocks: a Detailed Analysis},
	Year = {2013}}

@inproceedings{Bera14a,
  title={A bytecode set for adaptive optimizations},
  Booktitle = {Proceedings of the International Workshop on Smalltalk Technologies (IWST'14)},
  author={B{\'e}ra, Cl{\'e}ment and Miranda, Eliot},
  year={2014}
}

@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}}

@article{Berg98a,
author = {Bergstra, J. A. and Klint, P.},
title = {The Discrete Time {TOOLBUS} --- a Software Coordination Architecture},
journal = {Sci. Comput. Program.},
issue_date = {July 1, 1998},
volume = {31},
number = {2-3},
month = jul,
year = {1998},
issn = {0167-6423},
pages = {205--229},
numpages = {25},
url = {http://dx.doi.org/10.1016/S0167-6423(97)00021-X},
doi = {10.1016/S0167-6423(97)00021-X},
acmid = {294290},
publisher = {Elsevier North-Holland, Inc.},
address = {Amsterdam, The Netherlands, The Netherlands}
}

@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}}

@article{Berg00b,
	Acmid = {357000},
	Address = {New York, NY, USA},
	Author = {Berger, Emery D. and McKinley, Kathryn S. and Blumofe, Robert D. and Wilson, Paul R.},
	Doi = {10.1145/356989.357000},
	Issn = {0362-1340},
	Issue = {11},
	Journal = {SIGPLAN Not.},
	Month = nov,
	Numpages = {12},
	Pages = {117--128},
	Publisher = {ACM},
	Title = {Hoard: a scalable memory allocator for multithreaded applications},
	Volume = {35},
	Year = {2000},
	Bdsk-Url-1 = {http://dx.doi.org/10.1145/356989.357000}}

@article{Berg01a,
	Acmid = {383857},
	Address = {New York, NY, USA},
	Author = {Bergmans, Lodewijk and Aksit, Mehmet},
	Doi = {10.1145/383845.383857},
	Issn = {0001-0782},
	Issue = {10},
	Issue_Date = {Oct. 2001},
	Journal = {Commun. ACM},
	Month = oct,
	Numpages = {7},
	Pages = {51--57},
	Publisher = {ACM},
	Title = {Composing crosscutting concerns using composition filters},
	Url = {http://dx.doi.org/10.1145/383845.383857},
	Volume = {44},
	Year = {2001},
	Bdsk-Url-1 = {http://dx.doi.org/10.1145/383845.383857}}

@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 scg-none 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 scg-none 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 scg-none 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}}

@incollection{Berg04b,
	Abstract = {A wide range of aspect-oriented programming languages has appeared
in the past years [7]. Current research on future generation AOP languages is
addressing issues like flexibility, expressive power and safety. We think that
it is important to understand the motivations and design decisions of the first
generation AOP languages. The composition filters model [1, 7, 12] is one
example of such a first-generation AOP language. The goal of this chapter is
two-fold: first, it aims at explaining the principles of composition filters, in
particular its aspect-oriented composition capabilities. Second, we aim to
provide insight into the motivations and design rationale decisions behind the
composition filters model.},
	Address = {Boston},
	Author = {Lodewijk {Bergmans} and Mehmet {Aksit}},
	Booktitle = {Aspect Oriented Software Development},
	Editor = {Robert E. {Filman} and Tzilla {Elrad} and Siobh\'an {Clarke} and Mehmet {Ak\c sit}},
	Pages = {63--95},
	Publisher = {Addison-Wesley},
	Title = {Principles and Design Rationale of Composition Filters},
	Url = {http://doc.utwente.nl/48729/},
	Year = {2004},
	Bdsk-Url-1 = {http://doc.utwente.nl/48729/}}

@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 scg-none 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 scg-none 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.},
	Acceptnum = {25},
	Accepttotal = {142},
	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 scg-none jb06 scg-pub onhindex(97)},
	Misc = {acceptance rate: 25/142 = 17\%},
	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 scg-none 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://scg.unibe.ch/archive/papers/Berg05cModuleDiversity.pdf},
	Url2 = {http://www.jucs.org/jucs_11_10/analyzing_module_diversity},
	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 scg-none 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 scg-none 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 = {skip-doi snf05 scg-none 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 scg-none 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.},
	Address = {Berlin Heidelberg},
	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 scg-none jb08},
	Month = jan,
	Selectif = {non},
	Title = {Seaside -- Advanced Composition and Control Flow for Dynamic Web Applications},
	Url = {http://ercim-news.ercim.eu/en72/special/seaside-advanced-composition-and-control-flow-for-dynamic-web-applications},
	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://scg.unibe.ch/archive/papers/Berg08bDyla07Report.pdf},
	url2 = {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}}

@inproceedings{Berg10a,
	Author = {S\'ebastien Mosser and Alexandre Bergel and Mireille Blay-Fornarino},
	Booktitle = {Proceedings of 9th International Conference on Software Composition (SC'10)},
	Keywords = {moose-pub},
	Month = jul,
	Note = {to appear},
	Publisher = {LNCS Springer Verlag},
	Title = {Visualizing and Assessing a Compositional Approach of Business Process Design},
	Year = {2010}}

@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)},
	Keywords = {moose-pub},
	Month = jul,
	Publisher = {LNCS Springer Verlag},
	Title = {Software Process Model Blueprints},
	Year = {2010}}

@inproceedings{Berg10c,
	Affiliation = {University of Chile Pleiad Lab, DCC Santiago Chile},
	Author = {Bergel, Alexandre and Robbes, Romain and Binder, Walter},
	Booktitle = {Objects, Models, Components, Patterns},
	Doi = {10.1007/978-3-642-13953-6_16},
	Editor = {Vitek, Jan},
	Keywords = {moose-pub},
	Pages = {291-309},
	Publisher = {Springer Berlin / Heidelberg},
	Series = {Lecture Notes in Computer Science},
	Title = {Visualizing Dynamic Metrics with Profiling Blueprints},
	Volume = {6141},
	Year = {2010},
	Bdsk-Url-1 = {http://dx.doi.org/10.1007/978-3-642-13953-6_16}}

@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},
	Author = {Alexandre Bergel and Felipe Ba{\~n}ados and Romain Robbes and David R{\"o}thlisberger},
	Booktitle = {Smalltalks 2010},
	Keyword = {moose-pub},
	Keywords = {scg11 scg-pub snf-none jb12 roethlisberger skip-doi skip-pdf},
	Location = {Concepcion del Uruguay, Entre Rios, Argentina},
	Medium = {2},
	Peerreview = {yes},
	Title = {Spy: A Flexible Code Profiling Framework},
	Year = {2010}}

@inproceedings{Berg10e,
	Annote = {internationalworkshop},
	Author = {Alexandre Bergel and Mariano Abel Coca and Gabriela Arevalo and Dale Henrichs and Jannik Laval},
	Booktitle = {In Proceedings of the 4th Argentinian Smalltalk Conference 2010 (Smalltalks'10)},
	Keyword = {moose-pub},
	Title = {Memory Profiling Blueprint},
	Year = {2010}}

@inproceedings{Berg10f,
	Author = {Julio A. Hurtado and Mar\'ia Cecilia Bastarrica and Alexandre Bergel},
	Booktitle = {Proceedings of the XXIX International Conference of the SCCC},
	Keywords = {moose-pub},
	Month = nov,
	Title = {Analyzing the Scrum Process Model with AVISPA},
	Year = {2010}}

@inproceedings{Berg11a,
	Author = {Julio Ariel Hirtado Alegr\'ia and Mar\'ia Cecilia Bastarrica and Alexandre Bergel},
	Booktitle = {Proceedings of the International Conference on Software and Systems Process (ICSSP'11)},
	Keywords = {moose-pub},
	Month = may,
	Title = {Analyzing Software Process Models with AVISPA},
	Url = {http://bergel.eu/download/papers/Berg11a-icssp11.pdf},
	Year = {2011},
	Bdsk-Url-1 = {http://bergel.eu/download/papers/Berg11a-icssp11.pdf}}

@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.},
	Address = {Berlin, Heidelberg},
	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)},
	Doi = {10.1007/978-3-642-21952-8_7},
	Keywords = {scg1 scg-pub scg11 jb11 snf11 helvetia bifrost metaspy},
	Medium = {2},
	Month = jun,
	Pages = {68--82},
	Peerreview = {yes},
	Publisher = {Springer-Verlag},
	Ratex = {28%},
	Series = {LNCS},
	Title = {Domain-Specific Profiling},
	Url = {http://scg.unibe.ch/archive/papers/Berg11b-Profiling.pdf},
	Volume = {6705},
	Year = {2011},
	Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Berg11b-Profiling.pdf},
	Bdsk-Url-2 = {http://dx.doi.org/10.1007/978-3-642-21952-8_7}}

@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},
	Issn = {1477-8424},
	Journal = {Journal of Computer Languages, Systems and Structures},
	Pages = {132--150},
	Title = {Reconciling method overloading and dynamically typed scripting languages},
	Volume = {37},
	Year = {2011},
	Bdsk-Url-1 = {http://dx.doi.org/10.1016/j.cl.2011.03.002}}

@inproceedings{Berg11d,
	Author = {Alexandre Bergel},
	Booktitle = {Proceedings of the 25th European Conference on Object-Oriented Programming (ECOOP'11)},
	Month = jul,
	Pages = {533--557},
	Publisher = {Springer-Verlag},
	Series = {LNCS},
	Title = {Counting Messages as a Proxy for Average Execution Time in Pharo},
	Url = {http://bergel.eu/download/papers/Berg11c-compteur.pdf},
	Year = {2011},
	Bdsk-Url-1 = {http://bergel.eu/download/papers/Berg11c-compteur.pdf}}

@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)},
	Month = jun,
	Note = {to appear},
	Pages = {xx-xx},
	Title = {Toward Lean Development in Formally Specified Software Processes},
	Year = {2011}}

@article{Berg11g,
	Author = {Alexandre Bergel and William Harrison and Vinny Cahill and Siobh\'an Clarke},
	Journal = {IEEE Transactions on Software Engineering},
	Month = jul,
	Number = {4},
	Title = {FlowTalk: Language Support for Long-Latency Operations in Embedded Devices},
	Url = {http://bergel.eu/download/papers/Berg09cFlowtalk.pdf},
	Volume = {37},
	Year = {2011},
	Bdsk-Url-1 = {http://bergel.eu/download/papers/Berg09cFlowtalk.pdf}}

@article{Berg11h,
	Author = {Alexandre Bergel and Felipe Ba\~nados and Romain Robbes and David R\"othlisberger},
	Doi = {10.1016/j.cl.2011.10.002},
	Journal = {Journal of Computer Languages, Systems and Structures},
	Month = dec,
	Number = {1},
	Title = {Spy: A flexible Code Profiling Framework},
	Url = {http://bergel.eu/download/papers/Berg10f-Spy.pdf},
	Volume = {38},
	Year = {2011},
	Bdsk-Url-1 = {http://bergel.eu/download/papers/Berg10f-Spy.pdf},
	Bdsk-Url-2 = {http://dx.doi.org/10.1016/j.cl.2011.10.002}}

@inproceedings{Berg12a,
	Author = {Alexandre Bergel and Vanessa Pe\~na and Juan Pablo Sandoval},
	Booktitle = {Proceedings of the 1st Smalltalk Direction Workshop},
	Title = {The Hidden Face of Execution Sampling},
	Year = {2012}}

@inproceedings{Berg12b,
	Author = {Alexandre Bergel and Lorenzo Bettini},
	Booktitle = {Proceedings of the 7th International Conference on Software Paradigms Trens (ICSOFT'12)},
	Title = {Generics and Reverse Generics for Pharo},
	Year = {2012}}

@article{Berg12c,
	Author = {Alexandre Bergel and Vanessa Pe\~na},
	Doi = {10.1016/j.scico.2012.04.006},
	Journal = {Science of Computer Programming},
	Keywords = {hapao visualization},
	Number = {1},
	Pages = {86--100},
	Title = {Increasing test coverage with Hapao},
	Volume = {79},
	Year = {2012},
	Bdsk-Url-1 = {http://dx.doi.org/10.1016/j.scico.2012.04.006}}

@article{Berg12f,
	Author = {Alexandre Bergel and Felipe Ba\~nados and Romain Robbes and Walter Binder},
	Doi = {10.1002/spe.1120},
	Issn = {1097-024X},
	Journal = {Software: Practice and Experience},
	Number = {9},
	Pages = {1165--1192},
	Publisher = {John Wiley & Sons, Ltd},
	Title = {Execution profiling blueprints},
	Url = {http://dx.doi.org/10.1002/spe.1120},
	Volume = {42},
	Year = {2012},
	Bdsk-Url-1 = {http://dx.doi.org/10.1002/spe.1120}}

@article{Berg13a,
	Author = {Julio A. Hurtado Alegr\'ia and Mar\'a Cecilia Bastarrica and Alexandre Bergel},
	Doi = {10.1002/smr.1578},
	Journal = {Journal of Software: Evolution and Process},
	Publisher = {Wiley},
	Title = {Avispa: a tool for analyzing software process models},
	Year = {2013},
	Bdsk-Url-1 = {http://dx.doi.org/10.1002/smr.1578}}

@inproceedings{Berg13b,
	Author = {Alexandre Bergel and Vanessa Pe\~na and Chris Thorgrimsson and Chung Ho Huang},
	Booktitle = {Proceedings of the 7th Workshop on Dynamic Languages and Applications},
	Title = {Visual Patterns with Profiling Blueprint},
	Year = {2013}}

@inproceedings{Berg13c,
	Author = {Alexandre Bergel},
	Booktitle = {Proceedings of the 1st Workshop on Live Programming (collocated with ICSE'13)},
	Title = {Interactive Code Execution Profiling},
	Year = {2013}}

@inproceedings{Berg13d,
	Author = {Juan Pablo Sandoval Alcocer and Alexandre Bergel},
	Booktitle = {Proceedings of the 13th International Workshop on Principles on Software Evolution},
	Title = {Tracking Performance Failures with Rizel},
	Year = {2013}}

@inproceedings{Berg13e,
	Author = {Alexandre Bergel and Lorenzo Bettini},
	Booktitle = {Proceedings of Proceedings of the 9th Joint Meeting of the European Software Engineering Conference and the ACM SIGSOFT Symposium on the Foundations of Software Engineering (ESEC/FSE'13)},
	Title = {Artifact Evaluation (Summary)},
	Year = {2013}}

@book{Berg13f,
	Abstract = {Pharo is a dynamic object-oriented programming language. Pharo's model and syntax are uniform, simple and expressive. These properties, when added to a powerful and flexible programming environment, regularly attract new developers. The community around Pharo has been steadily increasing over the years. This community is actively creating exciting and innovative software artifacts helping the development of advanced software systems. Pharo heightens the software building experience to its best. It offers open and object-oriented programming environments and libraries.
The book covers a large spectrum of topics ranging from central language aspects to innovative frameworks and libraries. This book contains unique material often presented in a tutorial form with many hand-on exercises.
Everybody will learn something reading this book: programmers familiar with Pharo will enjoy the highlights made of some particularly beautiful aspects of Pharo as well as discovering new and powerful frameworks. Practitioners making their debut with Pharo will take on a wonderful journey in the realm of objects.
Deep into Pharo presents both internal aspects of Pharo and libraries that prove to be important for academic, business and development perspectives.},
	Author = {Alexandre Bergel and Damien Cassou and St\'ephane Ducasse and Jannik Laval},
	Isbn = {978-3-9523341-6-4},
	Keywords = {Smalltalk, Pharo, Object-Oriented Programming, Live Programming},
	Pages = 420,
	Publisher = {Square Bracket Associates},
	Title = {Deep Into Pharo},
	Url = {http://books.pharo.org/deep-into-pharo/},
	Year = {2013},
	Bdsk-Url-1 = {http://rmod.lille.inria.fr/pbe2/}}

@inproceedings{Berg14a,
	Author = {Alexandre Bergel and Sergio Maass and St\'ephane Ducasse and Tudor G\^irba},
	Booktitle = {Proceedings of 2nd IEEE Working Conference on Software Visualization (VISSOFT NIER)},
	Title = {A Domain-Specific Language For Visualizing Software Dependencies as a Graph},
	Url = {https://dl.dropboxusercontent.com/u/31543901/MyPapers/Berg14c-Graph.pdf},
	Year = {2014},
	Bdsk-Url-1 = {https://dl.dropboxusercontent.com/u/31543901/MyPapers/Berg14c-Graph.pdf},
	Keywords = {Tudor Girba, girba}}

@inproceedings{Berg14b,
	Author = {Alexandre Bergel},
	Booktitle = {7th Seminar Series on Advanced Techniques \& Tools for Software Evolution (SATToSE 14)},
	Institution = {University of Chile},
	Month = jul,
	Title = {A tale about software profiling, debugging, testing, and visualization},
	Url = {https://dl.dropboxusercontent.com/u/31543901/MyPapers/Berg14a-Sattose.pdf},
	Year = {2014},
	Bdsk-Url-1 = {https://dl.dropboxusercontent.com/u/31543901/MyPapers/Berg14a-Sattose.pdf}}

@techreport{Berg15a,
  author = {Alexandre Bergel and Alejandro Infante and Juan Pablo Sandoval Alcocer},
  Number = {TR/DCC-2015-5},
  Institution = {University of Chile},
  Month = nov,
  Title = {Reducing Waste in Expandable Collections: The Pharo Case},
  Year = {2015}
}

@inproceedings{Berg16a,
	Annote = {internationalconference},
	Author = {Ignacio Fernandez and Alexandre Bergel and Juan Pablo Sandoval Alcocer and Alejandro Infante and Tudor G\^irba},
	Booktitle = {Proceedings of the 24th IEEE International Conference on Program Comprehension (ICPC '16)},
	Title = {Glyph-Based Software Component Identification},
	Keywords = {Tudor Girba, girba},
	Year = {2016}}

@inproceedings{Berg16b,
	Author = {Alexandre Bergel},
	Booktitle = {Proceedings of the International Workshop on Smalltalk Technologies (IWST'16)},
	Title = {Power and Energy Code Profiling in Pharo},
	Year = {2016}}

@book{Berg16c,
  title={Agile Visualization},
  author={Alexandre Bergel},
  isbn={9781365314094},
  url={http://AgileVisualization.com},
  year={2016},
  publisher={LULU Press}
}

@techreport{Berg17a,
	Title = {Visually Exploring Scientific Communities --- Extending {EggShell}'s Model and Visualization},
	Author = {Silas David Berger},
	Abstract = {Researchers within a community gather in scientific conferences
		periodically. As a result, the scientific output, reflected in the
		papers published in conferences, carries valuable knowledge
		about the underlying community, such as collaboration groups and
		the history of the evolution of topics. Researchers can use this
		knowledge to identify i) candidates for collaboration for future
		projects, ii) active topics of research, and iii) relevant papers
		in their field of research. However, to obtain this knowledge,
		researchers would have to collect and analyze data such as titles,
		authors, and keywords that might be spread across thousands of
		papers. The size and the number of relations in such data sets can
		make the analysis hard using tabular representations such a
		spreadsheet. Instead, visualizations provide users a graphical
		representation of the attributes and relations of data on which
		they can reflect. Through visualizations researchers can obtain an
		overview of a scientific community, analyze patterns of evolution,
		and identify entities of interesting. We propose ExtendedEggShell
		(EES), a unified framework for extracting, modeling and
		visualizing scientific communities. EES enables users to visualize
		the collaboration network of a community based in node-link dia-
		grams, and interact with the graphs by posing queries inspired by
		meaningful keywords in word clouds. We evaluate the performance of
		EES by analyzing the complete set of 366 papers published in the
		software visualization community (VISSOFT). We demonstrate the
		tool via selected usage examples, on which we analyze 1084 papers
		from the object-oriented, systems, languages and applications
		community (OOPSLA). We found that visualizing scientific
		communities as bigraphs using node-link diagrams helps users to
		better understand the collaboration within these communities.},
	Institution = {University of Bern},
	Keywords = {scg-bp snf-none scg17 jb17},
	Type = {Bachelor's thesis},
	Url = {http://scg.unibe.ch/archive/projects/Berg17a.pdf},
	Month = aug,
	Year = {2017}
}

@article{Berg18a,
title = {Reducing resource consumption of expandable collections: The Pharo case},
journal = {Science of Computer Programming},
volume = {161},
pages = {34--56},
year = {2018},
note = {Advances in Dynamic Languages},
issn = {0167-6423},
doi = {10.1016/j.scico.2017.12.009},
url = {http://www.sciencedirect.com/science/article/pii/S0167642317302940},
author = {Alexandre Bergel and Alejandro Infante and Sergio Maass and Juan Pablo Sandoval Alcocer},
keywords = {Collection, Pharo, Lua, Profiling, Experiment}
}

@inproceedings{Berg19a,
author={Bergel, Alexandre
and Bhatele, Abhinav
and Boehme, David
and Gralka, Patrick
and Griffin, Kevin
and Hermanns, Marc-Andr{\'e}
and Okanovi{\'{c}}, Du{\v{s}}an
and Pearce, Olga
and Vierjahn, Tom},
editor={Bhatele, Abhinav
and Boehme, David
and Levine, Joshua A.
and Malony, Allen D.
and Schulz, Martin},
title={Visual Analytics Challenges in Analyzing Calling Context Trees},
booktitle={Programming and Performance Visualization Tools},
year={2019},
publisher={Springer International Publishing},
address={Cham},
pages={233--249},
abstract={Performance analysis is an integral part of developing and optimizing parallel applications for high performance computing (HPC) platforms. Hierarchical data from different sources is typically available to identify performance issues or anomalies. Some hierarchical data such as the calling context can be very large in terms of breadth and depth of the hierarchy. Classic tree visualizations quickly reach their limits in analyzing such hierarchies with the abundance of information to display. In this position paper, we identify the challenges commonly faced by the HPC community in visualizing hierarchical performance data, with a focus on calling context trees. Furthermore, we motivate and lay out the bases of a visualization that addresses some of these challenges.},
isbn={978-3-030-17872-7}
}

@article{Berg19b,
  author = {Berger, Emery D. and Hollenbeck, Celeste and Maj, Petr and Vitek, Olga and Vitek, Jan},
  title = {On the Impact of Programming Languages on Code Quality: A Reproduction Study},
  year = {2019},
  issue_date = {October 2019},
  publisher = {Association for Computing Machinery},
  address = {New York, NY, USA},
  volume = {41},
  number = {4},
  issn = {0164-0925},
  url = {https://arxiv.org/pdf/1901.10220.pdf},
  doi = {10.1145/3340571},
  journal = {ACM Trans. Program. Lang. Syst.},
  month = oct, articleno = {Article 21},
  numpages = {24},
  keywords = {Programming Languages on Code Quality}
}

@misc{Berg19c,
	Author={Michael K. Bergman},
	Title = {A Common Sense View of Knowledge Graphs},
	Year={2019},
	url={https://www.mkbergman.com/2244/a-common-sense-view-of-knowledge-graphs/},
	keywords = {knowledge-graphs}
}

@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{Bern05a,
	Author = {Berndl, M. and Vitale, B. and Zaleski, M. and Brown, A.D.},
	Booktitle = {Code Generation and Optimization, 2005. CGO 2005. International Symposium on},
	Doi = {10.1109/CGO.2005.14},
	Keywords = {Java; OCaml; branch prediction; bytecodes; context threading; deeply-pipelined architectures; direct-threaded interpreters; dispatch technique; hardware program counter; linear virtual instructions; sequential control flow; virtual branching instructions; virtual machine interpreters; virtual program control flow; Java; computer architecture; instruction sets; multi-threading; program control structures; program interpreters; virtual machines;},
	Month = mar,
	Pages = {15 -- 26},
	Title = {Context threading: a flexible and efficient dispatch technique for virtual machine interpreters},
	Year = {2005},
	Bdsk-Url-1 = {http://dx.doi.org/10.1109/CGO.2005.14}}

@inproceedings{Bern07a,
	Acmid = {1294953},
	Address = {New York, NY, USA},
	Author = {Bernstein, Abraham and Ekanayake, Jayalath and Pinzger, Martin},
	Booktitle = {Ninth international workshop on Principles of software evolution: in conjunction with the 6th ESEC/FSE joint meeting},
	Doi = {10.1145/1294948.1294953},
	Isbn = {978-1-59593-722-3},
	Keywords = {decision tree learner, defect prediction, mining software repository},
	Location = {Dubrovnik, Croatia},
	Numpages = {8},
	Pages = {11--18},
	Publisher = {ACM},
	Series = {IWPSE '07},
	Title = {Improving defect prediction using temporal features and non linear models},
	Url = {http://doi.acm.org/10.1145/1294948.1294953},
	Year = {2007},
	Bdsk-Url-1 = {http://doi.acm.org/10.1145/1294948.1294953},
	Bdsk-Url-2 = {http://dx.doi.org/10.1145/1294948.1294953}}

@inproceedings{Bern07b,
 author = {Berner, Stefan and Weber, Roland and Keller, Rudolf K.},
 title = {Enhancing Software Testing by Judicious Use of Code Coverage Information},
 booktitle = {Proceedings of the 29th International Conference on Software Engineering},
 series = {ICSE '07},
 year = {2007},
 isbn = {0-7695-2828-7},
 pages = {612--620},
 numpages = {9},
 url = {http://dx.doi.org/10.1109/ICSE.2007.34},
 doi = {10.1109/ICSE.2007.34},
 publisher = {IEEE Computer Society},
 address = {Washington, DC, USA}
}

@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},
	Isbn = {0-262-16188-5},
	Publisher = {MIT Press},
	Title = {The Foundations of {E}sterel},
	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},
	Booktitle = {Proof, Language, and Interaction, Essays in Honour of Robin Milner},
	Isbn = {978-0-262-16188-6},
	Keywords = {damiencbib},
	Title = {The foundations of {Esterel}},
	Year = {2000}}

@incollection{Bers91a,
	Acmid = {114893},
	Address = {Cambridge, MA, USA},
	Author = {Berstel, J. and Boasson, L.},
	Booktitle = {Handbook of theoretical computer science},
	Chapter = {Context-free languages},
	Editor = {van Leeuwen, Jan},
	Isbn = {0-444-88074-7},
	Numpages = {44},
	Pages = {59--102},
	Publisher = {MIT Press},
	Title = {Context-free languages},
	Url = {http://dl.acm.org/citation.cfm?id=114891.114893},
	Year = {1990},
	Bdsk-Url-1 = {http://dl.acm.org/citation.cfm?id=114891.114893}}

@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 scg-none 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}}

@article{Bert05a,
	Author = {Eberhard Bertsch and Mark-jan Nederhof},
	Journal = {Journal of Mathematical Research on Fromal and Natural Languages},
	Number = {4},
	Pages = {231--258},
	Title = {Gap Parsing with LL(1) Grammars},
	Volume = {8},
	Year = {2005}
}

@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{Bert06a,
	Acmid = {1792155},
	Address = {Berlin, Heidelberg},
	Author = {Bertolino, Antonia and Muccini, Henry and Polini, Andrea},
	Booktitle = {Proceedings of the 3rd international conference on Rapid integration of software engineering techniques},
	Isbn = {3-540-71875-3, 978-3-540-71875-8},
	Location = {Geneva, Switzerland},
	Numpages = {16},
	Pages = {98--113},
	Publisher = {Springer-Verlag},
	Series = {RISE'06},
	Title = {Architectural verification of black-box component-based systems},
	Url = {http://dl.acm.org/citation.cfm?id=1792147.1792155},
	Year = {2007},
	Bdsk-Url-1 = {http://dl.acm.org/citation.cfm?id=1792147.1792155}}

@inproceedings{Bert09a,
	Address = {Bordeaux, France},
	Author = {Bertran, Benjamin and Consel, Charles and Kadionik, Patrice and Lamer, Bastien},
	Booktitle = {ICIN'09: Proceedings of the 13th International Conference on Intelligence in Next Generation Networks},
	Doi = {10.1109/ICIN.2009.5357075},
	Keywords = {damiencbib},
	Pages = {1--6},
	Publisher = {IEEE},
	Title = {A {SIP}-Based Home Automation Platform: An experimental study},
	Year = {2009},
	Bdsk-Url-1 = {http://dx.doi.org/10.1109/ICIN.2009.5357075}}

@inproceedings{Bert10a,
	Address = {Cape Town, South Africa},
	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},
	Keywords = {damiencbib},
	Pages = {1--5},
	Publisher = {IEEE Press},
	Title = {{SIP} as a Universal Communication Bus: A Methodology and an Experimental Study},
	Year = {2010},
	Bdsk-Url-1 = {http://dx.doi.org/10.1109/ICC.2010.5502591}}

@article{Bert12a,
	Abstract = {We present DiaSuite, a tool suite that uses a
				  software design approach to drive the development
				  process. DiaSuite focuses on a specific domain,
				  namely Sense/Compute/Control (SCC) applications. It
				  comprises a domain-specific design language, a
				  compiler producing a Java programming framework, a
				  2D-renderer to simulate an application, and a
				  deployment framework. We have validated our tool
				  suite on a variety of concrete applications in areas
				  including telecommunications, building automation,
				  robotics and avionics.},
	Author = {Bertran, Benjamin and Bruneau, Julien and Cassou, Damien and Loriant, Nicolas and Balland, Emilie and Consel, Charles},
	Coreranking = {A},
	Doi = {10.1016/j.scico.2012.04.001},
	Impactfactorval = {1.304},
	Impactfactoryear = {2010},
	Issn = {0167-6423},
	Journal = {SCP: Science of Computer Programming, Fourth special issue on Experimental Software and Toolkits},
	Keywords = {diaspec DSL Domain-specific design language Tool-based development methodology Generative programming Pervasive computing},
	Publisher = {Elsevier},
	Title = {DiaSuite: a Tool Suite To Develop Sense/Compute/Control Applications},
	Url = {http://hal.inria.fr/docs/00/70/29/09/PDF/diasuite.pdf},
	Year = {2012},
	Bdsk-Url-1 = {http://hal.inria.fr/docs/00/70/29/09/PDF/diasuite.pdf},
	Bdsk-Url-2 = {http://dx.doi.org/10.1016/j.scico.2012.04.001}}

@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}}

@article{Bess10a,
	Acmid = {1646374},
	Address = {New York, NY, USA},
	Author = {Bessey, Al and Block, Ken and Chelf, Ben and Chou, Andy and Fulton, Bryan and Hallem, Seth and Henri-Gros, Charles and Kamsky, Asya and McPeak, Scott and Engler, Dawson},
	Doi = {10.1145/1646353.1646374},
	Issn = {0001-0782},
	Issue_Date = {February 2010},
	Journal = {Commun. ACM},
	Month = feb,
	Number = {2},
	Numpages = {10},
	Pages = {66--75},
	Publisher = {ACM},
	Title = {A few billion lines of code later: using static analysis to find bugs in the real world},
	Url = {http://doi.acm.org/10.1145/1646353.1646374},
	Volume = {53},
	Year = {2010},
	Bdsk-Url-1 = {http://doi.acm.org/10.1145/1646353.1646374},
	Bdsk-Url-2 = {http://dx.doi.org/10.1145/1646353.1646374}}

@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{Bett07a,
	Abstract = {We present an extension for a Java-like language with a mechanism
	  for dynamically extending object behaviors. Our approach consists
	  in moving the addition of new features from class (static) level
	  to object (dynamic) level: the basic features of entities (representing
	  their structure) are separated from the additional ones (wrapper
	  classes whose instances represent run-time added behaviors). At
	  run-time, these entities can be dynamically composed by instantiating
	  wrapper objects which are attached to basic entities. We
	  formalize our extension by adding the new constructs to Featherweight
	  Java; the core language so extended (Featherweight Wrap
	  Java) is type safe.},
	Author = {Bettini, Lorenzo and Capecchi, Sara and Giachino, Elena},
	Booktitle = {Proc. of SAC (The 22nd Annual ACM Symposium on Applied Computing), Special Track on Object-Oriented Programming Languages and Systems (OOPS)},
	Date-Added = {2012-09-06 14:22:56 +0000},
	Date-Modified = {2013-01-21 14:28:23 +0000},
	Keywords = {proxy;},
	Pages = {1094-1100},
	Publisher = {ACM Press},
	Rating = {5},
	Title = {Featherweight Wrap {Java}},
	Url = {http://gdn.dsi.unifi.it/phpbibliography/files/wrapjava.pdf},
	Year = {2007},
	Bdsk-Url-1 = {http://gdn.dsi.unifi.it/phpbibliography/files/wrapjava.pdf}}

@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}}

@inproceedings{Bett08e,
	author = {Bettenburg, Nicolas and Just, Sascha and Schr\"{o}ter, Adrian and Weiss, Cathrin and Premraj, Rahul and Zimmermann, Thomas},
	title = {What Makes a Good Bug Report?},
	year = {2008},
	isbn = {9781595939951},
	publisher = {Association for Computing Machinery},
	address = {New York, NY, USA},
	url = {https://doi.org/10.1145/1453101.1453146},
	doi = {10.1145/1453101.1453146},
	booktitle = {Proceedings of the 16th ACM SIGSOFT International Symposium on Foundations of Software Engineering},
	pages = {308-318},
	numpages = {11},
	location = {Atlanta, Georgia},
	series = {SIGSOFT '08/FSE-16}
}

@article{Bett09a,
	Acmid = {1518655},
	Address = {Amsterdam, The Netherlands, The Netherlands},
	Author = {Bettini, Lorenzo and Capecchi, Sara and Venneri, Betti},
	Doi = {10.1016/j.scico.2009.01.007},
	Issn = {0167-6423},
	Issue = {5-6},
	Journal = {Sci. Comput. Program.},
	Keywords = {Dynamic overloading, Featherweight Java, Multi-methods, Object-oriented languages, Static overloading, Type system},
	Month = mar,
	Numpages = {18},
	Pages = {261--278},
	Publisher = {Elsevier North-Holland, Inc.},
	Title = {Featherweight Java with dynamic and static overloading},
	Url = {http://portal.acm.org/citation.cfm?id=1518341.1518655},
	Volume = {74},
	Year = {2009},
	Bdsk-Url-1 = {http://portal.acm.org/citation.cfm?id=1518341.1518655},
	Bdsk-Url-2 = {http://dx.doi.org/10.1016/j.scico.2009.01.007}}

@inproceedings{Bett09b,
	Acmid = {1557907},
	Address = {New York, NY, USA},
	Articleno = {9},
	Author = {Bettini, Lorenzo and Capecchi, Sara and Damiani, Ferruccio},
	Booktitle = {Proceedings of the 11th International Workshop on Formal Techniques for Java-like Programs},
	Doi = {10.1145/1557898.1557907},
	Isbn = {978-1-60558-540-6},
	Keywords = {featherweight Java, trait, type system},
	Location = {Genova, Italy},
	Numpages = {7},
	Pages = {9:1--9:7},
	Publisher = {ACM},
	Series = {FTfJP '09},
	Title = {A mechanism for flexible dynamic trait replacement},
	Url = {http://doi.acm.org/10.1145/1557898.1557907},
	Year = {2009},
	Bdsk-Url-1 = {http://doi.acm.org/10.1145/1557898.1557907},
	Bdsk-Url-2 = {http://dx.doi.org/10.1145/1557898.1557907}}

@inproceedings{Bett09c,
  title={An empirical study on the risks of using off-the-shelf techniques for processing mailing list data},
  author={Bettenburg, Nicolas and Shihab, Emad and Hassan, Ahmed E},
  booktitle={2009 IEEE International Conference on Software Maintenance},
  pages={539--542},
  year={2009},
  organization={IEEE}
}

@article{Bett11a,
	Author = {Bettini, Lorenzo and Capecchi, Sara and Damiani, Ferruccio},
	Date-Added = {2013-02-28 14:17:24 +0000},
	Date-Modified = {2013-02-28 14:17:42 +0000},
	Doi = {10.1016/j.scico.2012.11.003},
	Journal = {Science of Computer Programming},
	Keywords = {proxy},
	Publisher = {Springer},
	Title = {On Flexible Dynamic Trait Replacement for {Java}-like Languages},
	Url = {http://www.di.unito.it/~damiani/papers/SUBscp1.pdf},
	Year = {2011},
	Bdsk-Url-1 = {http://www.di.unito.it/~damiani/papers/SUBscp1.pdf},
	Bdsk-Url-2 = {http://dx.doi.org/10.1016/j.scico.2012.11.003}}

@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}}

@inproceedings{Beva05a,
 author = {Bevan, Jennifer and Whitehead,Jr., E. James and Kim, Sunghun and Godfrey, Michael},
 title = {Facilitating Software Evolution Research with Kenyon},
 booktitle = {Proceedings of the 10th European Software Engineering Conference Held Jointly with 13th ACM SIGSOFT International Symposium on Foundations of Software Engineering},
 series = {ESEC/FSE-13},
 year = {2005},
 isbn = {1-59593-014-0},
 location = {Lisbon, Portugal},
 pages = {177--186},
 numpages = {10},
 url = {http://doi.acm.org/10.1145/1081706.1081736},
 doi = {10.1145/1081706.1081736},
 acmid = {1081736},
 publisher = {ACM},
 address = {New York, NY, USA},
 keywords = {software configuration management, software evolution, software stratigraphy}}

@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{Beye14a,
 author = {Beyer, Stefanie and Pinzger, Martin},
 title = {A Manual Categorization of {Android} App Development Issues on {Stack Overflow}},
 booktitle = {Proceedings of the 2014 IEEE International Conference on Software Maintenance and Evolution},
 series = {ICSME '14},
 year = {2014},
 isbn = {978-1-4799-6146-7},
 pages = {531--535},
 numpages = {5},
 url = {http://dx.doi.org/10.1109/ICSME.2014.88},
 doi = {10.1109/ICSME.2014.88},
 acmid = {2706024},
 publisher = {IEEE Computer Society},
 Keywords = {dev-questions},
 address = {Washington, DC, USA}
}

@article{Beye19a,
  title={What kind of questions do developers ask on Stack Overflow? A comparison of automated approaches to classify posts into question categories},
  author={Beyer, Stefanie and Macho, Christian and Di Penta, Massimiliano and Pinzger, Martin},
  journal={Empirical Software Engineering},
  pages={1--44},
  year={2019},
  publisher={Springer}
}

@inproceedings{Beze10a,
 author = {Bezerianos, A. and Chevalier, F. and Dragicevic, P. and Elmqvist, N. and Fekete, J. D.},
 title = {Graphdice: A System for Exploring Multivariate Social Networks},
 booktitle = {Proceedings of the 12th Eurographics / IEEE - VGTC Conference on Visualization},
 series = {EuroVis'10},
 year = {2010},
 location = {Bordeaux, France},
 pages = {863--872},
 numpages = {10},
 url = {http://dx.doi.org/10.1111/j.1467-8659.2009.01687.x},
 doi = {10.1111/j.1467-8659.2009.01687.x},
 acmid = {2421849},
 publisher = {The Eurographs Association \&\#38; John Wiley \&\#38; Sons, Ltd.},
 address = {Chichester, UK}
}

@inproceedings{Beze15a,
author={C. P. Bezemer and J. Pouwelse and B. Gregg},
booktitle={2015 IEEE 22nd International Conference on Software Analysis, Evolution, and Reengineering (SANER)},
title={Understanding software performance regressions using differential flame graphs},
year={2015},
pages={535-539},
abstract={Flame graphs are gaining rapidly in popularity in industry to visualize performance profiles collected by stack-trace based profilers. In some cases, for example, during performance regression detection, profiles of different software versions have to be compared. Doing this manually using two or more flame graphs or textual profiles is tedious and error-prone. In this `Early Research Achievements'-track paper, we present our preliminary results on using differential flame graphs instead. Differential flame graphs visualize the differences between two performance profiles. In addition, we discuss which research fields we expect to benefit from using differential flame graphs. We have implemented our approach in an open source prototype called FLAMEGRAPHDIFF, which is available on GitHub. FLAMEGRAPHDIFF makes it easy to generate interactive differential flame graphs from two existing performance profiles. These graphs facilitate easy tracing of elements in the different graphs to ease the understanding of the (d)evolution of the performance of an application.},
keywords={data visualisation;graphs;public domain software;regression analysis;software performance evaluation;FLAMEGRAPHDIFF;GitHub;differential flame graphs;open source prototype;performance profile visualization;performance regression detection;software performance regressions;stack-trace based profilers;textual profiles;Data visualization;Fires;Graphical user interfaces;Image color analysis;Measurement;Peer-to-peer computing;Software},
doi={10.1109/SANER.2015.7081872},
ISSN={1534-5351},
month=mar
}

@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,
	Address = {San Diego, CA, USA},
	Author = {Jean B\'ezivin and Olivier Gerb\'e},
	Booktitle = {ASE'01: Proceedings of 16th International Conference on Automated Software Engineering},
	Doi = {10.1109/ASE.2001.989813},
	Issn = {1527-1366},
	Keywords = {metamodeling damiencbib mde mda omg model},
	Month = nov,
	Pages = {273--282},
	Publisher = {IEEE Computer Society},
	Title = {Towards a Precise Definition of the {OMG/MDA} Framework},
	Url = {http://www.sciences.univ-nantes.fr/lina/atl/www/papers/ASE01.OG.JB.pdf},
	Year = {2001},
	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}}

@inproceedings{Bezi03b,
  title={MDA components: Challenges and Opportunities},
  author={B{\'e}zivin, Jean and G{\'e}rard, S{\'e}bastien and Muller, Pierre-Alain and Rioux, Laurent},
  year={2003},
  booktitle={Metamodelling for {MDA}, First International Workshop York, UK},
  url={https://www.cs.york.ac.uk/metamodel4mda/onlineProceedingsFinal.pdf},
  keywords = {megamodels}
}

@incollection{Bezi04a,
  title={Modeling in the large and modeling in the small},
  author={B{\'e}zivin, Jean and Jouault, Fr{\'e}d{\'e}ric and Rosenthal, Peter and Valduriez, Patrick},
  booktitle={Model Driven Architecture},
  pages={33--46},
  year={2004},
  publisher={Springer},
  url={https://link.springer.com/content/pdf/10.1007%2F11538097_3.pdf},
  doi={10.1007/11538097_3},
  keywords = {megamodels}
}

@inproceedings{Bezi04b,
  title={On the need for megamodels},
  author={B{\'e}zivin, Jean and Jouault, Fr{\'e}d{\'e}ric and Valduriez, Patrick},
  booktitle={Proceedings of the OOPSLA/GPCE: Best Practices for Model-Driven Software Development workshop, 19th Annual ACM Conference on Object-Oriented Programming, Systems, Languages, and Applications},
  pages={1--9},
  year={2004},
  organization={Citeseer},
  url={https://s23m.com/oopsla2004/bezivin-megamodel.pdf},
  keywords = {megamodels}
}

@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}}

@inproceedings{Bhat11a,
	Acmid = {2032524},
	Address = {Berlin, Heidelberg},
	Author = {Bhattacharya, Suparna and Nanda, Mangala Gowri and Gopinath, K. and Gupta, Manish},
	Booktitle = {Proceedings of the 25th European conference on Object-oriented programming},
	Isbn = {978-3-642-22654-0},
	Location = {Lancaster, UK},
	Numpages = {25},
	Pages = {408--432},
	Publisher = {Springer-Verlag},
	Series = {ECOOP'11},
	Title = {Reuse, recycle to de-bloat software},
	Url = {http://dl.acm.org/citation.cfm?id=2032497.2032524},
	Year = {2011},
	Bdsk-Url-1 = {http://dl.acm.org/citation.cfm?id=2032497.2032524}}

@misc{BiasVariance,
	key    = {BiasVariance},
	title  = {Understanding the Bias-Variance Tradeoff},
	url    = {http://scott.fortmann-roe.com/docs/BiasVariance.html},
	note    = {http://scott.fortmann-roe.com/docs/BiasVariance.html},
	year   = {accessed June 9, 2016}
}

@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{Bidd17a,
	author = {Biddle, Robert and Noble, James and Tempero, Ewan},
	title = {Patterns for Usage Centred Design},
	year = {2017},
	isbn = {9781941652060},
	publisher = {The Hillside Group},
	address = {USA},
	booktitle = {Proceedings of the 24th Conference on Pattern Languages of Programs},
	articleno = {Article 25},
	numpages = {32},
	keywords = {usage centred design},
	location = {Vancouver, British Columbia, Canada},
	series = {PLoP '17},
	url = {https://dl.acm.org/doi/10.5555/3290281.3290311}
}

@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}}

@inproceedings{Bieh07a,
	Acmid = {1240823},
	Address = {New York, NY, USA},
	Author = {Biehl, Jacob T. and Czerwinski, Mary and Smith, Greg and Robertson, George G.},
	Booktitle = {Proceedings of the SIGCHI Conference on Human Factors in Computing Systems},
	Doi = {10.1145/1240624.1240823},
	Isbn = {978-1-59593-593-9},
	Keywords = {awareness, collaborative programming, field study, large display, visualization},
	Location = {San Jose, California, USA},
	Numpages = {10},
	Pages = {1313--1322},
	Publisher = {ACM},
	Series = {CHI '07},
	Title = {FASTDash: a visual dashboard for fostering awareness in software teams},
	Url = {http://doi.acm.org/10.1145/1240624.1240823},
	Year = {2007},
	Bdsk-Url-1 = {http://doi.acm.org/10.1145/1240624.1240823},
	Bdsk-Url-2 = {http://dx.doi.org/10.1145/1240624.1240823}}

@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},
	Booktitle = {ECOOP},
	Doi = {10.1007/11531142_12},
	Pages = {262--286},
	Publisher = {Springer-Verlag},
	Title = {First-class relationships in an object-oriented language},
	Year = {2005},
	Bdsk-Url-1 = {http://dx.doi.org/10.1007/11531142_12}}

@inproceedings{Bier05b,
	Acmid = {1081741},
	Address = {New York, NY, USA},
	Author = {Bierhoff, Kevin and Aldrich, Jonathan},
	Booktitle = {Proceedings of the 10th European software engineering conference held jointly with 13th ACM SIGSOFT international symposium on Foundations of software engineering},
	Doi = {10.1145/1081706.1081741},
	Isbn = {1-59593-014-0},
	Keywords = {behavioral subtyping, refinement, substitutability, typestate, union and intersection types},
	Location = {Lisbon, Portugal},
	Numpages = {10},
	Pages = {217--226},
	Publisher = {ACM},
	Series = {ESEC/FSE-13},
	Title = {Lightweight object specification with typestates},
	Url = {http://doi.acm.org/10.1145/1081706.1081741},
	Year = {2005},
	Bdsk-Url-1 = {http://doi.acm.org/10.1145/1081706.1081741},
	Bdsk-Url-2 = {http://dx.doi.org/10.1145/1081706.1081741}}

@inproceedings{Bier08a,
	Acmid = {1428524},
	Address = {Berlin, Heidelberg},
	Author = {Bierman, Gavin and Parkinson, Matthew and Noble, James},
	Booktitle = {Proceedings of the 22nd European conference on Object-Oriented Programming},
	Doi = {/10.1007/978-3-540-70592-5_11},
	Isbn = {978-3-540-70591-8},
	Keywords = {versioning; programming-language; type-system; software-evolution},
	Location = {Paphos, Cypress},
	Numpages = {25},
	Pages = {235--259},
	Publisher = {Springer-Verlag},
	Rating = {5},
	Series = {ECOOP '08},
	Title = {UpgradeJ: Incremental Typechecking for Class Upgrades},
	Year = {2008},
	Bdsk-Url-1 = {http://dx.doi.org/10.1007/978-3-540-70592-5_11}}

@inproceedings{Bier14a,
	author={Bierman, Gavin and Abadi, Mart\`{i}n and Torgersen, Mads},
	title={Understanding {T}ype{S}cript},
	booktitle={ECOOP 2014 -- Object-Oriented Programming: 28th European Conference, Uppsala, Sweden, July 28 -- August 1, 2014. Proceedings},
	year={2014},
	publisher={Springer Berlin Heidelberg},
	address={Berlin, Heidelberg},
	pages={257--281},
	isbn={978-3-662-44202-9},
	doi={10.1007/978-3-662-44202-9_11},
	url={http://dx.doi.org/10.1007/978-3-662-44202-9_11}
}

@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{Bigg14a,
  title={Configuring latent dirichlet allocation based feature location},
  author={Biggers, Lauren R and Bocovich, Cecylia and Capshaw, Riley and Eddy, Brian P and Etzkorn, Letha H and Kraft, Nicholas A},
  journal={Empirical Software Engineering},
  volume={19},
  number={3},
  pages={465--500},
  year={2014},
  publisher={Springer}
}

@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,
	Address = {New York, NY, USA},
	Author = {Binder, Walter},
	Doi = {10.1002/spe.v36:6},
	Issn = {0038-0644},
	Journal = {Softw. Pract. Exper.},
	Number = {6},
	Pages = {615--650},
	Publisher = {John Wiley \& Sons, Inc.},
	Title = {Portable and accurate sampling profiling for Java},
	Volume = {36},
	Year = {2006},
	Bdsk-Url-1 = {http://dx.doi.org/10.1002/spe.v36:6}}

@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{Bink04a,
	Author = {David Binkley and Mark Harman},
	Journal = {Advances in Computers},
	Pages = {105 - 178},
	Title = {A Survey of Empirical Results on Program Slicing},
	Volume = {62},
	Year = {2004}}

@inproceedings{Bink05a,
	Author = {Binkley, D. and Ceccato, M. and Harman, M. and Ricca, F. and Tonella, P.},
	Booktitle = {Software Maintenance, 2005. ICSM'05. Proceedings of the 21st IEEE International Conference on},
	Doi = {10.1109/ICSM.2005.27},
	Issn = {1063-6773},
	Month = sep,
	Pages = {27-36},
	Title = {Automated refactoring of object oriented code into aspects},
	Year = {2005},
	Bdsk-Url-1 = {http://dx.doi.org/10.1109/ICSM.2005.27}}

@inproceedings{Bink07a,
	Address = {Washington, DC, USA},
	Author = {Binkley, David},
	Booktitle = {2007 Future of Software Engineering},
	Doi = {10.1109/FOSE.2007.27},
	Isbn = {0-7695-2829-5},
	Numpages = {16},
	Pages = {104--119},
	Publisher = {IEEE Computer Society},
	Series = {FOSE '07},
	Title = {Source Code Analysis: A Road Map},
	Year = {2007},
	Bdsk-Url-1 = {http://dx.doi.org/10.1109/FOSE.2007.27}}

@inproceedings{Bink09a,
	Author = {Binkley, D. and Davis, M. and Lawrie, D. and Morrell, C.},
	Booktitle = {Program Comprehension, 2009. ICPC '09. IEEE 17th International Conference on},
	Doi = {10.1109/ICPC.2009.5090039},
	Issn = {1092-8138},
	Month = {may},
	Pages = {158 -167},
	Title = {To camelcase or underscore},
	Year = {2009},
	Bdsk-Url-1 = {http://dx.doi.org/10.1109/ICPC.2009.5090039}}

@inproceedings{Bink13a,
  title={Task-driven software summarization},
  author={Binkley, Dave and Lawrie, Dawn and Hill, Emily and Burge, Janet and Harris, Ian and Hebig, Regina and Keszocze, Oliver and Reed, Karl and Slankas, John},
  booktitle={2013 IEEE International Conference on Software Maintenance},
  pages={432--435},
  year={2013},
  keywords = {Code Summarization},
  organization={IEEE}
}

@article{Bink13b,
  title={The impact of identifier style on effort and comprehension},
  author={Binkley, Dave and Davis, Marcia and Lawrie, Dawn and Maletic, Jonathan I and Morrell, Christopher and Sharif, Bonita},
  journal={Empirical Software Engineering},
  volume={18},
  number={2},
  pages={219--276},
  year={2013},
  publisher={Springer}
}

@article{Binn96a,
	Author = {Binns, Pam and Engelhart, Matt and Jackson, Mike and Vestal, Steve},
	Doi = {10.1142/S0218194096000107},
	Journal = {International Journal of Software Engineering and Knowledge Engineering},
	Keywords = {damiencbib architecture metah adl},
	Number = {2},
	Pages = {201--227},
	Publisher = {World Scientific Publishing Company},
	Title = {Domain-Specific Software Architectures for Guidance, Navigation, and Control},
	Volume = {6},
	Year = {1996},
	Bdsk-Url-1 = {http://dx.doi.org/10.1142/S0218194096000107}}

@book{Bird88a,
 author = {Bird Richard and Wadler Philip},
 title = {An Introduction to Functional Programming},
 year = {1988},
 isbn = {0-13-484189-1},
 publisher = {Prentice Hall International (UK) Ltd.},
 address = {Hertfordshire, UK, UK}
}

@inproceedings{Bird05a,
	Author = {Steven Bird},
	Booktitle = {In Proc. of the 4th International Conference on Natural Language Processing (ICON},
	Pages = {11--18},
	Publisher = {Publishers},
	Title = {NLTK-Lite: Efficient scripting for natural language processing},
	Year = {2005}}

@book{Bird09a,
	Address = {Beijing},
	Author = {Steven Bird and Ewan Klein and Edward Loper},
	Biburl = {http://www.bibsonomy.org/bibtex/2c90dc59441d01c8bef58a947274164d4/flint63},
	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},
	Interhash = {5408d7da097b9cd81239c238da8bfaf4},
	Intrahash = {c90dc59441d01c8bef58a947274164d4},
	Isbn = {978-0-596-51649-9},
	Keywords = {python text software ai development v1002 book processing language framework},
	Publisher = {O'Reilly},
	Title = {Natural Language Processing with Python: Analyzing Text with the Natural Language Toolkit},
	Url = {http://www.nltk.org/book},
	Year = {2009},
	Bdsk-Url-1 = {http://www.nltk.org/book}}

@inproceedings{Bird09b,
	Acmid = {1555065},
	Address = {Washington, DC, USA},
	Author = {Bird, Christian and Nagappan, Nachiappan and Devanbu, Premkumar and Gall, Harald and Murphy, Brendan},
	Booktitle = {Proceedings of the 31st International Conference on Software Engineering},
	Doi = {10.1109/ICSE.2009.5070550},
	Isbn = {978-1-4244-3453-4},
	Numpages = {11},
	Pages = {518--528},
	Publisher = {IEEE Computer Society},
	Series = {ICSE '09},
	Title = {Does Distributed Development Affect Software Quality? An Empirical Case Study of Windows Vista},
	Url = {http://dx.doi.org/10.1109/ICSE.2009.5070550},
	Year = {2009},
	Bdsk-Url-1 = {http://dx.doi.org/10.1109/ICSE.2009.5070550}}

@book{Bird15a,
  title={The Art and Science of Analyzing Software Data},
  author={Bird, Christian and Menzies, Tim and Zimmermann, Thomas},
  year={2015},
  publisher={Elsevier},
  isbn = {978-0-12-411519-4}
}

@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}}

@mastersthesis{Birr20a,
	Title = {Analysis of Developer Information Needs on Collaborative Platforms},
	Author = {Mathias Birrer},
	Abstract = {Developer information needs are diverse, and so are the sources to
		satisfy those needs. Besides internal sources, developers frequently
		use external sources of information (e.g., Q\&A sites, mailing
		lists). Researchers use data from these sources to gain insights
		into developer information needs and build solutions to support the
		development process. However, along with the opportunities, the
		diversity of external sources poses challenges for research. In this
		thesis, we identify and describe various external sources used by
		researchers to investigate developer information needs. We analyze
		the methodology of relevant literature to extract common practices,
		identify challenges, and assess data extraction and preprocessing
		reproducibility. To further increase knowledge about developer
		information needs and the process of analyzing these information
		needs, we conduct a case study about Code Comment Convention
		questions using data from multiple sources. The case study follows
		best practices identified in the relevant literature and is
		conducted with the help of a self-developed prototype tool. The
		prototype tool is designed to help researchers extract, manage, and
		preprocess a dataset from multiple sources in a documented and
		reproducible way.},
	Keywords = {scg-msc snf-asa3 scg20 jb20},
	School = {University of Bern},
	Type = {Masters thesis},
	Url = {http://scg.unibe.ch/archive/masters/Birr20a.pdf},
	Month = jul,
	Year = {2020}
}

@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}}

@book{Bjor06a,
	author = {Bjorner, D.},
	booktitle = {Briefings in bioinformatics},
	doi = {10.1093/bib/bbp050},
	isbn = {3540211519},
	issn = {1477-4054},
	pages = {664--75},
	pmid = {19933212},
	title = {{Software Engineering 3: Domains, Requirements, and Software Design (Texts in Theoretical Computer Science. An EATCS Series)}},
	publisher = {Springer},
	volume = {10},
	year = {2006}
}

@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 scg-none 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.},
	Acceptnum = {26},
	Accepttotal = {142},
	Annote = {internationalconference topconference},
	Author = {Andrew P. Black and Nathanael Sch\"arli and St\'ephane Ducasse},
	Booktitle = {OOPSLA'03: Proceedings of 17th International Conference on Object-Oriented Programming Systems, Languages and Applications},
	Cvs = {TraitsRefactoringOOPSLA2003},
	Doi = {10.1145/949305.949311},
	Keywords = {snf04 scg-pub scg-none jb02 scg-traits stefPub schaerli stlit-traits},
	Misc = {acceptance rate: 26/142 = 18\%},
	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 scg-none 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}}

@inproceedings{Blac06a,
	Acmid = {1167488},
	Address = {New York, NY, USA},
	Author = {Blackburn, Stephen M. and Garner, Robin and Hoffmann, Chris and Khang, Asjad M. and McKinley, Kathryn S. and Bentzur, Rotem and Diwan, Amer and Feinberg, Daniel and Frampton, Daniel and Guyer, Samuel Z. and Hirzel, Martin and Hosking, Antony and Jump, Maria and Lee, Han and Moss, J. Eliot B. and Phansalkar, Aashish and Stefanovi\'{c}, Darko and VanDrunen, Thomas and von Dincklage, Daniel and Wiedermann, Ben},
	Booktitle = {Proceedings of the 21st annual ACM SIGPLAN conference on Object-oriented programming systems, languages, and applications},
	Doi = {10.1145/1167473.1167488},
	Isbn = {1-59593-348-4},
	Keywords = {DaCapo, Java, SPEC, benchmark, methodology},
	Location = {Portland, Oregon, USA},
	Numpages = {22},
	Pages = {169--190},
	Publisher = {ACM},
	Series = {OOPSLA '06},
	Title = {The DaCapo benchmarks: java benchmarking development and analysis},
	Url = {http://doi.acm.org/10.1145/1167473.1167488},
	Year = {2006},
	Bdsk-Url-1 = {http://doi.acm.org/10.1145/1167473.1167488},
	Bdsk-Url-2 = {http://dx.doi.org/10.1145/1167473.1167488}}

@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}}

@article{Blai19a,
  author =	{Gordon Blair and Betty H. C. Cheng and Lorenz Hilty and Richard F. Paige},
  title =	{{Modeling for Sustainability (Dagstuhl Seminar 18351)}},
  pages =	{146--168},
  journal =	{Dagstuhl Reports},
  ISSN =	{2192-5283},
  year =	{2019},
  volume =	{8},
  number =	{8},
  editor =	{Gordon Blair ad Betty H. C. Cheng and Lorenz Hilty and Richard F. Paige},
  publisher =	{Schloss Dagstuhl--Leibniz-Zentrum fuer Informatik},
  address =	{Dagstuhl, Germany},
  URL =		{http://drops.dagstuhl.de/opus/volltexte/2019/10238},
  URN =		{urn:nbn:de:0030-drops-102383},
  doi =		{10.4230/DagRep.8.8.146},
  annote =	{Keywords: modeling for sustainability, sustainability dimensions, environmental sustainability, social sustanability, economic sustainability}
}

@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}}

@inproceedings{Blan03a,
 author = {Blanc, Xavier and Gervais, Marie-Pierre and Sriplakich, Prawee},
 title = {Model Bus: Towards the Interoperability of Modelling Tools},
 booktitle = {Proceedings of the 2003 European Conference on Model Driven Architecture: Foundations and Applications},
 series = {MDAFA'03},
 year = {2005},
 isbn = {3-540-28240-8, 978-3-540-28240-2},
 location = {Twente, The Netherlands},
 pages = {17--32},
 numpages = {16},
 url = {http://dx.doi.org/10.1007/11538097_2},
 doi = {10.1007/11538097_2},
 acmid = {2145010},
 publisher = {Springer-Verlag},
 address = {Berlin, Heidelberg}
}

@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{Blas17,
  author = {Arianna Blasi and Konstantin Kuznetsov and Alberto Goffi and Sergio Delgado Castellanos and Alessandra Gorla and Michael D. Ernst and Mauro Pezz{\`e}},
  title = {Semantic-based Analysis of {J}avadoc Comments},
  booktitle = {SATTOSE},
  series = {SATToSE '17},
  publisher={SATToSE},
  year = {2017},
  pdf = {papers/2017-sattose-blasi-comments.pdf}}

@inproceedings{Blas18a,
  title={{RepliComment:} Identifying Clones in Code Comments},
  author={Blasi, Arianna and Gorla, Alessandra},
  booktitle={2018 IEEE/ACM 26th International Conference on Program Comprehension (ICPC)},
  pages={320--3203},
  year={2018},
  organization={IEEE}
}

@article{Blas21a,
  title={{RepliComment:} Identifying Clones in Code Comments},
  abstract = {Code comments are the primary means to document implementation,
	and facilitate program comprehension. Thus, their quality
	should be a primary concern to improve program maintenance.
	While much effort has been dedicated to detecting bad smells
	such as clones in code, little work has focused on comments. In
	this paper we present our solution to detect clones in comments
	that developers should fix. RepliComment can automatically
	analyze Java projects and report instances of copy-and-paste
	errors in comments, and can point developers to which comments
	should be fixed. Moreover, it can report when clones are signs
	of poorly written comments. Developers should fix these
	instances too in order to improve the quality of the code
	documentation. Our evaluation of ten well-known open source
	Java projects identified over 11K instances of comment clones,
	and over 1,300 of them are potentially critical. We improve on
	our own previous work, which could only find 36 issues in the
	same dataset. Our manual inspection of 412 issues reported by
	RepliComment reveals that it achieves a precision of 79\% in
	reporting critical comment clones. The manual inspection of 200
	additional comment clones that RepliComment filters out as
	being legitimate, could not evince any false negative.},
  author={Blasi, Arianna and Stuloiva, Nataliia and Gorla, Alessandra and Nierstrasz, Oscar},
  Journal = {Journal of Systems \& Software},
  pages={},
  year={2021},
  Keywords = {scg-pub snf-asa3 scg21 jb22},
  PeerReview = {yes},
  medium = {2},
  Note = {To appear},
  DOI = {10.1016/j.jss.2021.111069},
  Url = {http://scg.unibe.ch/archive/papers/Blas21a-RepliComment.pdf}
}

@article{Blei03a,
  title={{Latent Dirichlet Allocation}},
  author={Blei, David M and Ng, Andrew Y and Jordan, Michael I},
  journal={Journal of machine Learning research},
  volume={3},
  number={Jan},
  pages={993--1022},
  year={2003}
}

@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}}

@book{Bloc08a,
	Address = {Upper Saddle River, NJ, USA},
	Author = {Bloch, Joshua},
	Date-Added = {2012-05-01 21:53:52 +0200},
	Date-Modified = {2013-04-29 10:19:09 +0000},
	Edition = {2},
	Isbn = {0321356683, 9780321356680},
	Keywords = {java; classic; book p2lit},
	Publisher = {Prentice Hall PTR},
	Rating = {4},
	Title = {Effective Java (2nd Edition) (The Java Series)},
	Year = {2008}}

@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{Blou15a,
 author = {Blouin, Arnaud and Moha, Naouel and Baudry, Benoit and Sahraoui, Houari and J{\'e}z{\'e}quel, Jean-Marc},
 title = {Assessing the Use of Slicing-based Visualizing Techniques on the Understanding of Large Metamodels},
 journal = {Inf. Softw. Technol.},
 issue_date = {June 2015},
 volume = {62},
 number = {C},
 month = jun,
 year = {2015},
 issn = {0950-5849},
 pages = {124--142},
 numpages = {19},
 url = {http://dx.doi.org/10.1016/j.infsof.2015.02.007},
 doi = {10.1016/j.infsof.2015.02.007},
 acmid = {2784630},
 publisher = {Butterworth-Heinemann},
 address = {Newton, MA, USA},
 keywords = {Class diagram, Human-computer interaction, Metamodel, Model slicing, Model-Driven Engineering, Visualization}
}

@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 scg-none 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 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}}

@article{Blum03a,
 author = {Blum, Christian and Roli, Andrea},
 title = {Metaheuristics in Combinatorial Optimization: Overview and Conceptual Comparison},
 journal = {ACM Comput. Surv.},
 issue_date = {September 2003},
 volume = {35},
 number = {3},
 month = sep,
 year = {2003},
 issn = {0360-0300},
 pages = {268--308},
 numpages = {41},
 doi = {10.1145/937503.937505},
 publisher = {ACM},
 address = {New York, NY, USA}
}

@article{Blum03b,
  title={The problem with unstructured data},
  author={Blumberg, Robert and Atre, Shaku},
  journal={Dm Review},
  volume={13},
  number={42-49},
  pages={62},
  year={2003},
  publisher={POWELL PUBLISHING INC}
}

@inproceedings{Blun09,
	 author = {Blunk, Andreas and Fischer, Joachim and Sadilek, Daniel A.},
	 title = {Modelling a Debugger for an Imperative Voice Controllanguage},
	 booktitle = {Proceedings of the 14th International SDL Conference on Design for Motes and Mobiles},
	 series = {SDL'09},
	 year = {2009},
	 isbn = {3-642-04553-7, 978-3-642-04553-0},
	 location = {Bochum, Germany},
	 pages = {149--164},
	 numpages = {16},
	 url = {http://dl.acm.org/citation.cfm?id=1812885.1812899},
	 acmid = {1812899},
	 publisher = {Springer-Verlag},
	 address = {Berlin, Heidelberg}
}

@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}}

@techreport{Bobr64a,
 author = {Bobrow, Daniel G.},
 title = {Natural Language Input for a Computer Problem Solving System},
 year = {1964},
 source = {http://www.ncstrl.org:8900/ncstrl/servlet/search?formname=detail\&id=oai%3Ancstrlh%3Amitai%3AMIT-AILab%2F%2FAIM-66},
 publisher = {Massachusetts Institute of Technology},
 Institution = {Massachusetts Institute of Technology},
 address = {Cambridge, MA, USA}
}

@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{Bock06b,
	Acmid = {1167483},
	Address = {New York, NY, USA},
	Author = {Bockisch, Christoph and Arnold, Matthew and Dinkelaker, Tom and Mezini, Mira},
	Booktitle = {Proceedings of the 21st annual ACM SIGPLAN conference on Object-oriented programming systems, languages, and applications},
	Doi = {10.1145/1167473.1167483},
	Isbn = {1-59593-348-4},
	Keywords = {aspect weaving, aspect-oriented programming, dynamic deployment, envelope-based weaving, virtual machine support},
	Location = {Portland, Oregon, USA},
	Numpages = {16},
	Pages = {109--124},
	Publisher = {ACM},
	Series = {OOPSLA '06},
	Title = {Adapting virtual machine techniques for seamless aspect support},
	Year = {2006},
	Bdsk-Url-1 = {http://dx.doi.org/10.1145/1167473.1167483}}

@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{Bock11a,
	Acmid = {1960312},
	Address = {New York, NY, USA},
	Author = {Bockisch, Christoph and Malakuti, Somayeh and Ak\c{s}it, Mehmet and Katz, Shmuel},
	Booktitle = {Proceedings of the tenth international conference on Aspect-oriented software development},
	Doi = {10.1145/1960275.1960312},
	Isbn = {978-1-4503-0605-8},
	Keywords = {aspect and event composition, aspect-oriented programming, event declarations and detectors},
	Location = {Porto de Galinhas, Brazil},
	Numpages = {16},
	Pages = {285--300},
	Publisher = {ACM},
	Series = {AOSD '11},
	Title = {Making aspects natural: events and composition},
	Year = {2011},
	Bdsk-Url-1 = {http://dx.doi.org/10.1145/1960275.1960312}}

@inproceedings{Bock11b,
	Acmid = {2025907},
	Address = {Berlin, Heidelberg},
	Author = {Bockisch, Christoph and Sewe, Andreas and Mezini, Mira and Ak\c{s}it, Mehmet},
	Booktitle = {Proceedings of the 49th international conference on Objects, models, components, patterns},
	Isbn = {978-3-642-21951-1},
	Location = {Zurich, Switzerland},
	Numpages = {16},
	Pages = {131--146},
	Publisher = {Springer-Verlag},
	Series = {TOOLS'11},
	Title = {An overview of ALIA4J: an execution model for advanced-dispatching languages},
	Url = {http://dl.acm.org/citation.cfm?id=2025896.2025907},
	Year = {2011},
	Bdsk-Url-1 = {http://dl.acm.org/citation.cfm?id=2025896.2025907}}

@inproceedings{Bodd07a,
	Author = {Eric Bodden and Laurie J. Hendren and Ondrej Lhot\'{a}k},
	Booktitle = {ECOOP 2007 - Object-Oriented Programming, 21st European Conference, Berlin, Germany, July 30 - August 3, 2007, Proceedings},
	Doi = {10.1007/978-3-540-73589-2_25},
	Editor = {Erik Ernst},
	Isbn = {978-3-540-73588-5},
	Pages = {525-549},
	Publisher = {Springer},
	Series = {Lecture Notes in Computer Science},
	Tags = {static analysis, analysis, program analysis},
	Title = {A Staged Static Program Analysis to Improve the Performance of Runtime Monitoring},
	Volume = {4609},
	Year = {2007},
	Bdsk-Url-1 = {http://dx.doi.org/10.1007/978-3-540-73589-2_25}}

@inproceedings{Bodd11a,
author={E. Bodden and A. Sewe and J. Sinschek and H. Oueslati and M. Mezini},
booktitle={2011 33rd International Conference on Software Engineering (ICSE)},
title={Taming reflection: Aiding static analysis in the presence of reflection and custom class loaders},
year={2011},
pages={241-250},
keywords={Java;program diagnostics;software tools;DaCapo benchmark suite;Java;TamiFlex;code coverage;custom class loaders;large-scale interactive application analysis;offline-transformed classes;reflective calls;runtime check;static program analysis;static-analysis tool;taming reflection;tool chain;Benchmark testing;Heuristic algorithms;Instruments;Java;Runtime;Transforms;Virtual machining;dynamic class loaders;dynamic class loading;native code;reflection;static analysis;tracing},
doi={10.1145/1985793.1985827},
ISSN={0270-5257}}

@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}}

@inproceedings{Boeh76a,
 author = {Boehm, B. W. and Brown, J. R. and Lipow, M.},
 title = {Quantitative Evaluation of Software Quality},
 booktitle = {Proceedings of 2nd International Conference on Software Engineering},
 year = {1976},
 pages = {592 - 605},
 numpages = {14},
 publisher = {IEEE Computer Society Press}}

@article{Boeh76b,
 author = {Boehm, B. W.},
 title = {Software Engineering},
 journal = {IEEE Trans. Comput.},
 issue_date = {December 1976},
 volume = {25},
 number = {12},
 month = dec,
 year = {1976},
 issn = {0018-9340},
 pages = {1226--1241},
 numpages = {16},
 url = {http://dx.doi.org/10.1109/TC.1976.1674590},
 doi = {10.1109/TC.1976.1674590},
 acmid = {1312684},
 publisher = {IEEE Computer Society},
 address = {Washington, DC, USA},
 keywords = {Computer software, data systems, information systems, research and development, software development, software engineering, software management.}
}

@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}}

@article{Boeh88b,
	Author = {Boehm, Hans-Juergen and Weiser, Mark},
	Doi = {10.1002/spe.4380180902},
	Issn = {00380644},
	Journal = {Software: Practice and Experience},
	Month = sep,
	Number = {9},
	Pages = {807--820},
	Title = {Garbage collection in an uncooperative environment},
	Volume = {18},
	Year = {1988},
	Bdsk-Url-1 = {http://dx.doi.org/10.1002/spe.4380180902}}

@article{Boeh01a,
	Acmid = {621640},
	Address = {Los Alamitos, CA, USA},
	Author = {Boehm, Barry and Basili, Victor R.},
	Doi = {10.1109/2.962984},
	Issn = {0018-9162},
	Issue_Date = {January 2001},
	Journal = {Computer},
	Month = jan,
	Number = {1},
	Numpages = {3},
	Pages = {135--137},
	Publisher = {IEEE Computer Society Press},
	Title = {Software Defect Reduction Top 10 List},
	Url = {http://dx.doi.org/10.1109/2.962984},
	Volume = {34},
	Year = {2001},
	Bdsk-Url-1 = {http://dx.doi.org/10.1109/2.962984}}

@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}}

@inproceedings{Boer05a,
	Abstract = {An enterprise architecture is a high-level description intended to capture the vision of an
				enterprise integrating all its dimensions: organization structure, business processes, and infrastructure.
				Every single part of an enterprise is subject to change, and each change may have significant consequences
				within all domains of the enterprise. A lot of effort is therefore devoted to maintaining the integrity
				of an architectural description. In this paper we address the problem of mastering the ripple effects of
				a proposed change. This allows architects to assess the consequences of a particular change to the enterprise,
				in order to identify potential impacts of a change before it actually takes place.},
	Author = {de Boer, F.S. and Bonsangue, M.M. and Groenewegen, L.P.J. and Stam, A.W. and Stevens, S. and van der Torre, L.},
	Booktitle = {Information Reuse and Integration, Conf, 2005. IRI -2005 IEEE International Conference on.},
	Doi = {10.1109/IRI-05.2005.1506470},
	Keywords = {architectural description language; business processes; change impact analysis; enterprise architecture; enterprise integration; high-level description; organization structure; ripple effects; business data processing; corporate modelling; management of change;},
	Month = aug,
	Pages = {177-181},
	Title = {Change impact analysis of enterprise architectures},
	Year = {2005},
	Bdsk-Url-1 = {http://dx.doi.org/10.1109/IRI-05.2005.1506470}}

@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}}

@inproceedings{Boha06a,
	Acmid = {1142399},
	Address = {New York, NY, USA},
	Author = {Bohannon, Aaron and Pierce, Benjamin C. and Vaughan, Jeffrey A.},
	Booktitle = {Proceedings of the twenty-fifth ACM SIGMOD-SIGACT-SIGART symposium on Principles of database systems},
	Date-Added = {2011-12-06 11:48:32 +0100},
	Date-Modified = {2011-12-06 11:54:43 +0100},
	Doi = {10.1145/1142351.1142399},
	Isbn = {1-59593-318-2},
	Keywords = {database; relational-algebra; view-update; transformation; bx},
	Location = {Chicago, IL, USA},
	Numpages = {10},
	Pages = {338--347},
	Publisher = {ACM},
	Series = {PODS '06},
	Title = {Relational lenses: a language for updatable views},
	Url = {10.1145/1142351.1142399},
	Year = {2006},
	Bdsk-Url-1 = {10.1145/1142351.1142399},
	Bdsk-Url-2 = {http://dx.doi.org/10.1145/1142351.1142399}}

@inproceedings{Bohm17a,
	author = {B\"{o}hme, Marcel and Soremekun, Ezekiel Olamide and Chattopadhyay, Sudipta and Ugherughe, Emamurho and Zeller, Andreas},
	title = {Where is the Bug and How is it Fixed? An Experiment with Practitioners},
	booktitle = {Proceedings of the 11th Joint meeting of the European Software Engineering Conference and the ACM SIGSOFT Symposium on the Foundations of Software Engineering},
	series = {ESEC/FSE 2017},
	pages = {1-11},
	year = {2017}
}

@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.},
	Isbn = {0818673842},
	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{Bohn09a,
	title = {Visualizing massively pruned execution traces to facilitate trace exploration},
	author = {Bohnet, Johannes and Koeleman, Martin and D{\"o}llner, J{\"u}rgen},
	booktitle = {Visualizing Software for Understanding and Analysis, 2009. VISSOFT 2009. 5th IEEE International Workshop on},
	pages = {57--64},
	year = {2009},
	organization = {IEEE}
}

@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}}

@article{Boko99a,
 author = {Bokowski, Boris},
 title = {CoffeeStrainer: Statically-checked Constraints on the Definition and Use of Types in Java},
 journal = {SIGSOFT Softw. Eng. Notes},
 issue_date = {Nov. 1999},
 volume = {24},
 number = {6},
 month = oct,
 year = {1999},
 issn = {0163-5948},
 pages = {355--374},
 numpages = {20},
 url = {http://doi.acm.org/10.1145/318774.319253},
 doi = {10.1145/318774.319253},
 acmid = {319253},
 publisher = {ACM},
 address = {New York, NY, USA}}

@book{Boli10a,
  title={Closure: The Definitive Guide: Google Tools to Add Power to Your JavaScript},
  author={Bolin, M.},
  isbn={9781449396954},
  url={https://books.google.ch/books?id=p7uyWPcVGZsC},
  year={2010},
  publisher={O'Reilly Media}
}

@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 Kuhn 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 akuhn},
	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{Bolz13a,
	Acmid = {2509531},
	Address = {New York, NY, USA},
	Author = {Bolz, Carl Friedrich and Diekmann, Lukas and Tratt, Laurence},
	Booktitle = {Proceedings of the 2013 ACM SIGPLAN International Conference on Object Oriented Programming Systems Languages \&\#38; Applications},
	Doi = {10.1145/2509136.2509531},
	Isbn = {978-1-4503-2374-1},
	Keywords = {collection types, dynamic typing, implementation, memory optimization},
	Location = {Indianapolis, Indiana, USA},
	Numpages = {16},
	Pages = {167--182},
	Publisher = {ACM},
	Series = {OOPSLA '13},
	Title = {Storage Strategies for Collections in Dynamically Typed Languages},
	Url = {http://doi.acm.org/10.1145/2509136.2509531},
	Year = {2013},
	Bdsk-Url-1 = {http://doi.acm.org/10.1145/2509136.2509531},
	Bdsk-Url-2 = {http://dx.doi.org/10.1145/2509136.2509531}}

@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{Bond00a,
	Address = {New York, NY, USA},
	Author = {Bondi, Andr{\'{e}} B.},
	Booktitle = {Proceedings of the 2Nd International Workshop on Software and Performance},
	Doi = {10.1145/350391.350432},
	Isbn = {1-58113-195-X},
	Location = {Ottawa, Ontario, Canada},
	Pages = {195--203},
	Publisher = {ACM},
	Series = {WOSP '00},
	Title = {Characteristics of Scalability and Their Impact on Performance},
	Year = {2000},
	Bdsk-Url-1 = {http://dx.doi.org/10.1145/350391.350432}}

@inproceedings{Bond05a,
	Acmid = {1100545},
	Address = {Washington, DC, USA},
	Author = {Bond, Michael D. and McKinley, Kathryn S.},
	Booktitle = {Proceedings of the 38th annual IEEE/ACM International Symposium on Microarchitecture},
	Doi = {10.1109/MICRO.2005.16},
	Isbn = {0-7695-2440-0},
	Location = {Barcelona, Spain},
	Numpages = {11},
	Pages = {130--140},
	Publisher = {IEEE Computer Society},
	Series = {MICRO 38},
	Title = {Continuous Path and Edge Profiling},
	Url = {http://dx.doi.org/10.1109/MICRO.2005.16},
	Year = {2005},
	Bdsk-Url-1 = {http://dx.doi.org/10.1109/MICRO.2005.16}}

@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{Bone04a,
	Acmid = {976273},
	Address = {New York, NY, USA},
	Author = {Bon\'{e}r, Jonas},
	Booktitle = {Proceedings of the 3rd international conference on Aspect-oriented software development},
	Doi = {10.1145/976270.976273},
	Isbn = {1-58113-842-3},
	Keywords = {AOP, AOSD, aspect-oriented programming, dynamic AOP},
	Location = {Lancaster, UK},
	Numpages = {2},
	Pages = {5--6},
	Publisher = {ACM},
	Series = {AOSD '04},
	Title = {What are the key issues for commercial {AOP} use: how does {A}spect{W}erkz address them?},
	Year = {2004},
	Bdsk-Url-1 = {http://dx.doi.org/10.1145/976270.976273}}

@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}}

@article{Boni10a,
	Address = {Los Alamitos, CA, USA},
	Author = {Bonita Sharif and Jonathan I. Maletic},
	Doi = {10.1109/ICPC.2010.41},
	Issn = {1063-6897},
	Journal = {International Conference on Program Comprehension},
	Pages = {196-205},
	Publisher = {IEEE Computer Society},
	Title = {An Eye Tracking Study on camelCase and under\_score Identifier Styles},
	Volume = {0},
	Year = {2010},
	Bdsk-Url-1 = {http://dx.doi.org/10.1109/ICPC.2010.41}}

@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{Bono17a,
	title={Six thinking hats},
	author={De Bono, Edward},
	year={2017},
	publisher={Penguin UK}
}

@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{Booc04a,
	Address = {Redwood City, CA, USA},
	Author = {Booch, Grady},
	Isbn = {020189551X},
	Publisher = {Addison Wesley Longman Publishing Co., Inc.},
	Title = {Object-Oriented Analysis and Design with Applications (3rd Edition)},
	Year = {2004}}

@book{Booc05a,
	Address = {Reading, Mass.},
	Author = {Booch, Grady and Rumbaugh, James and Jacobson, Ivar},
	Edition = {second},
	Keywords = {book uml 2.0 damiencbib},
	Publisher = {Addison Wesley},
	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}}

@techreport{Bore17a,
	Title = {The {Lego} Playground --- Providing an {IDE} for live programming {Lego} {Mindstorm} robots},
	Author = {Stefan Borer},
	Abstract = {The Lego Mindstorms robotics kit with its visual
		programming language is often used in schools and universities
		teaching programming and mathematics. Meanwhile Live Programming
		is gaining traction in the field of robotics, offering the
		programmer more feedback and control over the robot than
		traditional methods. In his work on the back end of this project,
		Theodor Truffer implements a new way to program Lego Mindstorms
		robots in a Live Programming way using the Polite programming
		language. This thesis provides an Integrated Development
		Environment for the back end including state machine
		visualization, inspection and manipulation of state machine
		objects, creating a Live Programming experience.},
	Institution = {University of Bern},
	Keywords = {scg-bp snf-none scg17 jb17},
	Type = {Bachelor's thesis},
	Url = {http://scg.unibe.ch/archive/projects/Bore17a.pdf},
	Month = feb,
	Year = {2017}
}

@article{Boren10a,
	Author = {Boren, J. and Cousins, S.},
	Doi = {10.1109/MRA.2010.938836},
	Journal = {Robotics \& Automation Magazine},
	Keywords = {robotics damiencbib},
	Number = {4},
	Pages = {18--20},
	Publisher = {IEEE},
	Title = {The {SMACH} High-Level Executive {[ROS News]}},
	Volume = {17},
	Year = {2010},
	Bdsk-Url-1 = {http://dx.doi.org/10.1109/MRA.2010.938836}}

@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}}

@inproceedings{Born82c,
 author = {Borning, Alan H. and Ingalls, Daniel H. H.},
 title = {A Type Declaration and Inference System for {Smalltalk}},
 booktitle = {Proceedings of the 9th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages},
 series = {POPL '82},
 year = {1982},
 isbn = {0-89791-065-6},
 location = {Albuquerque, New Mexico},
 pages = {133--141},
 numpages = {9},
 url = {http://doi.acm.org/10.1145/582153.582168},
 doi = {10.1145/582153.582168},
 acmid = {582168},
 publisher = {ACM},
 address = {New York, NY, USA}
}

@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{Borr88a,
	 author = {Borras, P. and Clement, D. and Despeyroux, Th. and Incerpi, J. and Kahn, G. and Lang, B. and Pascual, V.},
	 title = {Centaur: The System},
	 journal = {SIGPLAN Not.},
	 issue_date = {Feb. 1989},
	 volume = {24},
	 number = {2},
	 month = nov,
	 year = {1988},
	 issn = {0362-1340},
	 pages = {14--24},
	 numpages = {11},
	 url = {http://doi.acm.org/10.1145/64140.65005},
	 doi = {10.1145/64140.65005},
	 acmid = {65005},
	 publisher = {ACM},
	 address = {New York, NY, USA}
}

@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}}

@incollection{Bosc04a,
	year={2004},
	isbn={978-3-540-22000-8},
	booktitle={Software Architecture},
	volume={3047},
	series={Lecture Notes in Computer Science},
	editor={Oquendo, Flavio and Warboys, BrianC. and Morrison, Ron},
	doi={10.1007/978-3-540-24769-2_14},
	title={Software Architecture: The Next Step},
	url={http://dx.doi.org/10.1007/978-3-540-24769-2_14},
	publisher={Springer Berlin Heidelberg},
	author={Bosch, Jan},
	pages={194-199},
	language={English}}

@inproceedings{Bosc09a,
	Acmid = {1753251},
	Address = {Pittsburgh, PA, USA},
	Author = {Bosch, Jan},
	Booktitle = {Proceedings of the 13th International Software Product Line Conference},
	Location = {San Francisco, California},
	Numpages = {9},
	Pages = {111--119},
	Publisher = {Carnegie Mellon University},
	Series = {SPLC '09},
	Title = {From software product lines to software ecosystems},
	Url = {http://dl.acm.org/citation.cfm?id=1753235.1753251},
	Year = {2009},
	Bdsk-Url-1 = {http://dl.acm.org/citation.cfm?id=1753235.1753251}}

@article{Bosc10a,
 author = {Bosch, Jan and Bosch-Sijtsema, Petra},
 title = {From Integration to Composition: On the Impact of Software Product Lines, Global Development and Ecosystems},
 journal = {J. Syst. Softw.},
 issue_date = {January, 2010},
 volume = {83},
 number = {1},
 month = jan,
 year = {2010},
 issn = {0164-1212},
 pages = {67--76},
 numpages = {10},
 url = {http://dx.doi.org/10.1016/j.jss.2009.06.051},
 doi = {10.1016/j.jss.2009.06.051},
 acmid = {1663915},
 publisher = {Elsevier Science Inc.},
 address = {New York, NY, USA},
 keywords = {Global development, Software composition, Software ecosystems, Software integration, Software product lines}}

@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}}

@inproceedings{Bosh07a,
 author = {Boshernitsan, Marat and Graham, Susan L. and Hearst, Marti A.},
 title = {Aligning Development Tools with the Way Programmers Think About Code Changes},
 booktitle = {Proceedings of the SIGCHI Conference on Human Factors in Computing Systems},
 series = {CHI '07},
 year = {2007},
 isbn = {978-1-59593-593-9},
 location = {San Jose, California, USA},
 pages = {567--576},
 numpages = {10},
 url = {http://doi.acm.org/10.1145/1240624.1240715},
 doi = {10.1145/1240624.1240715},
 acmid = {1240715},
 publisher = {ACM},
 address = {New York, NY, USA},
 keywords = {cognitive dimensions, transformations, visual languages}
}

@article{Bost09a,
	Author = {Michael Bostock AND Jeffrey Heer},
	Journal = {IEEE Trans. Visualization \& Comp. Graphics (Proc. InfoVis)},
	Title = {Protovis: A Graphical Toolkit for Visualization},
	Url = {http://vis.stanford.edu/papers/protovis},
	Year = {2009},
	Bdsk-Url-1 = {http://vis.stanford.edu/papers/protovis}}

@article{Bost11a,
 author = {Bostock, Michael and Ogievetsky, Vadim and Heer, Jeffrey},
 title = {D3 Data-Driven Documents},
 journal = {IEEE Transactions on Visualization and Computer Graphics},
 issue_date = {December 2011},
 volume = {17},
 number = {12},
 month = dec,
 year = {2011},
 issn = {1077-2626},
 pages = {2301--2309},
 numpages = {9},
 url = {http://dx.doi.org/10.1109/TVCG.2011.185},
 doi = {10.1109/TVCG.2011.185},
 acmid = {2068631},
 publisher = {IEEE Educational Activities Department},
 address = {Piscataway, NJ, USA},
 keywords = {Information visualization, user interfaces, toolkits, 2D graphics.}
}

@inproceedings{Bosu13a,
  title={Impact of peer code review on peer impression formation: A survey},
  author={Bosu, Amiangshu and Carver, Jeffrey C},
  booktitle={Empirical Software Engineering and Measurement, 2013 ACM/IEEE International Symposium on},
  pages={133--142},
  year={2013},
  organization={IEEE}
}

@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}}

@inproceedings{Bott02a,
  title={A debugger for concurrent {Haskell}},
  author={B{\"o}ttcher, Thomas and Huch, Frank},
  booktitle={Draft Proc. 14th Intl. Workshop on Implementation of Functional Languages (IFL'2002)},
  pages={129--141},
  year={2002}
}

@inproceedings{Bott08a,
	Acmid = {1445971},
	Address = {Washington, DC, USA},
	Author = {Botterweck, Goetz and Thiel, Steffen and Cawley, Ciar\'{a}n and Nestor, Daren and Preussner, Andr{\'e}},
	Booktitle = {Proceedings of the 2008 32nd Annual IEEE International Computer Software and Applications Conference},
	Doi = {10.1109/COMPSAC.2008.108},
	Isbn = {978-0-7695-3262-2},
	Keywords = {Variability Management, Visualisation, Software Product Lines, Product Deriviation, Product Configuration, Automotive},
	Numpages = {6},
	Pages = {1070--1075},
	Publisher = {IEEE Computer Society},
	Series = {COMPSAC '08},
	Title = {Visual Configuration in Automotive Software Product Lines},
	Url = {http://dx.doi.org/10.1109/COMPSAC.2008.108},
	Year = {2008},
	Bdsk-Url-1 = {http://dx.doi.org/10.1109/COMPSAC.2008.108}}

@inproceedings{Bott08b,
author={Botterweck, Goetz and Thiel, S. and Nestor, D. and bin Abid, S. and Cawley, C.},
booktitle={Software Product Line Conference, 2008. SPLC '08. 12th International},
title={Visual Tool Support for Configuring and Understanding Software Product Lines},
year={2008},
month=sep,
pages={77-86},
doi={10.1109/SPLC.2008.32}
}

@inproceedings{Bott11a,
	Author = {Bott, Felix and Diehl, Stephan and Lutz, Rainer},
	Booktitle = {ICSE '11: Proceeding of the 33rd International Conference on Software Engineering},
	Month = may,
	Publisher = {ACM Request Permissions},
	Title = {{CREWW: collaborative requirements engineering with wii-remotes (NIER track)}},
	Year = {2011}}

@inproceedings{Bouc07a,
	Acmid = {1783284},
	Address = {Berlin, Heidelberg},
	Author = {Bouck{\'e}, Nelis and Garcia, Alessandro and Holvoet, Tom},
	Booktitle = {Proceedings of the 10th international conference on Early aspects: current challenges and future directions},
	Isbn = {3-540-76810-6, 978-3-540-76810-4},
	Location = {Vancouver, Canada},
	Numpages = {24},
	Pages = {115--138},
	Publisher = {Springer-Verlag},
	Title = {Composing Structural Views in {xADL}},
	Url = {http://dl.acm.org/citation.cfm?id=1783274.1783284},
	Year = {2007},
	Bdsk-Url-1 = {http://dl.acm.org/citation.cfm?id=1783274.1783284}}

@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}}

@book{Boud02a,
  title={NetBeans: The Definitive Guide: Developing, Debugging, and Deploying Java Code},
  author={Boudreau, T. and Glick, J. and Greene, S. and Spurlin, V. and Woehr, J.J.},
  isbn={9781449332556},
  year={2002},
  publisher={O'Reilly Media}
}

@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 polymorphic: 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},
	Doi = {10.1016/j.cl.2003.09.003},
	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},
	Url = {http://csl.ensm-douai.fr/noury/uploads/1/nouryBouraqadi.ElsevierJournalOfComputerLanguages2004.pdf},
	Volume = {30},
	Year = {2004},
	Bdsk-Url-1 = {http://csl.ensm-douai.fr/noury/uploads/1/nouryBouraqadi.ElsevierJournalOfComputerLanguages2004.pdf},
	Bdsk-Url-2 = {http://dx.doi.org/10.1016/j.cl.2003.09.003}}

@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,
	Author = {Bouraqadi, Noury and Stinckwich, Serge},
	Booktitle = {CAR'2007: Proceedings of the 2nd National Workshop on Control Architectures of Robots, May-June},
	Location = {Paris, France},
	Month = may,
	Pages = {135--149},
	Title = {Towards an Adaptive Robot Control Architecture},
	Year = {2007}}

@incollection{Bour13a,
	Author = {Noury Bouraqadi and Luc Fabresse and Alexandre Bergel and Damien Cassou and St\'ephane Ducasse and Jannik Laval},
	Booktitle = {Deep Into Pharo},
	Isbn = {978-3-9523341-6-4},
	Keywords = {Smalltalk, Pharo, Object-Oriented Programming, Live Programming},
	Month = sep,
	Pages = 21,
	Publisher = {Square Bracket Associates},
	Title = {Sockets},
	Year = {2013}}

@inproceedings{Bous15a,
	  TITLE = {{Supporting Efficient and Advanced Omniscient Debugging for xDSMLs}},
	  AUTHOR = {Bousse, Erwan and Corley, Jonathan and Combemale, Benoit and Gray, Jeff and Baudry, Benoit},
	  URL = {https://hal.inria.fr/hal-01182517},
	  BOOKTITLE = {{8th International Conference on Software Language Engineering (SLE) }},
	  ADDRESS = {Pittsburg, United States},
	  YEAR = {2015},
	  MONTH = oct,
	  KEYWORDS = {Omniscient Debugger ; xDSML ; Execution Trace},
	  PDF = {https://hal.inria.fr/hal-01182517/file/omniscient-debugging-sle2015-v0.pdf}
}

@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{Bowe16a,
  title={Mutation-aware fault prediction},
  author={Bowes, David and Hall, Tracy and Harman, Mark and Jia, Yue and Sarro, Federica and Wu, Fan},
  booktitle={Proceedings of the 25th International Symposium on Software Testing and Analysis},
  pages={330--341},
  year={2016},
  organization={ACM}
}

@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}}

@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}}

@article{Boya03b,
	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}}

@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}}

@inproceedings{Boyl01b,
	Acmid = {680004},
	Address = {London, UK, UK},
	Author = {Boyland, John and Noble, James and Retert, William},
	Booktitle = {Proceedings of the 15th European Conference on Object-Oriented Programming},
	Isbn = {3-540-42206-4},
	Numpages = {26},
	Pages = {2--27},
	Publisher = {Springer-Verlag},
	Series = {ECOOP '01},
	Title = {Capabilities for Sharing: A Generalisation of Uniqueness and Read-Only},
	Url = {http://dl.acm.org/citation.cfm?id=646158.680004},
	Year = {2001},
	Bdsk-Url-1 = {http://dl.acm.org/citation.cfm?id=646158.680004}}

@inproceedings{Boyl05a,
	Author = {John Boyland},
	Booktitle = {In FTfJP},
	Date-Added = {2011-07-04 14:56:28 +0200},
	Date-Modified = {2012-07-03 15:25:33 +0000},
	Keywords = {type-system; security; survey; aliasing},
	Pages = {5--29},
	Rating = {4},
	Title = {Why we should not add readonly to {Java} (yet},
	Year = {2005}}

@inproceedings{Boyl05b,
  title={Position Paper: Handling ``Out Of Memory'' Errors},
  author={Boyland, John},
  booktitle={ECOOP Workshop},
  pages={150},
  year={2005}}

@article{Boyl08a,
 author = {Boyland, John and Spiewak, Daniel},
 title = {TOOL PAPER: {ScalaBison} Recursive Ascent-Descent Parser Generator},
 journal = {Electron. Notes Theor. Comput. Sci.},
 volume = {253},
 issue = {7},
 month = sep,
 year = {2010},
 issn = {1571-0661},
 pages = {65--74},
 numpages = {10},
 url = {http://dx.doi.org/10.1016/j.entcs.2010.08.032},
 doi = {10.1016/j.entcs.2010.08.032},
 publisher = {Elsevier Science Publishers B. V.},
 address = {Amsterdam, The Netherlands, The Netherlands}
}

@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,
	Author = {Claus Brabranda and Michael I. Schwartzbach},
	Journal = {Science of Computer Programming},
	Keywords = {parsing},
	Number = {1},
	Pages = {2--20},
	Publisher = {Elsevier},
	Title = {The metafront system: Safe and extensible parsing and transformation},
	Volume = {68},
	Year = {2007}}

@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}}

@inproceedings{Brac04a,
	Annote = {internationalworkshop},
	Author = {Gilad Bracha},
	Cvs = {EgRDL2004},
	Keywords = {nonstandard types},
	Month = oct,
	booktitle = {In OOPSLA'04 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},
	Doi = {10.1145/1028976.1029004},
	Keywords = {uni-refl},
	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},
	Bdsk-Url-1 = {http://bracha.org/mirrors.pdf}}

@misc{Brac04c,
	Author = {Gilad Bracha},
	Key = {Generics},
	Month = jul,
	Note = {java.sun.com/j2se/1.5/pdf/generics-tutorial.pdf},
	Title = {Generics in the Java Programming Language},
	Year = {2004}}

@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,
	Acmid = {1884007},
	Address = {Berlin, Heidelberg},
	Author = {Bracha, Gilad and von der Ah\'{e}, Peter and Bykov, Vassili and Kashai, Yaron and Maddox, William and Miranda, Eliot},
	Booktitle = {ECOOP'10: Proceedings of the 24th European Conference on Object-Oriented Programming},
	Doi = {10.1007/978-3-642-14107-2_20},
	Isbn = {3-642-14106-4, 978-3-642-14106-5},
	Keywords = {nested classes},
	Location = {Maribor, Slovenia},
	Month = jun,
	Numpages = {24},
	Pages = {405--428},
	Publisher = {Springer-Verlag},
	Series = {ECOOP'10},
	Title = {Modules as objects in {Newspeak}},
	Url = {http://bracha.org/newspeak-modules.pdf},
	Year = {2010},
	Bdsk-Url-1 = {http://bracha.org/newspeak-modules.pdf},
	Bdsk-Url-2 = {http://dx.doi.org/10.1007/978-3-642-14107-2_20}}

@book{Brac15a,
 author = {Bracha, Gilad},
 title = {The Dart Programming Language},
 year = {2015},
 isbn = {0321927702, 9780321927705},
 edition = {1st},
 publisher = {Addison-Wesley Professional}
}

@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}}

@article{Brad97a,
	Author = {Bradley, Andrew P},
	Journal = {Pattern recognition},
	Number = {7},
	Pages = {1145--1159},
	Publisher = {Elsevier},
	Title = {The use of the area under the ROC curve in the evaluation of machine learning algorithms},
	Volume = {30},
	Year = {1997}}

@article{Brad00a,
author = {Van den Brand, M. G. T. and de Jong, H. A. and Klint, P. and Olivier, P. A.},
title = {Efficient Annotated Terms},
journal = {Softw. Pract. Exper.},
issue_date = {Mar.1.2000},
volume = {30},
number = {3},
month = mar,
year = {2000},
issn = {0038-0644},
pages = {259--291},
numpages = {33},
url = {http://dx.doi.org/10.1002/(SICI)1097-024X(200003)30:3<259::AID-SPE298>3.0.CO;2-Y},
doi = {10.1002/(SICI)1097-024X(200003)30:3<259::AID-SPE298>3.0.CO;2-Y},
acmid = {343468},
publisher = {John Wiley \& Sons, Inc.},
address = {New York, NY, USA},
keywords = {binary data exchange format, distributed applications, garbage collection, maximal sharing}
}

@inproceedings{Brad13a,
  author = {Bradley, Daniel R. and Hayes, Ian J.},
  booktitle = {VISSOFT},
  editor = {Telea, Alexandru and Kerren, Andreas and Marcus, Andrian},
  ee = {http://doi.ieeecomputersociety.org/10.1109/VISSOFT.2013.6650533},
  isbn = {978-1-4799-1457-9},
  keywords = {dblp},
  pages = {1-4},
  publisher = {IEEE},
  title = {Visuocode: A software development environment that supports spatial navigation and composition.},
  url = {http://dblp.uni-trier.de/db/conf/vissoft/vissoft2013.html#BradleyH13},
  year = {2013}
}

@inproceedings{Brag10a,
	Address = {New York, NY, USA},
	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.},
	Booktitle = {CHI '10: Proceedings of the 28th international conference on Human factors in computing systems},
	Doi = {10.1145/1753326.1753706},
	Isbn = {978-1-60558-929-9},
	Keywords = {codebubbles},
	Location = {Atlanta, Georgia, USA},
	Pages = {2503--2512},
	Publisher = {ACM},
	Title = {Code bubbles: a working set-based interface for code understanding and maintenance},
	Year = {2010},
	Bdsk-Url-1 = {http://dx.doi.org/10.1145/1753326.1753706}}

@inproceedings{Brag10b,
 author = {Bragdon, Andrew and Reiss, Steven P. and Zeleznik, Robert and Karumuri, Suman and Cheung, William and Kaplan, Joshua and Coleman, Christopher and Adeputra, Ferdi and LaViola,Jr., Joseph J.},
 title = {Code Bubbles: Rethinking the User Interface Paradigm of Integrated Development Environments},
 booktitle = {Proceedings of the 32Nd ACM/IEEE International Conference on Software Engineering - Volume 1},
 series = {ICSE '10},
 year = {2010},
 isbn = {978-1-60558-719-6},
 location = {Cape Town, South Africa},
 pages = {455--464},
 numpages = {10},
 url = {http://doi.acm.org/10.1145/1806799.1806866},
 doi = {10.1145/1806799.1806866},
 acmid = {1806866},
 publisher = {ACM},
 address = {New York, NY, USA},
 keywords = {bubbles, concurrent views, debugging, human factors, integrated development environments, navigation, source code, working set}
}

@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}}

@inbook{Bran01a,
	author = {Brand, M. G. J. and Deursen, A. and Heering, J. and Jong, H. A. and Jonge, M. and Kuipers, T. and Klint, P. and Moonen, L. and Olivier, P. A. and Scheerder, J. and Vinju, J. J. and Visser, E. and Visser, J.},
	chapter = {The {ASF+SDF} Meta-environment: A Component-Based Language Development Environment},
	title = {Compiler Construction: 10th International Conference, CC 2001 Held as Part of the Joint European Conferences on Theory and Practice of Software, ETAPS 2001 Genova, Italy, April 2--6, 2001 Proceedings},
	year = {2001},
	publisher = {Springer Berlin Heidelberg},
	address = {Berlin, Heidelberg},
	pages = {365--370},
	isbn = {978-3-540-45306-2},
	doi = {10.1007/3-540-45306-7_26},
	url = {http://dx.doi.org/10.1007/3-540-45306-7_26}
}

@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}}

@article{Bran02b,
 author = {van den Brand, Mark G. J. and Heering, J. and Klint, P. and Olivier, P. A.},
 title = {Compiling Language Definitions: The ASF+SDF Compiler},
 journal = {ACM Trans. Program. Lang. Syst.},
 issue_date = {July 2002},
 volume = {24},
 number = {4},
 month = jul,
 year = {2002},
 issn = {0164-0925},
 pages = {334--368},
 numpages = {35},
 url = {http://doi.acm.org/10.1145/567097.567099},
 doi = {10.1145/567097.567099},
 acmid = {567099},
 publisher = {ACM},
 address = {New York, NY, USA},
 keywords = {Compilation, language definition, maximal subterm sharing, term rewriting}
}

@article{Bran05a,
	title = {{TIDE}: A Generic Debugging Framework --- Tool Demonstration --- },
	journal = {Electronic Notes in Theoretical Computer Science},
	volume = {141},
	number = {4},
	pages = {161 - 165},
	year = {2005},
	note = {Proceedings of the Fifth Workshop on Language Descriptions, Tools, and Applications (LDTA 2005) Language Descriptions, Tools, and Applications 2005},
	issn = {1571-0661},
	doi = {10.1016/j.entcs.2005.02.056},
	url = {http://www.sciencedirect.com/science/article/pii/S1571066105051789},
	author = {M.G.J. van den Brand and B. Cornelissen and P.A. Olivier and J.J. Vinju}
}

@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}}

@inproceedings{Bran09a,
author = {Brandt, Joel and Guo, Philip J. and Lewenstein, Joel and Dontcheva, Mira and Klemmer, Scott R.},
title = {Two Studies of Opportunistic Programming: Interleaving Web Foraging, Learning, and Writing Code},
year = {2009},
isbn = {9781605582467},
publisher = {Association for Computing Machinery},
address = {New York, NY, USA},
url = {https://doi.org/10.1145/1518701.1518944},
doi = {10.1145/1518701.1518944},
booktitle = {Proceedings of the SIGCHI Conference on Human Factors in Computing Systems},
pages = {1589-1598},
numpages = {10},
keywords = {copy-and-paste, prototyping, opportunistic programming},
location = {Boston, MA, USA},
series = {CHI '09}
}

@inproceedings{Bran10a,
	Acmid = {1753402},
	Address = {New York, NY, USA},
	Author = {Brandt, Joel and Dontcheva, Mira and Weskamp, Marcos and Klemmer, Scott R.},
	Booktitle = {Proceedings of the 28th international conference on Human factors in computing systems},
	Doi = {10.1145/1753326.1753402},
	Isbn = {978-1-60558-929-9},
	Keywords = {example-centric development},
	Location = {Atlanta, Georgia, USA},
	Numpages = {10},
	Pages = {513--522},
	Publisher = {ACM},
	Series = {CHI '10},
	Title = {Example-centric programming: integrating web search into the development environment},
	Url = {http://doi.acm.org/10.1145/1753326.1753402},
	Year = {2010},
	Bdsk-Url-1 = {http://doi.acm.org/10.1145/1753326.1753402},
	Bdsk-Url-2 = {http://dx.doi.org/10.1145/1753326.1753402}}

@article{Bran11a,
	author={U. Brandes and B. Nick},
	journal={IEEE Transactions on Visualization and Computer Graphics},
	title={Asymmetric Relations in Longitudinal Social Networks},
	year={2011},
	volume={17},
	number={12},
	pages={2283-2290},
	doi={10.1109/TVCG.2011.169},
	month=dec}

@article{Bran13a,
	author = {Brandes, Ulrik and Nick, Bobo and Rockstroh, Brigitte and Steffen, Astrid},
	title = {Gestaltlines},
	journal = {Computer Graphics Forum},
	volume = {32},
	number = {3pt2},
	publisher = {Blackwell Publishing Ltd},
	url = {http://dx.doi.org/10.1111/cgf.12104},
	doi = {10.1111/cgf.12104},
	pages = {171--180},
	year = {2013}}

@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,
	Author = {Martin Bravenboer},
	Month = dec,
	School = {Delft University of Technology},
	Title = {Exercises in {Free} {Syntax}: Syntax Definition, Parsing, and Assimilation of Language Conglomerates},
	Url = {http://igitur-archive.library.uu.nl/dissertations/2008-0121-200814/full.pdf},
	Year = {1997},
	Bdsk-Url-1 = {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}}

@article{Brav08a,
	Author = {Martin Bravenboer and Karl Trygve Kalleberg and Rob Vermaas and Eelco Visser},
	Bibsource = {DBLP, http://dblp.uni-trier.de},
	Doi = {10.1016/j.scico.2007.11.003},
	Journal = {Sci. Comput. Program.},
	Number = {1-2},
	Pages = {52-70},
	Title = {Stratego/XT 0.17. A language and toolset for program transformation},
	Url = {http://swerl.tudelft.nl/twiki/pub/Main/TechnicalReports/TUD-SERG-2008-011.pdf},
	Volume = {72},
	Year = {2008},
	Bdsk-Url-1 = {http://swerl.tudelft.nl/twiki/pub/Main/TechnicalReports/TUD-SERG-2008-011.pdf},
	Bdsk-Url-2 = {http://dx.doi.org/10.1016/j.scico.2007.11.003}}

@inproceedings{Brav09a,
	Author = {Martin Bravenboer and Eelco Visser},
	Booktitle = {Software Language Engineering},
	Doi = {10.1007/978-3-642-00434-6_6},
	Isbn = {978-3-642-00433-9},
	Keywords = {parsing},
	Pages = {74--94},
	Publisher = {Springer},
	Title = {Parse Table Composition},
	Volume = {LNCS 5452},
	Year = {2009},
	Bdsk-Url-1 = {http://dx.doi.org/10.1007/978-3-642-00434-6_6}}

@article{Brav09b,
	Acmid = {1640108},
	Address = {New York, NY, USA},
	Author = {Bravenboer, Martin and Smaragdakis, Yannis},
	Doi = {10.1145/1639949.1640108},
	Issn = {0362-1340},
	Issue_Date = {October 2009},
	Journal = {SIGPLAN Not.},
	Keywords = {DOOP, bdds, datalog, declarative, points-to analysis},
	Month = oct,
	Number = {10},
	Numpages = {20},
	Pages = {243--262},
	Publisher = {ACM},
	Title = {Strictly Declarative Specification of Sophisticated Points-to Analyses},
	Url = {http://doi.acm.org/10.1145/1639949.1640108},
	Volume = {44},
	Year = {2009},
	Bdsk-Url-1 = {http://doi.acm.org/10.1145/1639949.1640108},
	Bdsk-Url-2 = {http://dx.doi.org/10.1145/1639949.1640108}}

@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}}

@article{Breh13a,
  	title = {A multi-level typology of abstract visualization tasks},
  	author = {Brehmer, Matthew and Munzner, Tamara},
  	journal = {Visualization and Computer Graphics, IEEE Transactions on},
  	volume = {19},
  	number = {12},
  	pages = {2376--2385},
  	year = {2013},
  	publisher = {IEEE}
}

@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}}

@article{Brei01a,
  title={Random forests},
  author={Breiman, Leo},
  journal={Machine learning},
  volume={45},
  number={1},
  pages={5--32},
  year={2001},
  publisher={Springer}
}

@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}}

@inproceedings{Breu10a,
  title={Information needs in bug reports: improving cooperation between developers and users},
  author={Breu, Silvia and Premraj, Rahul and Sillito, Jonathan and Zimmermann, Thomas},
  booktitle={Proceedings of the 2010 ACM conference on Computer supported cooperative work},
  pages={301--310},
  year={2010},
  Keywords = {dev-questions},
  organization={ACM}}

@article{Brew03a,
  title={ColorBrewer in print: a catalog of color schemes for maps},
  author={Brewer, Cynthia A and Hatchard, Geoffrey W and Harrower, Mark A},
  journal={Cartography and geographic information science},
  volume={30},
  number={1},
  pages={5--32},
  year={2003},
  publisher={Taylor \& Francis Group}
}

@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}}

@inproceedings{Bria99c,
	Acmid = {302654},
	Address = {New York, NY, USA},
	Author = {Briand, Lionel C. and W\"{u}st, J\"{u}rgen and Ikonomovski, Stefan V. and Lounis, Hakim},
	Booktitle = {Proceedings of the 21st International Conference on Software Engineering},
	Doi = {10.1145/302405.302654},
	Isbn = {1-58113-074-0},
	Keywords = {cohesion, coupling, empirical validation, measurement, metrics, object-oriented},
	Location = {Los Angeles, California, USA},
	Numpages = {10},
	Pages = {345--354},
	Publisher = {ACM},
	Series = {ICSE '99},
	Title = {Investigating Quality Factors in Object-oriented Designs: An Industrial Case Study},
	Url = {http://doi.acm.org/10.1145/302405.302654},
	Year = {1999},
	Bdsk-Url-1 = {http://doi.acm.org/10.1145/302405.302654},
	Bdsk-Url-2 = {http://dx.doi.org/10.1145/302405.302654}}

@article{Bria00a,
	Abstract = {One goal of this paper is to empirically explore the relationships between existing object-oriented (OO) coupling, cohesion, and inheritance measures and the probability of fault detection in system classes during testing. In other words, we wish to better understand the relationship between existing design measurement in OO systems and the quality of the software developed. The second goal is to propose an investigation and analysis strategy to make these kind of studies more repeatable and comparable, a problem which is pervasive in the literature on quality measurement. Results show that many of the measures capture similar dimensions in the data set, thus reflecting the fact that many of them are based on similar principles and hypotheses. However, it is shown that by using a subset of measures, accurate models can be built to predict which classes most of the faults are likely to lie in. When predicting fault-prone classes, the best model shows a percentage of correct classifications higher than 80% and finds more than 90% of faulty classes. Besides the size of classes, the frequency of method invocations and the depth of inheritance hierarchies seem to be the main driving factors of fault-proneness.},
	Author = {Lionel C. Briand and J{\"u}rgen W{\"u}st and John W. Daly and D. Victor Porter},
	Doi = {10.1016/S0164-1212(99)00102-8},
	Issn = {0164-1212},
	Journal = {Journal of Systems and Software},
	Number = {3},
	Pages = {245--273},
	Title = {Exploring the relationships between design measures and software quality in object-oriented systems},
	Url = {http://www.sciencedirect.com/science/article/pii/S0164121299001028},
	Volume = {51},
	Year = {2000},
	Bdsk-Url-1 = {http://www.sciencedirect.com/science/article/pii/S0164121299001028},
	Bdsk-Url-2 = {http://dx.doi.org/10.1016/S0164-1212(99)00102-8}}

@article{Bria02a,
	Author = {Briand, Lionel C and Melo, Walcelio L. and Wust, Jurgen},
	Journal = {Software Engineering, IEEE Transactions on},
	Number = {7},
	Pages = {706--720},
	Publisher = {IEEE},
	Title = {Assessing the applicability of fault-proneness models across object-oriented software projects},
	Volume = {28},
	Year = {2002}}

@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}}

@techreport{Bria14a,
	Author = {Lionel Briand and Andr\'e van der Hoek},
	Institution = {University of Luxembourg},
	Isbn = {978-2-87971-127-0},
	Keywords = {icse champion},
	Month = apr,
	Title = {Insights and Lessons Learned from Analyzing ICSE 2014 Survey and Review Data},
	Url = {http://hdl.handle.net/10993/16345},
	Year = {2014},
	Bdsk-Url-1 = {http://hdl.handle.net/10993/16345}}

@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}}

@article {Brig16a,
author = {Briggs, Kim T. and Zhou, Baoguo and Dueck, Gerhard W.},
title = {Cold object identification in the Java virtual machine},
journal = {Software: Practice and Experience},
issn = {1097-024X},
url = {http://dx.doi.org/10.1002/spe.2396},
doi = {10.1002/spe.2396},
pages = {n/a--n/a},
keywords = {Java virtual machine, garbage collection, cold objects, access barrier, stack sampling},
year = {2016},
note = {spe.2396}
}

@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}}

@inproceedings{Bril03a,
	title = {Embedding architectural support in industry},
	author = {Bril, Reinder J and Postma, Andr{\'e} and Krikhaar, Ren{\'e} L},
	booktitle = {Software Maintenance, 2003. ICSM 2003. Proceedings. International Conference on},
	pages = {348--357},
	year = {2003},
	organization = {IEEE}}

@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}}

@article{Brin98a,
	Acmid = {297827},
	Address = {Amsterdam, The Netherlands, The Netherlands},
	Author = {Brin, Sergey and Page, Lawrence},
	Doi = {10.1016/S0169-7552(98)00110-X},
	Issn = {0169-7552},
	Issue_Date = {April 1, 1998},
	Journal = {Comput. Netw. ISDN Syst.},
	Keywords = {Google, PageRank, World Wide Web, information retrieval, search engines},
	Month = apr,
	Number = {1-7},
	Numpages = {11},
	Pages = {107--117},
	Publisher = {Elsevier Science Publishers B. V.},
	Title = {The anatomy of a large-scale hypertextual Web search engine},
	Url = {http://dx.doi.org/10.1016/S0169-7552(98)00110-X},
	Volume = {30},
	Year = {1998},
	Bdsk-Url-1 = {http://dx.doi.org/10.1016/S0169-7552(98)00110-X}}

@techreport{Brin21a,
	Title = {Developer Tool Support for Security Code Smells},
	Author = {Dominik Briner},
	Abstract = {Mobile apps tend to gain new features with every release, and
		startups continue to develop services without thorough
		experience. Unfortunately, such an environment is a breeding
		ground for security code smells, and the automatic mitigation
		of those smells is complex and requires knowledge about the
		context. Hence, they still remain in many apps. In this work,
		we explore the possibility of quick fixes for security code
		smells, i.e., we provide a plug-in that seamlessly integrates
		with Android Studio and supports the detection of six different
		security code smells. We performed a brief manual evaluation of
		our tool on 25 random apps from the F-Droid app store as well
		as some additional apps from the previous study, and checked
		whether the reported security smells are correct, and if they
		can be automatically mitigated with a quick fix. The results
		are promising. According to our manual validation, the tool
		identified 92 security code smells, of which it was able to
		fix more than 91\%, many of them without any additional
		intervention of the developer.},
	Institution = {University of Bern},
	Keywords = {scg-bp snf-asa3 scg21 jb22},
	Type = {Bachelor's thesis},
	Url = {http://scg.unibe.ch/archive/projects/Brin21a.pdf},
	Month = aug,
	Year = {2021}
}

@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},
	Doi = {10.1145/74877.74921},
	Keywords = {olit oopsla89},
	Month = oct,
	Pages = {419--432},
	Title = {Programming with Explicit Metaclasses in {Smalltalk}-80},
	Volume = {24},
	Year = {1989},
	Bdsk-Url-1 = {http://dx.doi.org/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,
	Acmid = {196665},
	Address = {New York, NY, USA},
	Author = {Brito e Abreu, Fernando and Carapu\c{c}a, Rog\'{e}rio},
	Doi = {10.1016/0164-1212(94)90099-X},
	Issn = {0164-1212},
	Issue = {1},
	Journal = {J. Syst. Softw.},
	Month = jul,
	Numpages = {10},
	Pages = {87--96},
	Publisher = {Elsevier Science Inc.},
	Title = {Candidate metrics for object-oriented software within a taxonomy framework},
	Volume = {26},
	Year = {1994},
	Bdsk-Url-1 = {http://dx.doi.org/10.1016/0164-1212(94)90099-X}}

@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}}

@inproceedings{Brit07a,
	title = {Quantitative approaches in object-oriented software engineering},
	author = {e Abreu, Fernando Brito and Calero, Coral and Gu{\'e}h{\'e}neuc, Yann-Ga{\"e}l and Lanza, Michele and Sahraoui, Houari},
	booktitle = {Object-Oriented Technology. ECOOP 2006 Workshop Reader},
	pages = {87--96},
	year = {2007},
	organization = {Springer}}

@inproceedings{Brit18a,
author={A. {Brito} and L. {Xavier} and A. {Hora} and M. T. {Valente}},
booktitle={2018 IEEE 25th International Conference on Software Analysis, Evolution and Reengineering (SANER)},
title={Why and how Java developers break {APIs}},
year={2018},
volume={},
number={},
pages={255-265},
keywords={application program interfaces;Java;software libraries;software maintenance;software reusability;API developers;Java developers;modern software development;Java libraries;breaking changes;code reuse;software systems;Libraries;Java;Tools;Electronic mail;Software engineering;Software;API Evolution;Breaking Changes;Field Study},
doi={10.1109/SANER.2018.8330214},
ISSN={},
month=mar
}

@inproceedings{Brix10a,
	Abstract = {Clone detection is usually applied in the context of detecting small-to medium scale fragments of duplicated code in large software systems. In this paper, we address the problem of clone detection applied to plagiarism detection in the context of source code assignments done by computer science students. Plagiarism detection comes with a distinct set of constraints to usual clone detection approaches, which influenced the design of the approach we present in this paper. For instance, the source code can be heavily changed at a superficial level (in an attempt to look genuine), yet be functionally very similar. Since assignments turned in by computer science students can be in a variety of languages, we work at the syntactic level and do not consider the source-code semantics. Consequently, the approach we propose is endogenous and makes no assumption about the programming language being analysed. It is based on an alignment method using the parallel principle at local resolution (character level) to compute similarities between documents. We tested our framework on hundreds of real source files, involving a wide array of programming languages (Java, C, Python, {PHP}, Haskell, bash). Our approach allowed us to discover previously undetected frauds, and to empirically evaluate its accuracy and robustness.},
	Author = {Brixtel, Romain and Fontaine, Mathieu and Lesner, Boris and Bazin, Cyril and Robbes, Romain},
	Booktitle = {SCAM},
	Doi = {10.1109/SCAM.2010.19},
	Isbn = {978-0-7695-4178-5},
	Keywords = {icsm},
	Location = {Timisoara, Romania},
	Pages = {77--86},
	Title = {{Language-Independent} Clone Detection Applied to Plagiarism Detection},
	Year = {2010},
	Bdsk-Url-1 = {http://dx.doi.org/10.1109/SCAM.2010.19}}

@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,
	Abstract = {Given two documents A and B we define two mathematical notions:
their resemblance {r(A}, B) and their containment {c(A}, B) that seem to
capture well the informal notions of  '' roughly the same'' and
 '' roughly contained.'' The basic idea is to reduce these
issues to set intersection problems that can be easily evaluated by a
process of random sampling that can be done independently for each
document. Furthermore, the resemblance can be evaluated using a fixed
size sample for each document. This paper discusses the mathematical
properties of these measures and the efficient implementation of the
sampling process using Rabin (1981) fingerprints},
	Author = {Broder, A. Z.},
	Booktitle = {Proceedings of the Compression and Complexity of Sequences 1997},
	Day = {13},
	Location = {Salerno, Italy},
	Month = jun,
	Pages = {21--29},
	Publisher = {IEEE Computer Society},
	Series = {SEQUENCES '97},
	Title = {On the resemblance and containment of documents},
	Year = {1997}}

@techreport{Brog18a,
	Title = {Bug Prediction with Neural Nets using Regression- and Classification-based Approaches},
	Author = {S\'ebastien O. Broggi},
	Abstract = {Bugs can often be hard to identify and developers spend a
large amount of time locating and fixing them. Bug
prediction strives to identify code defects using machine
learning and statistical analysis and therefore decreasing
time spent on bug localization. With bug prediction,
awareness of bugs can be increased and software quality can
be improved in significantly less time. Machine learning
models are used in most modern bug prediction tools and with
recent advances in machine learning, new models and
possibilities have arisen that further improve the
possibilities and performance in bug prediction. In our
studies, we test the performance of ``Doc2Vec'' --- a
current model that is used to vectorize plain text --- on
source code to perform classification. Instead of relying on
code metrics, we analyze and vectorize plain-text source
code and try to identify bugs based on similarity to learned
paragraph vectors. Testing two different implementations of
the Doc2Vec model, we find that no usable results can be
achieved by using plain text classification models for bug
prediction. Even after abstracting the code and applying
parameter tuning on our model, all experiments deliver a
constant 50\% accuracy, so no learning can be achieved by any
of the models. The experiments clearly show that code should
not be treated as plain text and should instead contain more
code-specific information like metrics about the code. Our
second setup of experiments consists of a 3-layer feed
forward neural network that performs classification- and
regression- based approaches on code metrics, using datasets
that contain a discrete number of bugs as a response
variable. There have already been many successful
experiments using metrics to perform classification based on
code metrics. In our studies we compare the performance of a
standard regression and standard multi-class classification
model to the models ``classification by regression'' (CbR)
and ``regression by classification'' (RbC). In the RbC
model, we use the output from classification to predict an
accurate number of bugs and then calculate the
root-mean-square error (RMSE). In the CbR model we use the
output of regression to perform binary classification and
calculate area under the receiver operating characteristic
curve (ROC AUC) to compare the results. In our experiments
we find that a neural network delivers better results when
using the CbR model on an estimated defect count compared to
the results using standard multi-class classification. We
also suggest that the RMSE can significantly be decreased by
using the RbC model compared to standard regression.},
	Institution = {University of Bern},
	Keywords = {scg-bp snf-asa2 scg18 jb18},
	Type = {Bachelor's thesis},
	Url = {http://scg.unibe.ch/archive/projects/Brog18a.pdf},
	Month = jan,
	Year = {2018}
}

@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}}

@inproceedings{Bron10a,
	Acmid = {1810390},
	Address = {New York, NY, USA},
	Author = {Br{\/o}ndum, John},
	Booktitle = {Proceedings of the 32nd ACM/IEEE International Conference on Software Engineering - Volume 2},
	Doi = {10.1145/1810295.1810390},
	Isbn = {978-1-60558-719-6},
	Keywords = {software architecture, systems-of-systems},
	Location = {Cape Town, South Africa},
	Numpages = {2},
	Pages = {355--356},
	Publisher = {ACM},
	Series = {ICSE '10},
	Title = {Software architecture for systems of software intensive systems (S3): the concepts and detection of inter-system relationships},
	Year = {2010},
	Bdsk-Url-1 = {http://dx.doi.org/10.1145/1810295.1810390}}

@book{Broo75a,
	Address = {Reading, Mass.},
	Author = {Frederick P. Brooks},
	Isbn = {0-201-00650-2},
	Keywords = {misc book scglib oorp p2lit eselit},
	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,
	Address = {Cambridge, MA, USA},
	Author = {Brooks, Rodney A.},
	Institution = {Artificial Intelligence Laboratory},
	Keywords = {damiencbib robotics},
	Publisher = {Massachusetts Institute of Technology},
	Title = {A Robust Layered Control System For a Mobile Robot},
	Year = {1985}}

@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}}

@article{Brow93a,
author={A. W. Brown},
journal={Software Engineering Journal},
title={Control integration through message-passing in a software development environment},
year={1993},
volume={8},
number={3},
pages={121-131},
keywords={integrated software;programming environments;software tools;control integration paradigm;end-user needs;large-scale software production;message-passing;software development environment;tool integration;Programming environments;Software tools},
doi={10.1049/sej.1993.0017},
ISSN={0268-6961},
month=may}

@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}}

@article{Brow01b,
	title={An empirical investigation of user requirements elicitation: Comparing the effectiveness of prompting techniques},
	author={Browne, Glenn J and Rogich, Michael B},
	journal={Journal of Management Information Systems},
	volume={17},
	number={4},
	pages={223--249},
	year={2001},
	publisher={Taylor \& Francis}
}

@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{Bruc09a,
	author = {Bruch, Marcel and Monperrus, Martin and Mezini, Mira},
	title = {Learning from Examples to Improve Code Completion Systems},
	booktitle = {Proceedings of the the 7th Joint Meeting of the European Software Engineering Conference and the ACM SIGSOFT Symposium on The Foundations of Software Engineering},
	series = {ESEC/FSE '09},
	year = {2009},
	isbn = {978-1-60558-001-2},
	location = {Amsterdam, The Netherlands},
	pages = {213--222},
	numpages = {10},
	url = {http://doi.acm.org/10.1145/1595696.1595728},
	doi = {10.1145/1595696.1595728},
	acmid = {1595728},
	publisher = {ACM},
	address = {New York, NY, USA},
	keywords = {code completion, code recommender, content assist, integrated development environment}
}

@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 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}}

@inbook{Brug92a,
	author={Br{\"u}ggemann-Klein, Anne},
	chapter={Regular expressions into finite automata},
	title={LATIN '92: 1st Latin American Symposium on Theoretical Informatics S{\~a}o Paulo, Brazil, April 6--10, 1992 Proceedings},
	year={1992},
	publisher={Springer Berlin Heidelberg},
	address={Berlin, Heidelberg},
	pages={87--98},
	isbn={978-3-540-47012-0},
	doi={10.1007/BFb0023820},
	url={http://dx.doi.org/10.1007/BFb0023820}
}

@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},
	Bdsk-Url-1 = {http://dx.doi.org/10.1007/978-3-540-68951-5_8}}

@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,
	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.},
	Author = {Bruns, G. and Chandra, S.},
	Doi = {10.1109/TSE.2003.1237170},
	Issn = {0098-5589},
	Journal = {Software Engineering, IEEE Transactions on},
	Month = oct,
	Number = {10},
	Pages = {883-897},
	Title = {Searching for points-to analysis},
	Volume = {29},
	Year = {2003},
	Bdsk-Url-1 = {http://dx.doi.org/10.1109/TSE.2003.1237170}}

@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 van Deursen, Arie 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}}

@unpublished{Brun06c,
	Author = {Leonhard Brunauer and Bernhard M\"{u}hlbacher},
	Keywords = {LL, indentation, layout-sensitive languages},
	Note = {http://www.cs.uni-salzburg.at/~ck/content/classes/TCS-Summer-2006/index.html},
	Title = {Indentation Sensitive Languages},
	Type = {manuscript},
	Url = {http://www.cs.uni-salzburg.at/~ck/content/classes/TCS-Summer-2006/index.html},
	Year = {2006},
	Bdsk-Url-1 = {http://www.cs.uni-salzburg.at/~ck/content/classes/TCS-Summer-2006/index.html}}

@inproceedings{Brun07a,
	Acmid = {1763736},
	Address = {Berlin, Heidelberg},
	Author = {Brunnert, Jan and Alonso, Omar and Riehle, Dirk},
	Booktitle = {Proceedings of the 29th European conference on IR research},
	Isbn = {978-3-540-71494-1},
	Location = {Rome, Italy},
	Numpages = {4},
	Pages = {674--677},
	Publisher = {Springer-Verlag},
	Series = {ECIR'07},
	Title = {Enterprise people and skill discovery using tolerant retrieval and visualization},
	Url = {http://dl.acm.org/citation.cfm?id=1763653.1763736},
	Year = {2007},
	Bdsk-Url-1 = {http://dl.acm.org/citation.cfm?id=1763653.1763736}}

@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,
	Address = {Toronto, Ontario, Canada},
	Annote = {InternationalConference},
	Author = {Bruneau, Julien and Jouve, Wilfried and Consel, Charles},
	Booktitle = {Mobiquitous'09: Proceedings of the 6th International Conference on Mobile and Ubiquitous Systems: Computing, Networking and Services},
	Doi = {10.4108/ICST.MOBIQUITOUS2009.6851},
	Keywords = {damiencbib},
	Pages = {1--10},
	Publisher = {ICST/IEEE},
	Title = {{DiaSim}, A Parameterized Simulator for Pervasive Computing Applications},
	Year = {2009},
	Bdsk-Url-1 = {http://dx.doi.org/10.4108/ICST.MOBIQUITOUS2009.6851}}

@techreport{Brun10a,
	Author = {Bruneau, Julien and Consel, Charles and O'Malley, Marcia and Taha, Walid and Hannourah, Wail Masry},
	Institution = {Phoenix Research Group, INRIA Bordeaux},
	Keywords = {damiencbib acumen},
	Title = {Virtual Testing for Smart Buildings},
	Year = {2010}}

@inproceedings{Brun10b,
	Address = {Sydney, Australia},
	Author = {Bruneau, Julien and Consel, Charles and O'Malley, Marcia and Taha, Walid and Hannourah, Wail Masry},
	Booktitle = {MOBIQUITOUS'10: Proceedings of the 7th International Conference on Mobile and Ubiquitous Systems: Computing, Networking and Services},
	Keywords = {virtual testing smart buildings HVAC mixed (virtual/real) world infrastructures energy efficiency diasuite diaspec damiencbib},
	Month = dec,
	Note = {poster},
	Publisher = {ICST Gent},
	Title = {Preliminary Results in Virtual Testing for Smart Buildings},
	Url = {http://hal.inria.fr/inria-00551264/en},
	Year = {2010},
	Bdsk-Url-1 = {http://hal.inria.fr/inria-00551264/en}}

@inproceedings{Brun10c,
	Address = {New York, NY, USA},
	Author = {Bruneliere, Hugo and Cabot, Jordi and Jouault, Fr{\'e}d{\'e}ric and Madiot, Fr{\'e}d{\'e}ric},
	Booktitle = {Proceedings of the IEEE/ACM international conference on Automated software engineering},
	Doi = {10.1145/1858996.1859032},
	Isbn = {978-1-4503-0116-9},
	Keywords = {eclipse platform, extensibility, genericity, model driven engineering, open source, reverse engineering},
	Location = {Antwerp, Belgium},
	Numpages = {2},
	Pages = {173--174},
	Publisher = {ACM},
	Series = {ASE '10},
	Title = {MoDisco: a generic and extensible framework for model driven reverse engineering},
	Url = {http://doi.acm.org/10.1145/1858996.1859032},
	Year = {2010},
	Bdsk-Url-1 = {http://doi.acm.org/10.1145/1858996.1859032},
	Bdsk-Url-2 = {http://dx.doi.org/10.1145/1858996.1859032}}

@inproceedings{Brun10d,
 author = {Brun, Yuriy and Holmes, Reid and Ernst, Michael D. and Notkin, David},
 title = {Speculative Analysis: Exploring Future Development States of Software},
 booktitle = {Proceedings of the FSE/SDP Workshop on Future of Software Engineering Research},
 series = {FoSER '10},
 year = {2010},
 isbn = {978-1-4503-0427-6},
 location = {Santa Fe, New Mexico, USA},
 pages = {59--64},
 numpages = {6},
 url = {http://doi.acm.org/10.1145/1882362.1882375},
 doi = {10.1145/1882362.1882375},
 acmid = {1882375},
 publisher = {ACM},
 address = {New York, NY, USA},
 keywords = {developer awareness, ide, quick fix, recommender system, speculation, version control}
}

@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 scg11 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},
	Bdsk-Url-1 = {http://scg.unibe.ch/archive/masters/Brun11a.pdf}}

@inproceedings{Brun11b,
 author = {Brun, Yuriy and Holmes, Reid and Ernst, Michael D. and Notkin, David},
 title = {Crystal: Precise and Unobtrusive Conflict Warnings},
 booktitle = {Proceedings of the 19th ACM SIGSOFT Symposium and the 13th European Conference on Foundations of Software Engineering},
 series = {ESEC/FSE '11},
 year = {2011},
 isbn = {978-1-4503-0443-6},
 location = {Szeged, Hungary},
 pages = {444--447},
 numpages = {4},
 url = {http://doi.acm.org/10.1145/2025113.2025187},
 doi = {10.1145/2025113.2025187},
 acmid = {2025187},
 publisher = {ACM},
 address = {New York, NY, USA},
 keywords = {collaboration conflicts, collaborative development, crystal, developer awareness, speculative analysis, version control}
}

@incollection{Brun13a,
	Author = {Camillo Bruni and Alexandre Bergel and Damien Cassou and St\'ephane Ducasse and Jannik Laval},
	Booktitle = {Deep Into Pharo},
	Isbn = {978-3-9523341-6-4},
	Keywords = {Smalltalk, Pharo, Object-Oriented Programming, Live Programming},
	Month = sep,
	Pages = 8,
	Publisher = {Square Bracket Associates},
	Title = {Zero Configuration Scripts and Command-Line Handlers},
	Year = {2013}}

@article{Brun13b,
  title={Early detection of collaboration conflicts and risks},
  author={Brun, Yuriy and Holmes, Reid and Ernst, Michael D and Notkin, David},
  journal={IEEE Transactions on Software Engineering},
  volume={39},
  number={10},
  pages={1358--1375},
  year={2013},
  publisher={IEEE}
}

@article{Brun15a,
	author={Brunet, J. and Murphy, G.C. and Serey, D. and Figueiredo, J.},
	journal={Software, IEEE},
	title={Five Years of Software Architecture Checking: A Case Study of Eclipse},
	year={2015},
	volume={32},
	number={5},
	pages={30-36},
	doi={10.1109/MS.2014.106},
	ISSN={0740-7459},
	month=sep}

@inproceedings{Bruni10a,
  title={An algebra of hierarchical graphs},
  author={Bruni, Roberto and Gadducci, Fabio and Lafuente, Alberto Lluch},
  booktitle={International Symposium on Trustworthy Global Computing},
  pages={205--221},
  year={2010},
  organization={Springer},
  doi={10.1007/978-3-642-15640-3_14},
  keywords = {hypergraphs, hierarchical graphs}
}

@article{Bruz98a,
title = {Structured neural networks for signal classification},
journal = {Signal Processing},
volume = {64},
number = {3},
pages = {271 - 290},
year = {1998},
issn = {0165-1684},
doi = {10.1016/S0165-1684(97)00195-3},
author = {L Bruzzone and F Roli and S.B Serpico}
}

@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}}

@book{Brya10a,
	Address = {USA},
	Author = {Bryant, Randal E. and O'Hallaron, David R.},
	Edition = {2nd},
	Isbn = {0136108040, 9780136108047},
	Publisher = {Addison-Wesley Publishing Company},
	Title = {Computer Systems: A Programmer's Perspective},
	Year = {2010}}

@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}}

@inproceedings{Buch00a,
	Annote = {propose a type-safe language constructs that retain the static and dynamic type of the "wrapee" object.
Supports and provides links about delegation vs forwarding. Implemented forwarding. },
	Author = {Martin B{\"u}chi and Wolfgang Weck},
	Booktitle = {ECOOP 2000 - Object-Oriented Programming, 14th European Conference, Sophia Antipolis and Cannes, France, June 12-16, 2000, Proceedings},
	Citedby = {0},
	Cites = {0},
	Date-Added = {2012-09-06 14:21:09 +0000},
	Date-Modified = {2013-01-21 13:36:15 +0000},
	Editor = {Elisa Bertino},
	Isbn = {3-540-67660-0},
	Keywords = {proxy},
	Pages = {201-225},
	Publisher = {Springer},
	Rating = {4},
	Researchr = {http://researchr.org/publication/BuchiW00},
	Series = {Lecture Notes in Computer Science},
	Title = {Generic Wrappers},
	Volume = {1850},
	Year = {2000}}

@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 scg-none 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}}

@inproceedings{Buck04a,
 author = {Buckley, Jim and Exton, Chris and Good, Judith},
 title = {Characterizing Programmers' Information-Seeking During Software Evolution},
 booktitle = {Proceedings of the 12 International Workshop on Software Technology and Engineering Practice},
 series = {STEP '04},
 year = {2004},
 isbn = {0-7695-2293-9},
 pages = {23--29},
 numpages = {7},
 url = {https://doi.org/10.1109/STEP.2004.7},
 doi = {10.1109/STEP.2004.7},
 acmid = {1130405},
 publisher = {IEEE Computer Society},
 address = {Washington, DC, USA},
 Keywords = {dev-questions}
}

@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}}

@inproceedings{Buck17a,
author={Buckers, Tim and Cao, Clinton and Doesburg, Michiel and Gong, Boning and Wang, Sunwei and Beller, Moritz and Zaidman, Andy},
booktitle={2017 IEEE 24th International Conference on Software Analysis, Evolution, and Reengineering (SANER)},
title={{UAV}: Warnings from Multiple Automated Static Analysis Tools at a Glance},
year={2017},
pages={472-476}}

@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 scg-none 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}}

@techreport{Bueh20a,
	Title = {Exploring Security Issues in Open Source Software},
	Author = {Noah B\"uhlmann},
	Abstract = {Background: Identifying and resolving security
		issues in open source projects are paramount due
		to the large impact of these projects in the
		software industry. Previous work has mostly
		focused on the prediction of security issues,
		but how such issues evolve and are discussed is
		less well-known. Aims: With this study we aim to
		understand how security issues evolve, learn
		what their characteristics are and pave the way
		for further, more detailed research on very
		specific elements of the security issue life
		cycle. Method: We performed a large-scale
		analysis of metadata and quantitative features
		of security and non-security issues from 182
		different GitHub projects. Additionally, we
		performed a more detailed manual analysis on a
		subset consisting of 333 security issues, where
		we also investigated the issue discussions and
		any related pull requests. Results: We were able
		to identify differences and similarities between
		security and non-security issues and describe
		various characteristics of security issues.
		Furthermore, we were able to identify
		differences and similarities between accepted,
		pending and rejected security issues and
		speculate on factors that influence the
		probability of a security issue to be accepted.
		Finally, we were able to describe various
		characteristics of security issues that result
		in a different resolution time. Conclusion: We
		were able to present an overview of security
		issues in Open Source Software that will be
		useful for both researchers and practitioners in
		understanding and further improving the security
		culture in Open Source Software engineering.},
	Institution = {University of Bern},
	Keywords = {scg-bp snf-20 scg20 jb20},
	Url = {http://scg.unibe.ch/archive/projects-LOCAL/Bueh20a.pdf},
	Type = {Bachelor's thesis},
	Month = jun,
	Year = {2020}
}

@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 scg-none 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}}

@inproceedings{Buns09a,
author={C. Bunse and H. H\"opfner and E. Mansour and S. Roychoudhury},
booktitle={2009 Tenth International Conference on Mobile Data Management: Systems, Services and Middleware},
title={Exploring the Energy Consumption of Data Sorting Algorithms in Embedded and Mobile Environments},
year={2009},
pages={600-607},
abstract={Most mobile and embedded devices are battery powered. Hence, their uptime depends on the energy consumption of the used components. Developers made severe effort to optimize hardware components in order to reduce their energy consumption. However, in this paper we show that one also has to consider energy awareness in terms of software. In this study we focus on sorting algorithms, which are not only used directly by the user of a device but also very often implicitly by other algorithms. Our experiments show,that different sorting algorithms consume different amounts of energy. In detail, the experiments show that there is no direct correlation between the time complexity of an algorithm and its energy consumption.},
keywords={embedded systems;mobile computing;sorting;data sorting algorithm;embedded device;energy consumption;mobile environment;Algorithm design and analysis;Computer science;Energy consumption;Energy management;Hardware;Java;Memory management;Routing;Software performance;Sorting;embedded systems;energy awareness;mobile information systems;sorting algorithms},
doi={10.1109/MDM.2009.103},
ISSN={1551-6245},
month=may
}

@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}}

@article {Burc08a,
journal = {Computer Graphics Forum},
title = {TimeRadarTrees: Visualizing Dynamic Compound Digraphs},
author = {Burch, Michael and Diehl, Stephan},
year = {2008},
publisher = {The Eurographics Association and Blackwell Publishing Ltd.},
ISSN = {1467-8659},
DOI = {10.1111/j.1467-8659.2008.01213.x}
}

@article{Burc11a,
	title = {Parallel edge splatting for scalable dynamic graph visualization},
	author = {Burch, Michael and Vehlow, Corinna and Beck, Fabian and Diehl, Stephan and Weiskopf, Daniel},
	journal = {Visualization and Computer Graphics, IEEE Transactions on},
	volume = {17},
	number = {12},
	pages = {2344--2353},
	year = {2011},
	publisher = {IEEE}}

@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}}

@book{Burg75a,
    title = {Recursive programming techniques},
    author = {Burge, William H.},
    series = {The systems programming series},
    publisher = {Addison-Wesley},
    address = {Reading (Mass.)},
    isbn = {0-201-14450-6},
    year = {1975}
}

@techreport{Burg95a,
	Author = {Douglas C. Burger and James R. Goodman and Alain K\"agi},
	Institution = {University of Wisconsin -- Madison. Computer Sciences Dept},
	Title = {The Declining Effectiveness of Dynamic Caching for General-Purpose Microprocessors},
	Year = {1995}}

@mastersthesis{Burk97a,
	Author = {Benno Burkhardt},
	Keywords = {snf-none 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}}

@techreport{Burk21a,
	Title = {Finding and Mitigating Cross-Site Scripting Attack Vectors --- Testing different Web Application Security Scanners},
	Author = {Rafael Burkhalter},
	Abstract = {The purpose of this thesis is to determine the
		efficacy and usability of different popular security
		scanners for web applications. The main focus lies on
		testing their ability to find cross-site scripting
		vulnerabilities, i.e. vulnerabilities arising when
		user input isn't properly sanitized. To analyze the
		scanners various criteria are taken into account
		mainly completeness of the findings, ease of use and
		installation effort. In a second part an overview on
		how to analyze a scanner's result and how Cross-Site
		Scripting attacks can be mitigated is given.},
	Institution = {University of Bern},
	Keywords = {scg-bp snf-asa3 scg21 jb21},
	Type = {Bachelor's thesis},
	Url = {http://scg.unibe.ch/archive/projects/Burk21a.pdf},
	Month = apr,
	Year = {2021}
}

@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/}}

@inproceedings{Burm13a,
 author = {Burmako, Eugene},
 title = {Scala Macros: Let Our Powers Combine!: On How Rich Syntax and Static Types Work with Metaprogramming},
 booktitle = {Proceedings of the 4th Workshop on Scala},
 series = {SCALA '13},
 year = {2013},
 isbn = {978-1-4503-2064-1},
 location = {Montpellier, France},
 pages = {3:1--3:10},
 articleno = {3},
 numpages = {10},
 url = {http://doi.acm.org/10.1145/2489837.2489840},
 doi = {10.1145/2489837.2489840},
 acmid = {2489840},
 publisher = {ACM},
 address = {New York, NY, USA},
 keywords = {Scala, compile-time metaprogramming, domain-specific languages, type classes}
}

@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{Burr00a,
	Acmid = {379236},
	Address = {New York, NY, USA},
	Author = {Burrows, M. and Erlingsson, U. and Leung, S-T. A. and Vandevoorde, M. T. and Waldspurger, C. A. and Walker, K. and Weihl, W. E.},
	Booktitle = {Proceedings of the ninth international conference on Architectural support for programming languages and operating systems},
	Doi = {10.1145/378993.379236},
	Isbn = {1-58113-317-0},
	Location = {Cambridge, Massachusetts, United States},
	Numpages = {8},
	Pages = {160--167},
	Publisher = {ACM},
	Series = {ASPLOS-IX},
	Title = {Efficient and flexible value sampling},
	Url = {http://doi.acm.org/10.1145/378993.379236},
	Year = {2000},
	Bdsk-Url-1 = {http://doi.acm.org/10.1145/378993.379236},
	Bdsk-Url-2 = {http://dx.doi.org/10.1145/378993.379236}}

@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}}

@phdthesis{Busa02a,
  title={An abstract model of hierarchical graphs and hierarchical graph transformation},
  author={Busatto, Giorgio},
  year={2002},
  school={Univ., Fachbereich Informatik},
  url={https://d-nb.info/967851955/34},
  keywords = {hypergraphs, hierarchical graphs}
}

@article{Busa05a,
  title={Abstract hierarchical graph transformation},
  author={Busatto, Giorgio and Kreowski, Hans-J{\"o}rg and Kuske, Sabine},
  journal={Mathematical Structures in Computer Science},
  volume={15},
  number={4},
  pages={773--819},
  year={2005},
  publisher={Cambridge University Press},
  doi = {10.1017/S0960129505004846},
  keywords = {hypergraphs, hierarchical graphs}
}

@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}}

@article{Busch12a,
	Author = {Buschmann, Frank and Ameller, David and Ayala, Claudia P. and Cabot, Jordi and Franch, Xavier},
	Doi = {10.1109/MS.2012.77},
	Issn = {0740-7459},
	Journal = {Software, IEEE},
	Month = aug,
	Number = {4},
	Pages = {22 -24},
	Title = {Architecture Quality Revisited},
	Volume = {29},
	Year = {2012},
	Bdsk-Url-1 = {http://dx.doi.org/10.1109/MS.2012.77}}

@inproceedings{Buse08a,
	Acmid = {1390664},
	Address = {New York, NY, USA},
	Author = {Buse, Raymond P.L. and Weimer, Westley R.},
	Booktitle = {Proceedings of the 2008 international symposium on Software testing and analysis},
	Doi = {10.1145/1390630.1390664},
	Isbn = {978-1-60558-050-0},
	Keywords = {documentation inference, exception handling, software documentation},
	Location = {Seattle, WA, USA},
	Numpages = {10},
	Pages = {273--282},
	Publisher = {ACM},
	Series = {ISSTA '08},
	Title = {Automatic documentation inference for exceptions},
	Year = {2008},
	Bdsk-Url-1 = {http://dx.doi.org/10.1145/1390630.1390664}}

@inproceedings{Buse08b,
	Acmid = {1390647},
	Address = {New York, NY, USA},
	Author = {Buse, Raymond P.L. and Weimer, Westley R.},
	Booktitle = {Proceedings of the 2008 International Symposium on Software Testing and Analysis},
	Doi = {10.1145/1390630.1390647},
	Isbn = {978-1-60558-050-0},
	Location = {Seattle, WA, USA},
	Numpages = {10},
	Pages = {121--130},
	Publisher = {ACM},
	Series = {ISSTA '08},
	Title = {A Metric for Software Readability},
	Url = {http://doi.acm.org/10.1145/1390630.1390647},
	Year = {2008},
	Bdsk-Url-1 = {http://doi.acm.org/10.1145/1390630.1390647},
	Bdsk-Url-2 = {http://dx.doi.org/10.1145/1390630.1390647}}

@inproceedings{Buse10a,
	Acmid = {1859005},
	Address = {New York, NY, USA},
	Author = {Buse, Raymond P.L. and Weimer, Westley R.},
	Booktitle = {Proceedings of the IEEE/ACM international conference on Automated software engineering},
	Doi = {10.1145/1858996.1859005},
	Isbn = {978-1-4503-0116-9},
	Keywords = {code summarization, commit messages, differencing},
	Location = {Antwerp, Belgium},
	Numpages = {10},
	Pages = {33--42},
	Publisher = {ACM},
	Series = {ASE '10},
	Title = {Automatically documenting program changes},
	Year = {2010},
	Bdsk-Url-1 = {http://dx.doi.org/10.1145/1858996.1859005}}

@inproceedings{Buse10b,
	Author = {Raymond P. L. Buse and Thomas Zimmermann},
	Booktitle = {Proceedings of the FSE/SDP Workshop on the Future of Software Engineering Research (FoSER)},
	Keywords = {analytics},
	Publisher = {ACM},
	Title = {Analytics for Software Development},
	Year = {2010}}

@inproceedings{Buse12a,
	author = {Buse, Raymond P. L. and Weimer, Westley},
	title = {Synthesizing {API} Usage Examples},
	booktitle = {Proceedings of the 34th International Conference on Software Engineering},
	series = {ICSE '12},
	year = {2012},
	isbn = {978-1-4673-1067-3},
	location = {Zurich, Switzerland},
	pages = {782--792},
	numpages = {11},
	url = {http://dl.acm.org/citation.cfm?id=2337223.2337316},
	acmid = {2337316},
	publisher = {IEEE Press},
	address = {Piscataway, NJ, USA}
}

@inproceedings{Buse12b,
 author = {Buse, Raymond P. L. and Zimmermann, Thomas},
 title = {Information Needs for Software Development Analytics},
 booktitle = {Proceedings of the 34th International Conference on Software Engineering},
 series = {ICSE '12},
 year = {2012},
 isbn = {978-1-4673-1067-3},
 location = {Zurich, Switzerland},
 pages = {987--996},
 numpages = {10},
 url = {http://dl.acm.org/citation.cfm?id=2337223.2337343},
 acmid = {2337343},
 publisher = {IEEE Press},
 Keywords = {dev-questions},
 address = {Piscataway, NJ, USA}
}

@article{Bush00a,
 author = {Bush, William R. and Pincus, Jonathan D. and Sielaff, David J.},
 title = {A Static Analyzer for Finding Dynamic Programming Errors},
 journal = {Softw. Pract. Exper.},
 issue_date = {June 2000},
 volume = {30},
 number = {7},
 month = jun,
 year = {2000},
 issn = {0038-0644},
 pages = {775--802},
 numpages = {28},
 url = {http://dx.doi.org/10.1002/(SICI)1097-024X(200006)30:7<775::AID-SPE309>3.0.CO;2-H},
 doi = {10.1002/(SICI)1097-024X(200006)30:7<775::AID-SPE309>3.0.CO;2-H},
 acmid = {348428},
 publisher = {John Wiley \& Sons, Inc.},
 address = {New York, NY, USA},
 keywords = {program analysis, program error checking}
}

@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,
	Acmid = {1647707},
	Address = {Anaheim, CA, USA},
	Author = {Bustos, Alex and Eterovic, Yadran},
	Booktitle = {Proceedings of the 11th IASTED International Conference on Software Engineering and Applications},
	Isbn = {978-0-88986-706-2},
	Keywords = {UML, aspect orientation, software design},
	Location = {Cambridge, Massachusetts},
	Numpages = {8},
	Pages = {403--410},
	Publisher = {ACTA Press},
	Title = {Modeling aspects with UML's class, sequence and state diagrams in an industrial setting},
	Url = {http://portal.acm.org/citation.cfm?id=1647636.1647707},
	Year = {2007},
	Bdsk-Url-1 = {http://portal.acm.org/citation.cfm?id=1647636.1647707}}

@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 scg-none 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}}

@book{Buxt07a,
	Abstract = {{Bill Buxton and I share a common belief that design leadership together with technical leadership drives innovation.  Sketching, prototyping, and design are essential parts of the process we use to create new products.  Bill Buxton brings design leadership and creativity to Microsoft.  Through his thought-provoking personal examples he is inspiring others to better understand the role of design in their own companies--Bill Gates, Chairman, Microsoft.}},
	Author = {Buxton, Bill},
	Day = {11},
	Edition = {1},
	Howpublished = {Paperback},
	Isbn = {0123740371},
	Keywords = {doodledebug},
	Month = apr,
	Publisher = {Morgan Kaufmann},
	Title = {Sketching User Experiences: Getting the Design Right and the Right Design (Interactive Technologies)},
	Url = {http://www.amazon.com/exec/obidos/redirect?tag=citeulike07-20\&path=ASIN/0123740371},
	Year = {2007},
	Bdsk-Url-1 = {http://www.amazon.com/exec/obidos/redirect?tag=citeulike07-20%5C&path=ASIN/0123740371}}

@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}}

@techreport{Cada15a,
	Title = {Tracking Known Security Vulnerabilities in Proprietary Software Systems},
	Author = {Mircea Cadariu and Eric Bouwers and Joost Visser and Arie van Deursen},
	Year = {2015},
	Month = mar,
	Institution = {Delft University of Technology},
	Url = {http://swerl.tudelft.nl/twiki/pub/Main/TechnicalReports/TUD-SERG-2014-022.pdf}
}

@inproceedings{Cadi02a,
	Acmid = {587122},
	Address = {New York, NY, USA},
	Author = {Cadiz, J. J. and Venolia, Gina and Jancke, Gavin and Gupta, Anoop},
	Booktitle = {Proceedings of the 2002 ACM Conference on Computer Supported Cooperative Work},
	Doi = {10.1145/587078.587122},
	Isbn = {1-58113-560-2},
	Keywords = {awareness, computer mediated communication, information overload, peripheral awareness, situational awareness},
	Location = {New Orleans, Louisiana, USA},
	Numpages = {10},
	Pages = {314--323},
	Publisher = {ACM},
	Series = {CSCW '02},
	Title = {Designing and Deploying an Information Awareness Interface},
	Url = {http://doi.acm.org/10.1145/587078.587122},
	Year = {2002},
	Bdsk-Url-1 = {http://doi.acm.org/10.1145/587078.587122},
	Bdsk-Url-2 = {http://dx.doi.org/10.1145/587078.587122}}

@article{Cadw08a,
  title={{Readability:} Examining its usefulness in the field of controlled language},
  author={Cadwell, Patrick},
  journal={Localisation Focus},
  pages={34},
  year={2008}
}

@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{Cahi13a,
  title={Predicting fault-prone software modules with rank sum classification},
  author={Cahill, Jaspar and Hogan, James M and Thomas, Richard},
  booktitle={2013 22nd Australian Software Engineering Conference},
  pages={211--219},
  year={2013},
  organization={IEEE}
}

@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}}

@book{Cair08a,
	Author = {Paul Cairns and Anna L. Cox},
	Keywords = {how to, HCI},
	Note = {Chapter 2, 7, 9},
	Publisher = {Cambridge University Press},
	Title = {Research Methods for Human-Computer Interactions},
	Year = {2008}}

@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}}

@inbook{Calc15a,
	Author={Calcagno, Cristiano and Distefano, Dino and Dubreil, Jeremy and Gabi, Dominik and Hooimeijer, Pieter and Luca, Martino and O'Hearn, Peter and Papakonstantinou, Irene and Purbrick, Jim and Rodriguez, Dulma},
	title={Moving Fast with Software Verification},
	bookTitle={NFM'15: Proceedings of the 7th NASA Formal Methods International Symposium},
	year={2015},
	publisher={Springer International Publishing},
	pages={3--11},
	isbn={978-3-319-17524-9},
	doi={10.1007/978-3-319-17524-9_1},
	url={http://dx.doi.org/10.1007/978-3-319-17524-9_1},
	Location = {Pasadena, CA, USA},
	month = apr
}

@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{Cald94a,
	Acmid = {177973},
	Address = {New York, NY, USA},
	Author = {Calder, Brad and Grunwald, Dirk},
	Booktitle = {Proceedings of the 21st ACM SIGPLAN-SIGACT symposium on Principles of programming languages},
	Doi = {10.1145/174675.177973},
	Isbn = {0-89791-636-0},
	Keywords = {customization, object oriented programming, optimization, profile-based optimization},
	Location = {Portland, Oregon, United States},
	Numpages = {12},
	Pages = {397--408},
	Publisher = {ACM},
	Series = {POPL '94},
	Title = {Reducing indirect function call overhead in {C++} programs},
	Year = {1994},
	Bdsk-Url-1 = {http://dx.doi.org/10.1145/174675.177973}}

@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{Call90a,
	Acmid = {93553},
	Address = {New York, NY, USA},
	Author = {Callahan, David and Carr, Steve and Kennedy, Ken},
	Doi = {10.1145/93548.93553},
	Issn = {0362-1340},
	Issue = {6},
	Journal = {SIGPLAN Not.},
	Month = jun,
	Numpages = {13},
	Pages = {53--65},
	Publisher = {ACM},
	Title = {Improving register allocation for subscripted variables},
	Volume = {25},
	Year = {1990},
	Bdsk-Url-1 = {http://dx.doi.org/10.1145/93548.93553}}

@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)},
	Doi = {10.1145/1985441.1985448},
	Journal = {msr},
	Keywords = {scg-pub scg11 snf11 jb11 roethlisberger sde-ecosystems},
	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},
	Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Call11aDynamicFeaturesMSR2011.pdf},
	Bdsk-Url-2 = {http://dx.doi.org/10.1145/1985441.1985448}}

@article{Call13a,
	Author = {Oscar Calla{\'u} and Romain Robbes and {\'E}ric Tanter and David R{\"o}thlisberger},
	Doi = {10.1007/s10664-012-9203-2},
    	url={http://pleiad.dcc.uchile.cl/papers/2013/callauAl-emse2013.pdf},
	Journal = {Empirical Software Engineering},
	Publisher = {Springer-Verlag},
	Title = {How (and Why) Developers Use the Dynamic Features of Programming Languages: the Case of {Smalltalk}},
	Year = {2013},
	Bdsk-Url-1 = {http://dx.doi.org/10.1007/s10664-012-9203-2}}

@inproceedings{Call14a,
  Author    = {Oscar Calla\'u and Romain Robbes and {\'E}ric Tanter and David R\"othlisberger and Alexandre Bergel},
  Title     = {On the Use of Type Predicates in Object-Oriented Software: The Case of {Smalltalk}},
  Pages     = {135--146},
  Users     = {ocallau , rrobbes , etanter , abergel},
  Url    = {http://pleiad.dcc.uchile.cl/papers/2014/callauAl-dls2014.pdf},
  Doi    = {10.1145/2661088.2661091},
  Key       = {DLS 2014},
  Booktitle = {Proceedings of the 10th {ACM} Dynamic Languages Symposium (DLS 2014)},
  Year      = {2014},
  Address   = {Portland, OR, USA},
  Publisher = {ACM Press}
}

@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,
	Acmid = {1173954},
	Address = {Washington, DC, USA},
	Author = {Camesi, Andrea and Hulaas, Jarle and Binder, Walter},
	Booktitle = {Proceedings of the 3rd international conference on the Quantitative Evaluation of Systems},
	Doi = {10.1109/QEST.2006.12},
	Isbn = {0-7695-2665-9},
	Numpages = {12},
	Pages = {19--30},
	Publisher = {IEEE Computer Society},
	Title = {Continuous Bytecode Instruction Counting for CPU Consumption Estimation},
	Url = {http://portal.acm.org/citation.cfm?id=1173695.1173954},
	Year = {2006},
	Bdsk-Url-1 = {http://portal.acm.org/citation.cfm?id=1173695.1173954},
	Bdsk-Url-2 = {http://dx.doi.org/10.1109/QEST.2006.12}}

@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}}

@inproceedings{Came10a,
	Acmid = {1869510},
	Address = {New York, NY, USA},
	Author = {Cameron, Nicholas and Noble, James and Wrigstad, Tobias},
	Booktitle = {Proceedings of the ACM international conference on Object oriented programming systems languages and applications},
	Date-Added = {2012-02-28 12:04:13 +0100},
	Date-Modified = {2012-02-28 12:05:01 +0100},
	Doi = {doi.acm.org/10.1145/1869459.1869510},
	Isbn = {978-1-4503-0203-6},
	Keywords = {aliasing; type-system;},
	Location = {Reno/Tahoe, Nevada, USA},
	Numpages = {16},
	Pages = {618--633},
	Publisher = {ACM},
	Series = {OOPSLA '10},
	Title = {Tribal ownership},
	Url = {doi.acm.org/10.1145/1869459.1869510},
	Year = {2010},
	Bdsk-Url-1 = {doi.acm.org/10.1145/1869459.1869510},
	Bdsk-Url-2 = {http://dx.doi.org/10.1145/1869459.1869510}}

@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}}

@article{Camp84a,
	 author = {Campbell, Roy H. and Kirslis, Peter A.},
	 title = {The {SAGA} Project: A System for Software Development},
	 journal = {SIGPLAN Not.},
	 issue_date = {May 1984},
	 volume = {19},
	 number = {5},
	 month = apr,
	 year = {1984},
	 issn = {0362-1340},
	 pages = {73--80},
	 numpages = {8},
	 url = {http://doi.acm.org/10.1145/390011.808251},
	 doi = {10.1145/390011.808251},
	 acmid = {808251},
	 publisher = {ACM},
	 address = {New York, NY, USA}
}

@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}}

@article{Camp03a,
	Abstract = {We introduce the {Language-Independent} Visualization Environment ({LIVE}) as a system for the visualization and manipulation of data structures and the computer programs that create and operate on {them.LIVE} interprets arbitrary programs containing arbitrary data structure definitions, showing diagrammatically the data that the process {generates.It} is language-independent in that a single program can be visualized in the syntax of multiple languages. {LIVE} is interactive in that not only does it show the effects of statements immediately as they occur at runtime, but it also generates new program source code automatically when the user manipulates the data on the screen. We anticipate that this tool will be most useful in a pedagogical setting such as a {CS2} or data structures course, particularly with the introduction of pointers and linked structures.},
	Address = {New York, NY, USA},
	Author = {Campbell, Alistair E. R. and Catto, Geoffrey L. and Hansen, Eric E.},
	Doi = {10.1145/792548.611972},
	Issn = {0097-8418},
	Journal = {SIGCSE Bull.},
	Keywords = {dyla},
	Month = jan,
	Number = {1},
	Pages = {215--219},
	Priority = {2},
	Publisher = {ACM},
	Title = {Language-independent interactive data visualization},
	Volume = {35},
	Year = {2003},
	Bdsk-Url-1 = {http://dx.doi.org/10.1145/792548.611972}}

@book{Camp13a,
 author = {Campbell, G. Ann and Papapetrou, Patroklos P.},
 title = {SonarQube in Action},
 year = {2013},
 isbn = {1617290955, 9781617290954},
 edition = {1st},
 publisher = {Manning Publications Co.},
 address = {Greenwich, CT, USA}
}

@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\&rsquo;s performance. While the benchmarks
				  were generally impressive, there was one in
				  particular\&mdash;an especially complicated
				  benchmark involving several machines\&mdash;that was
				  exhibiting unexpectedly low performance. The
				  benchmark machine\&mdash;a fully racked-out behemoth
				  with the maximum configuration of 64
				  processors\&mdash;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,
	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.},
	Author = {Gerardo Canfora and Aniello Cimitile and Andrea De Lucia},
	Doi = {10.1016/S0950-5849(98)00086-X},
	Issn = {0950-5849},
	Journal = {Information and Software Technology},
	Keywords = {Conditioned Program slicing},
	Number = {11-12},
	Pages = {595 - 607},
	Title = {Conditioned program slicing},
	Url = {http://www.sciencedirect.com/science/article/pii/S095058499800086X},
	Volume = {40},
	Year = {1998},
	Bdsk-Url-1 = {http://www.sciencedirect.com/science/article/pii/S095058499800086X},
	Bdsk-Url-2 = {http://dx.doi.org/10.1016/S0950-5849(98)00086-X}}

@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,
	Address = {Washington, DC, USA},
	Author = {Canfora Gerardo and Di Penta Massimiliano},
	Booktitle = {FOSE '07: 2007 Future of Software Engineering},
	Doi = {10.1109/FOSE.2007.15},
	Isbn = {0-7695-2829-5},
	Pages = {326--341},
	Publisher = {IEEE Computer Society},
	Title = {New Frontiers of Reverse Engineering},
	Year = {2007},
	Bdsk-Url-1 = {http://dx.doi.org/10.1109/FOSE.2007.15}}

@article{Canf11a,
	Acmid = {1924451},
	Address = {New York, NY, USA},
	Author = {Canfora, Gerardo and Di Penta, Massimiliano and Cerulo, Luigi},
	Doi = {10.1145/1924421.1924451},
	Issn = {0001-0782},
	Journal = {Commun. ACM},
	Month = apr,
	Number = {4},
	Numpages = {10},
	Pages = {142--151},
	Publisher = {ACM},
	Title = {Achievements and challenges in software reverse engineering},
	Url = {http://doi.acm.org/10.1145/1924421.1924451},
	Volume = {54},
	Year = {2011},
	Bdsk-Url-1 = {http://doi.acm.org/10.1145/1924421.1924451},
	Bdsk-Url-2 = {http://dx.doi.org/10.1145/1924421.1924451}}

@inproceedings{Canf13a,
author={Canfora, G. and De Lucia, A. and Di Penta, M. and Oliveto, R. and Panichella, A. and Panichella, S.},
booktitle={Software Testing, Verification and Validation (ICST), 2013 IEEE Sixth International Conference on},
title={Multi-objective Cross-Project Defect Prediction},
year={2013},
month=mar,
pages={252-261},
keywords={genetic algorithms;pattern clustering;regression analysis;search problems;software engineering;software management;GA;LOC analysis;LOC testing;Promise repository;defect-prone artifacts;generalizable prediction models;genetic algorithm;multiobjective cross-project defect prediction accuracy;multiobjective logistic regression model;project heterogeneity;software engineers;Accuracy;Data models;Inspection;Logistics;Measurement;Predictive models;Software;Cross-project defect prediction;multi-objective optimization;search-based software engineering},
doi={10.1109/ICST.2013.38}
}

@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}}

@article{Cant62a,
	Acmid = {321145},
	Address = {New York, NY, USA},
	Author = {Cantor, David G.},
	Doi = {10.1145/321138.321145},
	Issn = {0004-5411},
	Issue_Date = {Oct. 1962},
	Journal = {J. ACM},
	Month = oct,
	Number = {4},
	Numpages = {3},
	Pages = {477--479},
	Publisher = {ACM},
	Title = {On The Ambiguity Problem of Backus Systems},
	Url = {http://doi.acm.org/10.1145/321138.321145},
	Volume = {9},
	Year = {1962},
	Bdsk-Url-1 = {http://doi.acm.org/10.1145/321138.321145},
	Bdsk-Url-2 = {http://dx.doi.org/10.1145/321138.321145}}

@inproceedings{CaoQ08a,
 author = {Cao, Qing and Abdelzaher, Tarek and Stankovic, John and Whitehouse, Kamin and Luo, Liqian},
 title = {Declarative Tracepoints: A Programmable and Application Independent Debugging System for Wireless Sensor Networks},
 booktitle = {Proceedings of the 6th ACM Conference on Embedded Network Sensor Systems},
 series = {SenSys '08},
 year = {2008},
 isbn = {978-1-59593-990-6},
 location = {Raleigh, NC, USA},
 pages = {85--98},
 numpages = {14},
 url = {http://doi.acm.org/10.1145/1460412.1460422},
 doi = {10.1145/1460412.1460422},
 acmid = {1460422},
 publisher = {ACM},
 address = {New York, NY, USA},
 keywords = {declarative tracepoints, embedded debugging, wireless sensor networks}
}

@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}}

@inproceedings{Cara14a,
	Annote = {internationalconference},
	Author = {Andrea Caracciolo and Mircea Lungu and Oscar Nierstrasz},
	Booktitle = {European Conference on Software Architecture (ECSA)},
	Abstract = {Software architecture is the result of a design effort
		aimed at ensuring a certain set of quality attributes. As we show,
		quality requirements are commonly specified in practice but are rarely
		validated using automated techniques. In this paper we analyze and
		classify commonly specified quality requirements after interviewing
		professionals and running a survey. We report on tools used to validate
		those requirements and comment on the obstacles encountered by
		practitioners when performing such activity (e.g., insufficient
		tool-support; poor understanding of users needs). Finally we discuss
		opportunities for increasing the adoption of automated tools based on
		the information we collected during our study (e.g., using a
		business-readable notation for expressing quality requirements;
		increasing awareness by monitoring non-functional aspects of a system).},
	Month = aug,
	Publisher = {Springer Berlin Heidelberg},
	Series = {Lecture Notes in Computer Science},
	Volume = {8627},
	Pages = {374--389},
	Title = {How Do Software Architects Specify and Validate Quality Requirements?},
	Year = {2014},
	PeerReview = {yes},
	Medium = {2},
	Keywords = {scg-pub snf-asa1 scg14 jb14 arch-constr-survey},
	Doi = {10.1007/978-3-319-09970-5_32},
	Url = {http://scg.unibe.ch/archive/papers/Cara14a-SpecifyValidateQualityRequirements.pdf},
	Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Cara14a-SpecifyValidateQualityRequirements.pdf}}

@inproceedings{Cara14b,
	Annote = {internationalworkshop},
	Author = {Andrea Caracciolo and Mircea Lungu and Oscar Nierstrasz},
	Abstract = {Software architecture consists of a set of design choices that can be
		partially expressed in form of rules that the implementation must conform to.
		Architectural rules are intended to ensure properties that fulfill fundamental
		non-functional requirements. Verifying architectural rules is often a non- trivial
		activity: available tools are often not very usable and support only a narrow subset of
		the rules that are commonly specified by practitioners. In this paper we present a new
		highly-readable declarative language for specifying architectural rules. With our
		approach, users can specify a wide variety of rules using a single uniform notation.
		Rules can get tested by third-party tools by conforming to pre-defined specification
		templates. Practitioners can take advantage of the capabilities of a growing number of
		testing tools without dealing with them directly.},
	title = {Dicto: A Unified {DSL} for Testing Architectural Rules},
	booktitle = {Proceedings of the 2014 European Conference on Software Architecture Workshops},
	series = {ECSAW '14},
	year = {2014},
	isbn = {978-1-4503-2778-7},
	location = {Vienna, Austria},
	pages = {21:1--21:4},
	articleno = {21},
	numpages = {4},
	PeerReview = {yes},
	Medium = {2},
	Keywords = {scg-pub snf-asa1 scg14 jb14 dicto-dsl DSL, Software Architecture, Validation},
	Url = {http://scg.unibe.ch/archive/papers/Cara14b-Dicto.pdf},
	doi = {10.1145/2642803.2642824},
	acmid = {2642824},
	publisher = {ACM},
	address = {New York, NY, USA}
}

@inproceedings{Cara14c,
	Annote = {internationalconference},
	Author = {Andrea Caracciolo and Andrei Chi\c{s} and Boris Spasojevi\'{c} and Mircea Lungu},
	Abstract = {Software corpora facilitate reproducibility of analyses, however, static analysis for an entire corpus still requires considerable effort, often duplicated unnecessarily by multiple users. Moreover, most corpora are designed for single languages increasing the effort for cross-language analysis. To address these aspects we propose Pangea, an infrastructure allowing fast development of static analyses on multi-language corpora. Pangea uses language-independent meta-models stored as object model snapshots that can be directly loaded into memory and queried without any parsing overhead. To reduce the effort of performing static analyses, Pangea provides out-of-the box support for: creating and refining analyses in a dedicated environment, deploying an analysis on an entire corpus, using a runner that supports parallel execution, and exporting results in various formats. In this tool demonstration we introduce Pangea and provide several usage scenarios that illustrate how it reduces the cost of analysis.},
	title = {Pangea: A Workbench for Statically Analyzing Multi-Language Software Corpora},
	booktitle = {Source Code Analysis and Manipulation (SCAM), 2014 IEEE 14th International Working Conference on},
	year = {2014},
	month = sep,
	location = {Victoria, British Columbia, Canada},
	numpages = {6},
	Pages = {71--76},
	PeerReview = {yes},
	Medium = {2},
	doi = {10.1109/SCAM.2014.38},
	isbn = {978-1-4799-6148-1},
	Keywords = {scg-pub snf-asa1 scg14 jb15 pangea software corpora Andrei Chis Spasojevic},
	Url = {http://scg.unibe.ch/archive/papers/Cara14c.pdf},
	publisher = {IEEE}
}

@article{Cara14d,
	Abstract = {Dicto is a declarative language for specifying architectural rules using a single uniform notation. Once defined, rules can automatically be validated using adapted off-the-shelf tools.},
	Title = {Dicto: Keeping Software Architecture Under Control},
	Annote = {notrefereed},
	Author = {Andrea Caracciolo and Mircea Lungu and Oscar Nierstrasz},
	Journal = {ERCIM News},
	PeerReview = {no},
	Medium = {2},
	Keywords = {scg-pub snf-asa1 scg14 jb15 skip-doi dicto-dsl DSL Software Architecture Validation},
	Month = oct,
	Url = {http://ercim-news.ercim.eu/en99/special/dicto-keeping-software-architecture-under-control},
	Volume = 99,
	Year = {2014}
}

@inproceedings{Cara15a,
	Annote = {internationalworkshop},
	Author = {Andrea Caracciolo},
	Title = {A Unified Approach to Automatic Testing of Architectural Constraints},
	Booktitle = {Proceedings of ICSE 2015 (37st International Conference on Software Engineering), Doctoral Symposium},
	volume={2},
	pages={871-874},
	Keywords = {scg-pub snf-asa1 scg15 jb15 dicto-dsl},
	PeerReview = {yes},
	Medium = {2},
	Publisher = {ACM Press},
	Abstract = {Architectural decisions are often encoded in the form of constraints and guidelines. Non-functional requirements can be ensured by checking the conformance of the implementation against this kind of invariant. Conformance checking is often a costly and error-prone process that involves the use of multiple tools, differing in effectiveness, complexity and scope of applicability. To reduce the overall effort entailed by this activity, we propose a novel approach that supports verification of human- readable declarative rules through the use of adapted off-the-shelf tools. Our approach consists of a rule specification DSL, called Dicto, and a tool coordination framework, called Probo. The approach has been implemented in a soon to be evaluated prototype.},
	Year = {2015},
	doi={10.1109/ICSE.2015.281},
	Url = {http://scg.unibe.ch/archive/papers/Cara15a.pdf}}

@inproceedings{Cara15b,
	Annote = {internationalconference},
	Author = {Andrea Caracciolo and Mircea Lungu and Oscar Nierstrasz},
	Title = {A Unified Approach to Architecture Conformance Checking},
	Abstract = {Software erosion can be controlled by periodically checking for consistency between the de facto architecture and its theoretical counterpart. Studies show that this process is often not automated and that developers still rely heavily on manual reviews, despite the availability of a large number of tools. This is partially due to the high cost involved in setting up and maintaining tool-specific and incompatible test specifications that replicate otherwise documented invariants. To reduce this cost, our approach consists in unifying the functionality provided by existing tools under the umbrella of a common business-readable DSL. By using a declarative language, we are able to write tool-agnostic rules that are simple enough to be understood by non-technical stakeholders and, at the same time, can be interpreted as a rigorous specification for checking architecture conformance},
	Booktitle = {Proceedings of the 12th Working IEEE/IFIP Conference on Software Architecture (WICSA)},
	Keywords = {scg-pub snf-asa1 scg15 jb15 dicto-dsl},
	PeerReview = {yes},
	Medium = {2},
	Publisher = {ACM Press},
	Year = {2015},
	month=may,
	pages={41-50},
	doi = {10.1109/WICSA.2015.11},
	Url = {http://scg.unibe.ch/archive/papers/Cara15b.pdf}}

@inproceedings{Cara15c,
	Annote = {internationalworkshop},
	Author = {Andrea Caracciolo},
	Abstract = {Software architecture erodes over time and needs to be constantly monitored to be kept consistent with its original intended design. Consistency is rarely monitored using automated techniques. The cost associated to such an activity is typically not considered proportional to its benefits.
To improve this situation, we propose Dicto, a uniform DSL for specifying architectural invariants. This language is designed to reduce the cost of consistency checking by offering a framework in which existing validation tools can be matched to newly-defined language constructs.
In this paper we discuss how such a DSL can be qualitatively and qualitatively evaluated in practice.},
	title = {On the Evaluation of a {DSL} for Architectural Consistency Checking},
	booktitle = {Extended Abstracts of the Eighth Seminar on Advanced Techniques and Tools for Software Evolution (SATToSE 2015)},
	year = {2015},
	month = jul,
	location = {Mons, Belgium},
	pages = {55--57},
	numpages = {3},
	PeerReview = {yes},
	Medium = {2},
	Keywords = {scg-pub snf-asa1 scg15 jb16 dicto-dsl DSL skip-doi},
	Url = {http://scg.unibe.ch/archive/papers/Cara15c.pdf}}

@inproceedings{Cara16b,
	Annote = {internationalconference},
	Author = {Andrea Caracciolo and Bledar Aga and Mircea Lungu and Oscar Nierstrasz},
	Title = {Marea: a Semi-automatic Decision Support System for Breaking Dependency Cycles},
	Abstract = {Dependency cycles are commonly recognized as one of the most critical quality anti-patterns. Cycles compromise the modularity of a system, prevent proper reuse and increase the cost of maintenance and testing. Many tools are capable of detecting and visualizing package cycles existing within software projects. Unfortunately, detecting cycles is only half of the work. Once detected, cycles need to be removed and this typically results in a complex process that is only partially supported by current tools. We propose a tool that offers an intelligent guidance mechanism to support developers in removing package cycles. Our tool, Marea, simulates different refactoring strategies and suggests the most cost-effective sequence of refactoring operations that will break the cycle. The optimal refactoring strategy is determined based on a custom profit function. Our approach has been validated on multiple projects and executes in linear time.},
	Keywords = {scg-pub snf-asa1 scg16 jb16 dicto-dsl},
	Booktitle = {Proceedings of the 23rd IEEE International Conference on Software Analysis, Evolution, and Reengineering (SANER)},
	PeerReview = {yes},
	Medium = {2},
	Year = {2016},
	month=mar,
	doi = {10.1109/SANER.2016.11},
	Url = {http://scg.unibe.ch/archive/papers/Cara16b.pdf}}

@inproceedings{Cara16c,
	Annote = {internationalworkshop},
	Author = {Andrea Caracciolo and Mircea Lungu and Oskar Truffer and Kirill Levitin and Oscar Nierstrasz},
	Title = {Evaluating an Architecture Conformance Monitoring Solution},
	Abstract = {Architectural rules are often defined but rarely tested. Current tools offer limited functionality and often require significant effort to be configured, automated and integrated within existing platforms. We propose a platform that is aimed at reducing the overall cost of setting up and maintaining an architectural conformance monitoring environment by decoupling the conceptual representation of a user-defined rule from its technical specification prescribed by the underlying analysis tools. The user is no longer expected to encode her constraints according to the syntax of the chosen tool, but can use a simple high-level DSL that is automatically compiled to an executable specification through custom adapters developed to support the interaction with existing off-the-shelf tools. In this paper we analyze three case studies to show how this approach can be successfully adopted to support truly diverse industrial projects. By discussing qualitative aspects of the approach, we investigate limitations and opportunities for improving general quality assessment solutions in general and DSL-based conformance tools in particular.},
	Keywords = {scg-pub snf-asa1 scg16 jb16 dicto-dsl arch-constr-eval},
	Booktitle = {Proceedings of the 7th IEEE International Workshop on Empirical Software Engineering in Practice (IWESEP)},
	doi = {10.1109/IWESEP.2016.12},
	PeerReview = {yes},
	Medium = {2},
	Year = {2016},
	month = mar,
	Url = {http://scg.unibe.ch/archive/papers/Cara16c.pdf}}

@phdthesis{Cara16d,
	Abstract = {Architectural decisions can be interpreted as structural and behavioral constraints that must be enforced in order to guarantee overarching qualities in a system. Enforcing those constraints in a fully automated way is often challenging and not well supported by current tools. Current approaches for checking architecture conformance either lack in usability or offer poor options for adaptation.
To overcome this problem we analyze the current state of practice and propose an approach based on an extensible, declarative and empirically-grounded specification language. This solution aims at reducing the overall cost of setting up and maintaining an architectural conformance monitoring environment by decoupling the conceptual representation of a user-defined rule from its technical specification prescribed by the underlying analysis tools. By using a declarative language, we are able to write tool-agnostic rules that are simple enough to be understood by untrained stakeholders and, at the same time, can be can be automatically processed by a conformance checking validator.
Besides addressing the issue of cost, we also investigate opportunities for increasing the value of conformance results by evaluating a technique which guides developers in removing package cycles.
We perform various case studies to show how our approach can be successfully adopted to support truly diverse industrial projects. We also investi- gate the dynamics involved in choosing and adopting a new automated conformance checking solution within an industrial context.},
	Author = {Andrea Caracciolo},
	Keywords = {scg-phd snf-asa1 scg16 jb16 dicto-dsl arch-constr-eval skip-doi},
	Month = mar,
	PeerReview = {yes},
	Medium = {2},
	School = {University of Bern},
	Title = {A Unified Approach to Architecture Conformance Checking},
	Type = {{PhD} thesis},
	Url = {http://scg.unibe.ch/archive/phd/caracciolo-phd.pdf},
	Year = {2016},
	Bdsk-Url-1 = {http://scg.unibe.ch/archive/phd/caracciolo-phd.pdf}}

@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}}

@article{Care12a,
	Address = {New York, NY, USA},
	Author = {Carey, Michael J. and Onose, Nicola and Petropoulos, Michalis},
	Doi = {10.1145/2184319.2184340},
	Issn = {0001-0782},
	Issue_Date = {June 2012},
	Journal = {Commun. ACM},
	Month = jun,
	Number = {6},
	Numpages = {12},
	Pages = {86--97},
	Publisher = {ACM},
	Title = {Data services},
	Url = {http://doi.acm.org/10.1145/2184319.2184340},
	Volume = {55},
	Year = {2012},
	Bdsk-Url-1 = {http://doi.acm.org/10.1145/2184319.2184340},
	Bdsk-Url-2 = {http://dx.doi.org/10.1145/2184319.2184340}}

@inproceedings{Care17a,
author={A. Carette and M. A. A. Younes and G. Hecht and N. Moha and R. Rouvoy},
booktitle={2017 IEEE 24th International Conference on Software Analysis, Evolution and Reengineering (SANER)},
title={Investigating the energy impact of {Android} smells},
year={2017},
pages={115-126},
doi={10.1109/SANER.2017.7884614},
month=feb
}

@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}}

@inproceedings{Carp99a,
  author = {M.S.T. Carpendale and D.J. Cowperthwaite and M. Tigges and A. Fall and F.D. Fracchia},
  title = {The Tardis: A Visual Exploration Environment for Landscape Dynamics},
  booktitle = {Proceedings of the international society for optical engineering},
  year = {1999},
  doi = {10.1117/12.342825}
}

@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}}

@inproceedings{Carri98a,
	Acmid = {288412},
	Address = {New York, NY, USA},
	Author = {Carri\`{e}re, S. Jeromy and Kazman, Rick},
	Booktitle = {Proceedings of the third international workshop on Software architecture},
	Doi = {10.1145/288408.288412},
	Isbn = {1-58113-081-3},
	Keywords = {reverse engineering, software architecture, software architecture reconstruction},
	Location = {Orlando, Florida, USA},
	Numpages = {4},
	Pages = {13--16},
	Publisher = {ACM},
	Series = {ISAW '98},
	Title = {The perils of reconstructing architectures},
	Url = {http://doi.acm.org/10.1145/288408.288412},
	Year = {1998},
	Bdsk-Url-1 = {http://doi.acm.org/10.1145/288408.288412},
	Bdsk-Url-2 = {http://dx.doi.org/10.1145/288408.288412}}

@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}}

@article{Cart98a,
author = {Michelle Cartwright},
title = {An empirical view of inheritance},
journal = {Information and Software Technology},
year = {1998},
issn = {0950-5849},
doi = {10.1016/S0950-5849(98)00105-0}
}

@article{Cart00a,
	Acmid = {631249},
	Address = {Piscataway, NJ, USA},
	Author = {Cartwright, Michelle and Shepperd, Martin},
	Doi = {10.1109/32.879814},
	Issn = {0098-5589},
	Issue_Date = {August 2000},
	Journal = {IEEE Trans. Softw. Eng.},
	Keywords = {Metrics, object orientation, empirical analysis.},
	Month = aug,
	Number = {8},
	Numpages = {11},
	Pages = {786--796},
	Publisher = {IEEE Press},
	Title = {An Empirical Investigation of an Object-Oriented Software System},
	Url = {http://dx.doi.org/10.1109/32.879814},
	Volume = {26},
	Year = {2000},
	Bdsk-Url-1 = {http://dx.doi.org/10.1109/32.879814}}

@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{Case11a,
	author={P. Caserta and O. Zendra},
	journal={IEEE Transactions on Visualization and Computer Graphics},
	title={Visualization of the Static Aspects of Software: A Survey},
	year={2011},
	volume={17},
	number={7},
	pages={913-933},
	keywords={data visualisation;software maintenance;development processes;graphical visualization;maintenance processes;software complexity;static software aspects;Measurement;Organizations;Software;Three dimensional displays;Urban areas;Visualization;Visualization of software;human perception.;software comprehension;software maintenance},
	doi={10.1109/TVCG.2010.110},
	pdf = {http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.453.4010&rep=rep1&type=pdf},
	ISSN={1077-2626},
	month=jul
}

@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,
	Address = {Prague, Czech Republic},
	Annote = {tooldemo},
	Author = {Damien Cassou and Karsten Kuche},
	Howpublished = {European Smalltalk User Group Innovation Technology Award},
	Month = sep,
	Note = {demonstration},
	Title = {Dakar Testing},
	Year = {2006}}

@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.},
	Address = {Lugano, Switzerland},
	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},
	Doi = {10.1145/1352678.1352682},
	Inria = {hors},
	Isbn = {978-1-60558-084-5},
	Keywords = {nile cook},
	Month = aug,
	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},
	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},
	Month = aug,
	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{Cass07c,
	Address = {Ecole Polytech'Nice-Sophia, France},
	Author = {Cassou, Damien},
	Booktitle = {JM2L'07: Journ\'ees M\'editerran\'eennes du Logiciel Libre},
	Month = nov,
	Note = {invited talk},
	Selectif = {non},
	Title = {Smalltalk et Seaside},
	Year = {2007}}

@inproceedings{Cass09b,
	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.},
	Acceptnum = {18},
	Accepttotal = {62},
	Address = {Denver, CO, USA},
	Annote = {InternationalConference},
	Author = {Cassou, Damien and Bertran, Benjamin and Loriant, Nicolas and Consel, Charles},
	Booktitle = {GPCE'09: Proceedings of the 8th International Conference on Generative Programming and Component Engineering},
	Coreranking = {B},
	Doi = {10.1145/1621607.1621629},
	Keywords = {diaspec software architectures generation damiencbib},
	Month = oct,
	Pages = {137--146},
	Publisher = {ACM},
	Title = {A Generative Programming Approach to Developing Pervasive Computing Systems},
	Url = {http://hal.inria.fr/inria-00405819/PDF/gpce42-cassou.pdf},
	Year = {2009},
	Bdsk-Url-1 = {http://hal.inria.fr/inria-00405819/PDF/gpce42-cassou.pdf},
	Bdsk-Url-2 = {http://dx.doi.org/10.1145/1621607.1621629}}

@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},
	Impactfactorval = {0.567},
	Impactfactoryear = {2010},
	Inria = {RMOD},
	Journal = {Journal of Computer Languages, Systems and Structures},
	Keywords = {cook nile stlit-traits},
	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,
	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.},
	Address = {Mannheim, Germany},
	Annote = {tooldemo},
	Author = {Cassou, Damien and Bruneau, Julien and Consel, Charles},
	Booktitle = {PerCom'10: Proceedings of the 8th International Conference on Pervasive Computing and Communications},
	Doi = {10.1109/PERCOMW.2010.5470550},
	Keywords = {damiencbib},
	Month = may,
	Note = {demonstration},
	Pages = {820--822},
	Publisher = {IEEE Computer Society},
	Selectif = {non},
	Title = {A Tool Suite to Prototype Pervasive Computing Applications},
	Url = {http://hal.inria.fr/docs/00/48/40/67/PDF/percom-demo.pdf},
	Year = {2010},
	Bdsk-Url-1 = {http://hal.inria.fr/docs/00/48/40/67/PDF/percom-demo.pdf},
	Bdsk-Url-2 = {http://dx.doi.org/10.1109/PERCOMW.2010.5470550}}

@inproceedings{Cass10b,
	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.},
	Address = {Reno/Tahoe, NV, USA},
	Annote = {poster},
	Author = {Cassou, Damien and Bruneau, Julien and Mercadal, Julien and Enard, Quentin and Balland, Emilie and Loriant, Nicolas and Consel, Charles},
	Booktitle = {SPLASH'10: Proceedings of the 1st International Conference on Systems, Programming, Languages, and Applications: Software for Humanity},
	Month = oct,
	Note = {poster},
	Pages = {1--2},
	Publisher = {ACM},
	Selectif = {non},
	Title = {Towards a Tool-based Development Methodology for Sense/Compute/Control Applications},
	Url = {http://hal.inria.fr/docs/00/51/03/78/PDF/poster-extended-abstract.pdf},
	Year = {2010},
	Bdsk-Url-1 = {http://hal.inria.fr/docs/00/51/03/78/PDF/poster-extended-abstract.pdf}}

@article{Cass11f,
	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 devices, 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. This paper
				  presents a design language and a tool suite covering
				  the development life-cycle of a pervasive computing
				  application. The design language allows to define a
				  taxonomy of area-specific building-blocks,
				  abstracting over their heterogeneity. This language
				  also includes a layer to define the architecture of
				  an application, following an architectural pattern
				  commonly used in the pervasive computing domain. 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 and
				  generates a programming framework that supports the
				  subsequent development stages, namely
				  implementation, testing, and deployment. Our
				  methodology has been applied on a wide spectrum of
				  areas. Based on these experiments, we assess our
				  approach through three criteria: expressiveness,
				  usability, and productivity.},
	Address = {Los Alamitos, CA, USA},
	Author = {Cassou, Damien and Bruneau, Julien and Consel, Charles and Balland, Emilie},
	Coreranking = {A*},
	Doi = {10.1109/TSE.2011.107},
	Impactfactorval = {3.468},
	Impactfactoryear = {2010},
	Issn = {0098-5589},
	Journal = {IEEE TSE: Transactions on Software Engineering},
	Keywords = {diaspec diasuite},
	Note = {to appear},
	Publisher = {IEEE Computer Society},
	Title = {Towards a Tool-based Development Methodology for Pervasive Computing Applications},
	Url = {http://hal.inria.fr/docs/00/68/32/10/PDF/TSE-2010-06-0178.R3_Cassou.pdf},
	Year = {2011},
	Bdsk-Url-1 = {http://hal.inria.fr/docs/00/68/32/10/PDF/TSE-2010-06-0178.R3_Cassou.pdf},
	Bdsk-Url-2 = {http://dx.doi.org/10.1109/TSE.2011.107}}

@inproceedings{Cass11a,
	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.},
	Acceptnum = {62},
	Accepttotal = {441},
	Address = {Honolulu, HI, USA},
	Annote = {internationalconference},
	Author = {Cassou, Damien and Balland, Emilie and Consel, Charles and Lawall, Julia},
	Booktitle = {ICSE'11: Proceedings of the 33rd International Conference on Software Engineering},
	Coreranking = {A*},
	Doi = {10.1145/1985793.1985852},
	Keywords = {diaspec diasuite scc generative programming architectural conformance software architectures domain-specific architectures design},
	Month = may,
	Pages = {431--440},
	Publisher = {ACM},
	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},
	Year = {2011},
	Bdsk-Url-1 = {http://hal.inria.fr/docs/00/53/77/89/PDF/icse2011.pdf},
	Bdsk-Url-2 = {http://dx.doi.org/10.1145/1985793.1985852}}

@phdthesis{Cass11b,
	Abstract = {Nombre d'applications ont pour comportement
				  principal l'attente d'un \'ev\'enement venant d'un
				  environnement ext\'erieur, la pr\'eparation d'un
				  r\'esultat et l'ex\'ecution d'actions sur cet
				  environnement. Les interfaces graphiques et les
				  syst\`emes avioniques en sont des exemples. Le
				  paradigme SCC, pour Sense--Compute--Control, est
				  particuli\`erement adapt\'e \`a la description de ces
				  applications. Le d\'eveloppement d'applications
				  suivant ce paradigme est cependant rendu difficile
				  par le manque de cadre conceptuel et d'outils de
				  support. Cette th\`ese propose un cadre conceptuel
				  d\'edi\'e au paradigme SCC et se concr\'etise par un
				  langage de description d'architectures nomm\'e
				  DiaSpec. Ce langage fournit un cadre de travail pour
				  guider le d\'eveloppement d'une application SCC en
				  assignant des r\^oles aux membres du projet et en
				  proposant une s\'eparation des pr\'eoccupations. En plus
				  de fournir un cadre de conception, cette th\`ese
				  fournit un support de programmation. En effet, \`a
				  partir de descriptions \'ecrites en DiaSpec, un
				  framework de programmation d\'edi\'e est g\'en\'er\'e dans un
				  langage cible. Ce framework de programmation guide
				  l'impl\'ementation d'une application SCC en exposant
				  les m\^emes abstractions que le langage DiaSpec. Ce
				  framework de programmation est con\,cu de fa\,con \`a
				  assurer que l'impl\'ementation d'une application est
				  conforme \`a l'architecture d\'ecrite en DiaSpec, en
				  s'appuyant sur le syst\`eme de types du langage cible.
				  Les contributions de cette th\`ese sont \'evalu\'ees
				  suivant des crit\`eres d'expressivit\'e, d'utilisabilit\'e
				  et de productivit\'e.},
	Author = {Cassou,Damien},
	Keywords = {Software Architecture, Domain-Specific Language, Generative Programming, Architectural Conformance},
	Month = mar,
	School = {University of Bordeaux},
	Title = {D\'eveloppement logiciel orient\'e paradigme de conception : la programmation dirig\'ee par la sp\'ecification},
	Url = {http://tel.archives-ouvertes.fr/docs/00/59/03/61/PDF/thesis.pdf},
	Year = {2011},
	Bdsk-Url-1 = {http://tel.archives-ouvertes.fr/docs/00/59/03/61/PDF/thesis.pdf}}

@inproceedings{Cass11c,
	Address = {Campus universitaire de Lille 1, France},
	Arxiv = {1106.4200},
	Author = {Cassou, Damien and Balland, Emilie and Consel, Charles and Lawall, Julia},
	Booktitle = {GDR GPL'11: 3\`eme journ\'ees du G\'enie de la programmation et du logiciel},
	Month = jun,
	Note = {invited talk},
	Pages = {33--34},
	Selectif = {non},
	Title = {Faire levier sur les architectures logicielles pour guider et v\'erifier le d\'eveloppement d'applications {SCC}},
	Year = {2011}}

@inproceedings{Cass11d,
	Address = {Hasso--Plattner--Institute, Potsdam, Germany},
	Arxiv = {1109.2807},
	Author = {Cassou, Damien},
	Booktitle = {FutureSOC'11: 6th HPI Symposium on Future Trends in Service-oriented Computing},
	Month = jun,
	Note = {invited talk},
	Selectif = {non},
	Title = {Leveraging Software Architectures to Guide and Verify the Development of Sense/Compute/Control Applications},
	Url = {http://www.hpi.uni-potsdam.de/research_school/activities/events/future_trends_in_soc_2011.html},
	Year = {2011},
	Bdsk-Url-1 = {http://www.hpi.uni-potsdam.de/research_school/activities/events/future_trends_in_soc_2011.html}}

@inproceedings{Cass11e,
	Abstract = {A Sense/Compute/Control (SCC) application is one
				  that interacts with the physical environment. Such
				  applications are pervasive in domains such as
				  building automation, assisted living, and autonomic
				  computing. Developing an SCC application is complex
				  because: (1) the implementation must address both
				  the interaction with the environment and the
				  application logic; (2) any evolution in the
				  environment must be reflected in the implementation
				  of the application; (3) correctness is essential, as
				  effects on the physical environment can have
				  irreversible consequences. The SCC architectural
				  pattern and the DiaSpec domain-specific design
				  language propose a framework to guide the design of
				  such applications. From a design description in
				  DiaSpec, the DiaSpec compiler is capable of
				  generating a programming framework that guides the
				  developer in implementing the design and that
				  provides ru=ntime support. In this paper, we report
				  on an experiment using DiaSpec (both the design
				  language and compiler) to develop a standard
				  robotics application. We discuss the benefits and
				  problems of using DiaSpec in a robotics setting
				  and present some changes that would make DiaSpec
				  a better framework in this setting.},
	Address = {San Francisco, CA, USA},
	Arxiv = {1109.2806},
	Author = {Cassou, Damien and Stinckwich, Serge and Koch, Pierrick},
	Booktitle = {DSLRob'11: Proceedings of the 2nd International Workshop on Domain-Specific Languages and models for ROBotic systems},
	Month = sep,
	Selectif = {non},
	Title = {Using the {DiaSpec} design language and compiler to develop robotics systems},
	Url = {http://fr.arxiv.org/pdf/1109.2806},
	Year = {2011},
	Bdsk-Url-1 = {http://fr.arxiv.org/pdf/1109.2806}}

@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}}

@book{Cast10a,
  title={The rise of the network society: The information age: Economy, society, and culture},
  author={Castells, Manuel},
  volume={1},
  year={2011},
  publisher={John Wiley \& Sons},
  url = {https://deterritorialinvestigations.files.wordpress.com/2015/03/manuel_castells_the_rise_of_the_network_societybookfi-org.pdf}
}

@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}}

@article{Cata09a,
	Address = {Los Alamitos, CA, USA},
	Author = {Marcelo Cataldo and Audris Mockus and Jeffrey A. Roberts and James D. Herbsleb},
	Doi = {10.1109/TSE.2009.42},
	Issn = {0098-5589},
	Journal = {IEEE Transactions on Software Engineering},
	Number = {RapidPosts},
	Pages = {864-878},
	Publisher = {IEEE Computer Society},
	Title = {Software Dependencies, Work Dependencies, and Their Impact on Failures},
	Volume = {99},
	Year = {2009},
	Bdsk-Url-1 = {http://dx.doi.org/10.1109/TSE.2009.42}}

@article{Cata09b,
  title={Investigating the effect of dataset size, metrics sets, and feature selection techniques on software fault prediction problem},
  author={Catal, Cagatay and Diri, Banu},
  journal={Information Sciences},
  volume={179},
  number={8},
  pages={1040--1058},
  year={2009},
  publisher={Elsevier}
}

@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}}

@incollection{Cell13a,
	Author = {Nicolas Cellier and St\'ephane Ducasse and Alexandre Bergel and Damien Cassou and Jannik Laval},
	Booktitle = {Deep Into Pharo},
	Isbn = {978-3-9523341-6-4},
	Keywords = {Smalltalk, Pharo, Object-Oriented Programming, Live Programming},
	Month = sep,
	Pages = 10,
	Publisher = {Square Bracket Associates},
	Title = {Fun with Floats},
	Year = {2013}}

@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&amp;path=ASIN/1430218339},
	Citeulike-Linkout-1 = {http://www.amazon.de/exec/obidos/redirect?tag=citeulike01-21&amp;path=ASIN/1430218339},
	Citeulike-Linkout-2 = {http://www.amazon.fr/exec/obidos/redirect?tag=citeulike06-21&amp;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}}

@article{Chah09a,
	Acmid = {1457522},
	Address = {New York, NY, USA},
	Author = {Chahal, Kuljit Kaur and Singh, Hardeep},
	Doi = {10.1145/1457516.1457522},
	Issn = {0163-5948},
	Issue = {1},
	Journal = {SIGSOFT Softw. Eng. Notes},
	Month = jan,
	Numpages = {4},
	Pages = {1--4},
	Publisher = {ACM},
	Title = {Metrics to study symptoms of bad software designs},
	Volume = {34},
	Year = {2009},
	Bdsk-Url-1 = {http://dx.doi.org/10.1145/1457516.1457522}}

@book{Chai00a,
	Author = {Chailloux},
	Isbn = {2841771210},
	Publisher = {O'Reilly},
	Title = {D\'{e}veloppement d'applications avec Objective CAML},
	Year = {2000}}

@article{Chal08a,
	author={Patrice Chalin and Perry R. James and Fr\'ed\'eric Rioux},
	journal={IET Software},
	title={Reducing the use of nullable types through non-null by default and monotonic non-null},
	year={2008},
	volume={2},
	number={6},
	pages={515-531},
	abstract={With Java 5 annotations, the authors note a marked increase in tools that can statically detect potential null dereferences. To be effective, such tools require that developers annotate declarations with nullity modifiers and have annotated API libraries. Unfortunately, in the experience of the authors, specifying moderately large code bases, the use of non-null annotations is more labour intensive than it should be. Motivated by this experience, the authors conducted an empirical study of five open source projects totalling 700 K lines-of-code, which confirms that, on average, 75% of reference declarations are meant to be non-null, by design. Guided by these results, the authors propose the adoption of non-null-by-default semantics. This new default has advantages of better matching general practice, lightening developer annotation burden and being safer. The authors also describe the eclipse Java modelling language (JML) Java development tooling (JDT), a tool supporting the new semantics, including the ability to read the extensive API library specifications written in the JML. Issues of backwards compatibility are addressed. In a second phase of the empirical study, the authors analysed the uses of null and noted that over half of the nullable field references are only assigned non-null values. For this category of reference, the authors introduce the concept of monotonic non-null type and illustrate the benefits of its use.},
	keywords={Java;application program interfaces;software libraries;Java 5 annotations;Java development tooling;annotated API libraries;eclipse Java modelling language;lightening developer annotation;monotonic nonnull type annotation},
	doi={10.1049/iet-sen:20080010},
	ISSN={1751-8806},
	month={December},
	url = {https://www.researchgate.net/profile/Perry_James/publication/220386928_Reducing_the_Use_of_Nul_lable_Types_through_Nonnull_by_Default_and_Monotonic_Non_null/links/54f84b3e0cf2ccffe9de0142.pdf}
}

@article{Chal08b,
  title={Empirical assessment of machine learning based software defect prediction techniques},
  author={Challagulla, Venkata Udaya B and Bastani, Farokh B and Yen, I-Ling and Paul, Raymond A},
  journal={International Journal on Artificial Intelligence Tools},
  volume={17},
  number={02},
  pages={389--400},
  year={2008},
  publisher={World Scientific}
}

@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{Cham89b,
	Acmid = {74831},
	Address = {New York, NY, USA},
	Author = {Craig Chambers and David Ungar},
	Booktitle = {Proceedings of the ACM SIGPLAN 1989 Conference on Programming language design and implementation},
	Doi = {10.1145/73141.74831},
	Isbn = {0-89791-306-X},
	Location = {Portland, Oregon, United States},
	Numpages = {15},
	Pages = {146--160},
	Publisher = {ACM},
	Series = {PLDI '89},
	Title = {Customization: optimizing compiler technology for SELF, a dynamically-typed object-oriented programming language},
	Year = {1989},
	Bdsk-Url-1 = {http://dx.doi.org/10.1145/73141.74831}}

@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}}

@phdthesis{Cham92d,
 author = {Chambers, Craig David},
 title = {The Design and Implementation of the Self Compiler, an Optimizing Compiler for Object-oriented Programming Languages},
 year = {1992},
 note = {UMI Order No. GAX92-21602},
 School = {Stanford University},
 address = {Stanford, CA, USA}
}

@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{Cham10a,
	Address = {New York, NY, USA},
	Author = {Chambers, Craig and Raniwala, Ashish and Perry, Frances and Adams, Stephen and Henry, Robert R. and Bradshaw, Robert and Weizenbaum, Nathan},
	Doi = {10.1145/1809028.1806638},
	Issn = {0362-1340},
	Journal = {SIGPLAN Not.},
	Month = jun,
	Number = {6},
	Pages = {363--375},
	Publisher = {ACM},
	Title = {{FlumeJava}: Easy, Efficient Data-parallel Pipelines},
	Volume = {45},
	Year = {2010},
	Bdsk-Url-1 = {http://dx.doi.org/10.1145/1809028.1806638}}

@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{Chan02b,
  title={Visualization of exception propagation for {Java} using static analysis},
  author={Chang, Byeong-Mo and Jo, Jang-Wu and Her, Soon Hee},
  booktitle={Source Code Analysis and Manipulation, 2002. Proceedings. Second IEEE International Workshop on},
  pages={173--182},
  year={2002},
  organization={IEEE}
}

@inproceedings{Chan02a,
	Acmid = {1767002},
	Address = {Berlin, Heidelberg},
	Author = {Chang, Fay and Farkas, Keith I. and Ranganathan, Parthasarathy},
	Booktitle = {Proceedings of the 2nd international conference on Power-aware computer systems},
	Isbn = {3-540-01028-9},
	Location = {Cambridge, MA, USA},
	Numpages = {20},
	Pages = {110--129},
	Publisher = {Springer-Verlag},
	Series = {PACS'02},
	Title = {Energy-driven statistical sampling: detecting software hotspots},
	Url = {http://dl.acm.org/citation.cfm?id=1766991.1767002},
	Year = {2003},
	Bdsk-Url-1 = {http://dl.acm.org/citation.cfm?id=1766991.1767002}}

@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{Chan08b,
	Abstract = {Bigtable is a distributed storage system for managing structured data that is designed to scale to a very large size: petabytes of data across thousands of commodity servers. Many projects at Google store data in Bigtable, including web indexing, Google Earth, and Google Finance. These applications place very different demands on Bigtable, both in terms of data size (from {URLs} to web pages to satellite imagery) and latency requirements (from backend bulk processing to real-time data serving). Despite these varied demands, Bigtable has successfully provided a flexible, high-performance solution for all of these Google products. In this article, we describe the simple data model provided by Bigtable, which gives clients dynamic control over data layout and format, and we describe the design and implementation of Bigtable.},
	Address = {New York, NY, USA},
	Author = {Chang, Fay and Dean, Jeffrey and Ghemawat, Sanjay and Hsieh, Wilson C. and Wallach, Deborah A. and Burrows, Mike and Chandra, Tushar and Fikes, Andrew and Gruber, Robert E.},
	Doi = {10.1145/1365815.1365816},
	Issn = {0734-2071},
	Journal = {ACM Trans. Comput. Syst.},
	Keywords = {large},
	Month = jun,
	Number = {2},
	Pages = {1--26},
	Publisher = {ACM},
	Title = {Bigtable: A Distributed Storage System for Structured Data},
	Volume = {26},
	Year = {2008},
	Bdsk-Url-1 = {http://dx.doi.org/10.1145/1365815.1365816}}

@article{Chan09a,
	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.},
	Affiliation = {Queen's University Department of Electrical and Computer Engineering Kingston ON Canada},
	Author = {Chan, Brian and Foo, King and Marks, Lionel and Zou, Ying},
	Issn = {1433-2779},
	Issue = {6},
	Journal = {International Journal on Software Tools for Technology Transfer (STTT)},
	Keyword = {Computer Science},
	Note = {10.1007/s10009-009-0122-5},
	Pages = {503-515},
	Publisher = {Springer Berlin / Heidelberg},
	Title = {An approach for estimating the time needed to perform code changes in business applications},
	Volume = {11},
	Year = {2009}}

@inproceedings{Chan09b,
  title={Reading tea leaves: How humans interpret topic models},
  author={Chang, Jonathan and Gerrish, Sean and Wang, Chong and Boyd-Graber, Jordan L and Blei, David M},
  booktitle={Advances in neural information processing systems},
  pages={288--296},
  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{Char07a,
 author = {Charles, Philippe and Fuhrer, Robert M. and Sutton,Jr., Stanley M.},
 title = {IMP: A Meta-tooling Platform for Creating Language-specific {IDEs} in Eclipse},
 booktitle = {Proceedings of the Twenty-second IEEE/ACM International Conference on Automated Software Engineering},
 series = {ASE '07},
 year = {2007},
 isbn = {978-1-59593-882-4},
 location = {Atlanta, Georgia, USA},
 pages = {485--488},
 numpages = {4},
 url = {http://doi.acm.org/10.1145/1321631.1321715},
 doi = {10.1145/1321631.1321715},
 acmid = {1321715},
 publisher = {ACM},
 address = {New York, NY, USA},
 keywords = {IDE, IDE workbench, eclipse, generation, meta-tooling}
}

@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}}

@inproceedings{Chat13a,
	Acmid = {2465566},
	Address = {New York, NY, USA},
	Author = {Chattopadhyay, Sudipta and Chong, Lee Kee and Roychoudhury, Abhik},
	Booktitle = {Proceedings of the 14th ACM SIGPLAN/SIGBED Conference on Languages, Compilers and Tools for Embedded Systems},
	Doi = {10.1145/2465554.2465566},
	Isbn = {978-1-4503-2085-6},
	Keywords = {cache memories, path exploration, performance testing, symbolic execution},
	Location = {Seattle, Washington, USA},
	Numpages = {12},
	Pages = {65--76},
	Publisher = {ACM},
	Series = {LCTES '13},
	Title = {Program Performance Spectrum},
	Url = {http://doi.acm.org/10.1145/2465554.2465566},
	Year = {2013},
	Bdsk-Url-1 = {http://doi.acm.org/10.1145/2465554.2465566},
	Bdsk-Url-2 = {http://dx.doi.org/10.1145/2465554.2465566}}

@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/}}

@techreport{Chav19a,
	Title = {Archiving in Small and Medium Enterprises},
	Author = {Marcel I. Chavez Panduro},
	Abstract = {Nowadays every company has to store almost every sheet of paper
		that is produced during its day-to-day business. In almost every
		process one or multiple documents have to be printed out to
		ensure correct book keeping. All these various papers have to be
		stored for over ten years. The amount of paper constantly grows
		over each working day and after a short period of time, this mass
		of files takes up a lot of space already and most of the
		companies need an extra storage room for these files. This kind
		of archiving could be avoided with the current technical
		possibilities. In this bachelor thesis I evaluate a valid
		approach and try to implement a simple digital archive. A lot of
		processes could be optimized especially when the company is
		already using an enterprise resource planning system. During the
		process of planning and developing I encountered multiple
		challenges and tried to describe different approaches for a
		solution. The result of this bachelor thesis was a working
		solution, however with some drawbacks and unfinished requirements.},
	Institution = {University of Bern},
	Keywords = {scg-bp snf-none scg19 jb19},
	Type = {Bachelor's thesis},
	Url = {http://scg.unibe.ch/archive/projects/Chav19a.pdf},
	Month = jan,
	Year = {2019}
}

@inproceedings{Chead06a,
 author = {Cheadle, A. M. and Field, A. J. and Ayres, J. W. and Dunn, N. and Hayden, R. A. and Nystrom-Persson, J.},
 title = {Visualising Dynamic Memory Allocators},
 booktitle = {Proceedings of the 5th International Symposium on Memory Management},
 series = {ISMM '06},
 year = {2006},
 isbn = {1-59593-221-6},
 location = {Ottawa, Ontario, Canada},
 pages = {115--125},
 numpages = {11},
 url = {http://doi.acm.org/10.1145/1133956.1133972},
 doi = {10.1145/1133956.1133972},
 acmid = {1133972},
 publisher = {ACM},
 address = {New York, NY, USA},
 keywords = {dynamic memory allocation, garbage collection, language implementation, memory management, visualisation of objects}
}

@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}}

@inproceedings{Chen95b,
author={Chen, Y.-F.R. and Fowler, G.S. and Koutsofios, E. and Wallach, R.S.},
booktitle={Software Maintenance, 1995. Proceedings., International Conference on},
title={Ciao: a graphical navigator for software and document repositories},
year={1995},
pages={66-75},
doi={10.1109/ICSM.1995.526528},
ISSN={1063-6773},
month=oct}

@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}}

@inproceedings{Chen01a,
author={Chen, A. and Chou, E. and Wong, J. and Yao, A.Y. and Qing Zhang and Shao Zhang and Michail, A.},
booktitle={Software Maintenance, 2001. Proceedings. IEEE International Conference on},
title={{CVSSearch}: searching through source code using {CVS} comments},
year={2001},
pages={364-373},
doi={10.1109/ICSM.2001.972749},
ISSN={1063-6773}}

@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,
	Address = {Washington, DC, USA},
	Author = {Chen, Guanling and Kotz, David},
	Booktitle = {WMCSA'02: Proceedings of the 4th Workshop on Mobile Computing Systems and Applications},
	Doi = {10.1109/MCSA.2002.1017490},
	Keywords = {damiencbib operator-graph},
	Pages = {105--114},
	Publisher = {IEEE Computer Society},
	Title = {Context Aggregation and Dissemination in Ubiquitous Computing Systems},
	Year = {2002},
	Bdsk-Url-1 = {http://dx.doi.org/10.1109/MCSA.2002.1017490}}

@book{Chen03a,
	Author = {Jim X. Chen},
	Keywords = {scglib newentry},
	Publisher = {Springer},
	Title = {Guide to Graphics Software Tools},
	Year = {2003}}

@inproceedings{Chen03b,
	Acmid = {949330},
	Address = {New York, NY, USA},
	Author = {Chen, G. and Kandemir, M. and Vijaykrishnan, N. and Irwin, M. J. and Mathiske, B. and Wolczko, M.},
	Booktitle = {Proceedings of the 18th Annual ACM SIGPLAN Conference on Object-oriented Programing, Systems, Languages, and Applications},
	Doi = {10.1145/949305.949330},
	Isbn = {1-58113-712-5},
	Keywords = {Java virtual machine, garbage collection, heap, memory compression},
	Location = {Anaheim, California, USA},
	Numpages = {20},
	Pages = {282--301},
	Publisher = {ACM},
	Series = {OOPSLA '03},
	Title = {Heap Compression for Memory-constrained {Java} Environments},
	Url = {http://doi.acm.org/10.1145/949305.949330},
	Year = {2003},
	Bdsk-Url-1 = {http://doi.acm.org/10.1145/949305.949330},
	Bdsk-Url-2 = {http://dx.doi.org/10.1145/949305.949330}}

@inproceedings{Chen03c,
	author = {Chen, T. Y. and Kuo, F. C. and Merkel, R. G. and Ng, S. P.},
	title = {Mirror Adaptive Random Testing},
	booktitle = {Proceedings of the Third International Conference on Quality Software},
	series = {QSIC '03},
	year = {2003},
	isbn = {0-7695-2015-4},
	pages = {4--},
	url = {http://dl.acm.org/citation.cfm?id=950789.951282},
	acmid = {951282},
	publisher = {IEEE Computer Society},
	address = {Washington, DC, USA},
	keywords = {Adaptive Random Testing, Randomtesting, Black box testing, Test case selection, Softwaretesting}
}

@inproceedings{Chen05a,
	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.},
	Author = {Chenchen Xiao and Tzerpos, V.},
	Booktitle = {Software Maintenance and Reengineering, 2005. CSMR 2005. Ninth European Conference on},
	Doi = {10.1109/CSMR.2005.49},
	Issn = {1534-5351},
	Month = mar,
	Pages = {124 - 133},
	Title = {Software Clustering Based on Dynamic Dependencies},
	Year = {2005},
	Bdsk-Url-1 = {http://dx.doi.org/10.1109/CSMR.2005.49}}

@inproceedings{Chen05b,
 author = {Chen, Guangyu and Kandemir, Mahmut and Irwin, Mary J.},
 title = {Exploiting Frequent Field Values in {Java} Objects for Reducing Heap Memory Requirements},
 booktitle = {Proceedings of the 1st ACM/USENIX International Conference on Virtual Execution Environments},
 series = {VEE '05},
 year = {2005},
 isbn = {1-59593-047-7},
 location = {Chicago, IL, USA},
 pages = {68--78},
 numpages = {11},
 url = {http://doi.acm.org/10.1145/1064979.1064990},
 doi = {10.1145/1064979.1064990},
 acmid = {1064990},
 publisher = {ACM},
 address = {New York, NY, USA},
 keywords = {Java virtual machine, frequent field value, garbage collection, heap}
}

@article{Chen05c,
  title={Top 10 unsolved information visualization problems},
  author={Chen, Chaomei},
  journal={Computer Graphics and Applications, IEEE},
  volume={25},
  number={4},
  pages={12--16},
  year={2005},
  publisher={IEEE}
}

@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,
	Address = {New York, NY, USA},
	Author = {Chen, Feng and Ro\c{s}u, Grigore},
	Booktitle = {OOPSLA '07: Proceedings of the 22nd annual ACM SIGPLAN conference on Object-oriented programming systems and applications},
	Doi = {10.1145/1297027.1297069},
	Isbn = {978-1-59593-786-5},
	Keywords = {sos-da},
	Location = {Montreal, Quebec, Canada},
	Pages = {569--588},
	Publisher = {ACM},
	Title = {{MOP}: an efficient and generic runtime verification framework},
	Year = {2007},
	Bdsk-Url-1 = {http://dx.doi.org/10.1145/1297027.1297069}}

@inproceedings{Chen08a,
	Abstract = {Despite the progress that has been made in the field of program visualization, programmers nowadays still rely on in-serting extra code (e.g., print statements) to visualize complicated program states during debugging. Only recently have tools such as {DDD} (Data Display Debugger) (5) begun to provide visualization of data types for programmers. Still such visualization remains limited. There are many obstacles that have impeded and continue to impede program visualization for practical use. One such major obstacle one is the wide variety of data types in a computer program. Given the variety and complexity of computations for many domains, it is unlikely that visualizations will be available a priori to cover everything that might be interesting. As an attempt to address the problem, a debugging visualization tool called {xDIVA} is presented. The visual effects of {xDIVA} use {3-D} shapes, colors, and animations from a {3-D} rendering engine. {xDIVA} conducts a novel and meticulous object-oriented design so that visualization metaphors are interactive, composable, and decoupled from data, i.e. a complicated visualization metaphor can be composed and assembled from basic ones, each of which is independently replaceable. The benefits of {xDIVA} are demonstrated by several applications.},
	Address = {New York, NY, USA},
	Author = {Cheng, Yung P. and Chen, Jih F. and Chiu, Ming C. and Lai, Nien W. and Tseng, Chien C.},
	Booktitle = {Companion to the 23rd ACM SIGPLAN conference on Object-oriented programming systems languages and applications},
	Doi = {10.1145/1449814.1449869},
	Isbn = {978-1-60558-220-7},
	Location = {Nashville, TN, USA},
	Pages = {807--810},
	Priority = {2},
	Publisher = {ACM},
	Series = {OOPSLA Companion '08},
	Title = {{xDIVA}: a debugging visualization system with composable visualization metaphors},
	Year = {2008},
	Bdsk-Url-1 = {http://dx.doi.org/10.1145/1449814.1449869}}

@inproceedings{Chen10a,
  title={Towards an Evidence-Based Understanding of Electronic Data Sources},
  author={Chen, Lianipng and Babar, Muhammad Ali and Zhang, He},
  booktitle={14th International Conference on Evaluation and Assessment in Software Engineering (EASE)},
  abstract = {Systematic Literature Reviews and Systematic Mapping Studies are relatively new forms of secondary studies in software engineering. Identifying relevant papers from various Electronic Data Sources (EDS) is one of the key activities of conducting these kinds of studies. Hence, the selection of EDS for searching the potentially relevant papers is an important decision, which can affect a study's coverage of relevant papers. Researchers usually select EDS mainly based on personal knowledge, experience, and preferences and/or recommendations by other researchers. We believe that building an evidence-based understanding of EDS can enable researchers to make more informed decisions about the selection of EDS. This paper reports our initial effort towards this end. We propose an initial set of metrics for characterizing the EDS from the perspective of the needs of secondary studies. We explain the usage and benefits of the proposed metrics using the data gathered from two secondary studies. We also tried to synthesize the data from the two studies and that from literature to provide initial evidence-based heuristics for EDS selection.},
  pages={135--138},
  year={2010}
}

@article{Chen11a,
	Acmid = {2052495},
	Address = {Piscataway, NJ, USA},
	Author = {Chen, Haibo and Yu, Jie and Hang, Chengqun and Zang, Binyu and Yew, Pen-Chung},
	Doi = {10.1109/TSE.2010.79},
	Issn = {0098-5589},
	Issue_Date = {September 2011},
	Journal = {IEEE Trans. Softw. Eng.},
	Keywords = {Maintainability, reliability, runtime environments.},
	Month = sep,
	Number = {5},
	Numpages = {16},
	Pages = {679--694},
	Publisher = {IEEE Press},
	Title = {Dynamic Software Updating Using a Relaxed Consistency Model},
	Url = {http://dx.doi.org/10.1109/TSE.2010.79},
	Volume = {37},
	Year = {2011},
	Bdsk-Url-1 = {http://dx.doi.org/10.1109/TSE.2010.79}}

@misc{Chen14a,
	Author = {Pearl Chen},
	Month = jul,
	Note = {\url{http://www.html5rocks.com/en/tutorials/developertools/async-call-stack/}},
	Title = {Debugging Asynchronous {JavaScript} with {Chrome DevTools}},
	Year = {2014}}

@inproceedings{Chen14b,
 author = {Chen, Tse-Hsun and Shang, Weiyi and Jiang, Zhen Ming and Hassan, Ahmed E. and Nasser, Mohamed and Flora, Parminder},
 title = {Detecting Performance Anti-patterns for Applications Developed Using Object-relational Mapping},
 booktitle = {Proceedings of the 36th International Conference on Software Engineering},
 series = {ICSE 2014},
 year = {2014},
 isbn = {978-1-4503-2756-5},
 location = {Hyderabad, India},
 pages = {1001--1012},
 numpages = {12},
 url = {http://doi.acm.org/10.1145/2568225.2568259},
 doi = {10.1145/2568225.2568259},
 acmid = {2568259},
 publisher = {ACM},
 address = {New York, NY, USA},
 keywords = {Dynamic Analysis, Performance, Performance Anti-pattern, Performance Evaluation, Static Analysis}
}

@inproceedings{Chen14c,
  title={{AR}-miner: Mining Informative Reviews for Developers from Mobile App Marketplace},
  author={Chen, Ning and Lin, Jialiu and Hoi, Steven CH and Xiao, Xiaokui and Zhang, Boshen},
  booktitle={Proceedings of the 36th international conference on software engineering},
  pages={767--778},
  year={2014}
}

@book{Chen15a,
  author={Cheng, Betty HC and Combemale, Benoit and France, Robert B and J{\'e}z{\'e}quel, Jean-Marc and Rumpe, Bernhard},
  title={Globalizing Domain-Specific Languages},
  pages={1--6},
  year={2015},
  publisher={Springer},
  Series = {LNCS},
  Volume = {9400},
  DOI = {10.1007/978-3-319-26172-0}
}

@inproceedings{Chen15b,
  title={An empirical study on predicting defect numbers},
  author={Chen, Mingming and Ma, Yutao},
  booktitle={Proc. of software engineering and knowledge engineering, SEKE'15},
  pages={397--402},
  year={2015}
}

@inproceedings{Chen15c,
  author       = {Chen, Fuxiang and Kim, Sunghun},
  title        = {Crowd Debugging},
  booktitle    = {Proceedings of the 2015 10th Joint Meeting on Foundations of Software Engineering},
  year         = {2015},
  series       = {ESEC/FSE 2015},
  publisher    = {ACM},
  location     = {Bergamo, Italy},
  isbn         = {978-1-4503-3675-8},
  pages        = {320--332},
  doi          = {10.1145/2786805.2786819},
  url          = {http://doi.acm.org/10.1145/2786805.2786819},
  acmid        = {2786819},
  address      = {New York, NY, USA},
  keywords     = {Crowd Debugging, Crowd Sourcing, Debugging},
  numpages     = {13}
}

@article{Chen16a,
author = {Chen, Tse-Hsun and Thomas, Stephen W. and Hassan, Ahmed E.},
title = {A Survey on the Use of Topic Models When Mining Software Repositories},
year = {2016},
issue_date = {October 2016},
publisher = {Kluwer Academic Publishers},
address = {USA},
volume = {21},
number = {5},
issn = {1382-3256},
url = {https://doi.org/10.1007/s10664-015-9402-8},
doi = {10.1007/s10664-015-9402-8},
abstract = {Researchers in software engineering have attempted to improve software development by mining and analyzing software repositories. Since the majority of the software engineering data is unstructured, researchers have applied Information Retrieval (IR) techniques to help software development. The recent advances of IR, especially statistical topic models, have helped make sense of unstructured data in software repositories even more. However, even though there are hundreds of studies on applying topic models to software repositories, there is no study that shows how the models are used in the software engineering research community, and which software engineering tasks are being supported through topic models. Moreover, since the performance of these topic models is directly related to the model parameters and usage, knowing how researchers use the topic models may also help future studies make optimal use of such models. Thus, we surveyed 167 articles from the software engineering literature that make use of topic models. We find that i) most studies centre around a limited number of software engineering tasks; ii) most studies use only basic topic models; iii) and researchers usually treat topic models as black boxes without fully exploring their underlying assumptions and parameter values. Our paper provides a starting point for new researchers who are interested in using topic models, and may help new researchers and practitioners determine how to best apply topic models to a particular software engineering task.},
journal = {Empirical Softw. Engg.},
month = {oct},
pages = {1843-1919},
numpages = {77},
keywords = {LSI, Topic modeling, Survey, LDA}
}

@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,
	Acmid = {126240},
	Address = {Piscataway, NJ, USA},
	Author = {Cherniavsky, John C. and Smith, Carl H.},
	Doi = {10.1109/32.87287},
	Issn = {0098-5589},
	Journal = {IEEE Trans. Softw. Eng.},
	Keywords = {computational complexity, software complexity measures, software metrics},
	Month = {jun},
	Number = {6},
	Numpages = {3},
	Pages = {636--638},
	Publisher = {IEEE Press},
	Title = {On Weyuker's Axioms for Software Complexity Measures},
	Url = {http://portal.acm.org/citation.cfm?id=126218.126240},
	Volume = {17},
	Year = {1991},
	Bdsk-Url-1 = {http://portal.acm.org/citation.cfm?id=126218.126240},
	Bdsk-Url-2 = {http://dx.doi.org/10.1109/32.87287}}

@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}}

@inproceedings{Cheu14a,
	Author = {Cheung, Alvin and Madden, Samuel and Solar-Lezama, Armando},
	Title = {Sloth: Being Lazy is a Virtue (when Issuing Database Queries)},
	Booktitle = {Proceedings of the 2014 ACM SIGMOD International Conference on Management of Data},
	Series = {SIGMOD '14},
	Year = {2014},
	Isbn = {978-1-4503-2376-5},
	Location = {Snowbird, Utah, USA},
	Pages = {931--942},
	Numpages = {12},
	Url = {http://doi.acm.org/10.1145/2588555.2593672},
	Doi = {10.1145/2588555.2593672},
	Acmid = {2593672},
	Publisher = {ACM},
	Address = {New York, NY, USA},
	Keywords = {lazy evaluation, optimization, query batching}}

@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}}

@article{Chia08a,
 author = {Chiang, Fei and Miller, Ren{\'e}e J.},
 title = {Discovering Data Quality Rules},
 journal = {Proc. VLDB Endow.},
 issue_date = {August 2008},
 volume = {1},
 number = {1},
 month = aug,
 year = {2008},
 issn = {2150-8097},
 pages = {1166--1177},
 numpages = {12},
 url = {http://dblab.cs.toronto.edu/project/DataQuality/docs/vldb08.pdf},
 doi = {10.14778/1453856.1453980},
 acmid = {1453980},
 publisher = {VLDB Endowment},
 keywords = {schema-inference, conditional functional dependencies}
}

@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},
	Doi = {10.1007/3-540-60954-7_49},
	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},
	Bdsk-Url-1 = {http://www2.parc.com/csl/groups/sda/publications/papers/Chiba-ISOTAS96/for-web.pdf},
	Bdsk-Url-2 = {http://dx.doi.org/10.1007/3-540-60954-7_49}}

@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{Chib07,
	Acmid = {1294355},
	Address = {New York, NY, USA},
	Author = {Chiba, Yuji},
	Booktitle = {Proceedings of the 5th International Symposium on Principles and Practice of Programming in {Java}},
	Doi = {10.1145/1294325.1294355},
	Isbn = {978-1-59593-672-1},
	Keywords = {Java, auto-boxing, optimization},
	Location = {Lisboa, Portugal},
	Numpages = {6},
	Pages = {215--220},
	Publisher = {ACM},
	Series = {PPPJ '07},
	Title = {Redundant Boxing Elimination by a Dynamic Compiler for {Java}},
	Url = {http://doi.acm.org/10.1145/1294325.1294355},
	Year = {2007},
	Bdsk-Url-1 = {http://doi.acm.org/10.1145/1294325.1294355},
	Bdsk-Url-2 = {http://dx.doi.org/10.1145/1294325.1294355}}

@inproceedings{Chid91a,
	Acmid = {117970},
	Address = {New York, NY, USA},
	Author = {Chidamber, Shyam R. and Kemerer, Chris F.},
	Booktitle = {Conference proceedings on Object-oriented programming systems, languages, and applications},
	Doi = {10.1145/117954.117970},
	Isbn = {0-201-55417-8},
	Location = {Phoenix, Arizona, United States},
	Numpages = {15},
	Pages = {197--211},
	Publisher = {ACM},
	Series = {OOPSLA '91},
	Title = {Towards a metrics suite for object oriented design},
	Url = {http://doi.acm.org/10.1145/117954.117970},
	Year = {1991},
	Bdsk-Url-1 = {http://doi.acm.org/10.1145/117954.117970},
	Bdsk-Url-2 = {http://dx.doi.org/10.1145/117954.117970}}

@article{Chid91b,
	Acmid = {117970},
	Address = {New York, NY, USA},
	Author = {Chidamber, Shyam R. and Kemerer, Chris F.},
	Doi = {10.1145/118014.117970},
	Issn = {0362-1340},
	Issue_Date = {Nov. 1991},
	Journal = {SIGPLAN Not.},
	Month = nov,
	Number = {11},
	Numpages = {15},
	Pages = {197--211},
	Publisher = {ACM},
	Title = {Towards a metrics suite for object oriented design},
	Url = {http://doi.acm.org/10.1145/118014.117970},
	Volume = {26},
	Year = {1991},
	Bdsk-Url-1 = {http://doi.acm.org/10.1145/118014.117970},
	Bdsk-Url-2 = {http://dx.doi.org/10.1145/118014.117970}}

@article{Chid94a,
	Address = {Piscataway, NJ, USA},
	Author = {Chidamber, S. R. and Kemerer, C. F.},
	Doi = {10.1109/32.295895},
	Issn = {0098-5589},
	Issue_Date = {June 1994},
	Journal = {IEEE Transactions on Software Engineering},
	Keywords = {automated data collection tool, measurement principles, metrics suite, object oriented design, object oriented programming, object-oriented methods, object-oriented programming, organization, process improvement, software development, software measures, software metrics},
	Month = jun,
	Number = {6},
	Numpages = {18},
	Pages = {476--493},
	Publisher = {IEEE Press},
	Title = {A Metrics Suite for Object Oriented Design},
	Url = {http://dx.doi.org/10.1109/32.295895},
	Volume = {20},
	Year = {1994},
	Bdsk-Url-1 = {http://dx.doi.org/10.1109/32.295895}}

@article{Chida98a,
	Acmid = {286187},
	Address = {Piscataway, NJ, USA},
	Author = {Chidamber, Shyam R. and Darcy, David P. and Kemerer, Chris F.},
	Doi = {10.1109/32.707698},
	Issn = {0098-5589},
	Issue = {8},
	Journal = {IEEE Trans. Softw. Eng.},
	Keywords = {Software metrics, object-orientation, productivity, effort, reuse, design, SLOC, WMC, NOC, DIT, LCOM, CBO, RFC, programmer, project management.},
	Month = aug,
	Numpages = {11},
	Pages = {629--639},
	Publisher = {IEEE Press},
	Title = {Managerial Use of Metrics for Object-Oriented Software: An Exploratory Analysis},
	Volume = {24},
	Year = {1998},
	Bdsk-Url-1 = {http://dx.doi.org/10.1109/32.707698}}

@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}}

@misc{Chik96a,
	Author = {Elliot J. Chikofsky},
	Publisher = {McGraw Hill},
	Title = {The Necessity of Data Reverse Engineering. Foreword for Peter Aiken's Data Reverse Engineering},
	Url = {http://aiken.isy.vcu.edu/professional/publications/books/dre/dreeliot.htm},
	Year = {1996},
	Bdsk-Url-1 = {http://aiken.isy.vcu.edu/professional/publications/books/dre/dreeliot.htm}}

@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}}

@article{Chil98a,
	Acmid = {286865},
	Address = {New York, NY, USA},
	Author = {Chilimbi, Trishul M. and Larus, James R.},
	Doi = {10.1145/301589.286865},
	Issn = {0362-1340},
	Issue = {3},
	Journal = {SIGPLAN Not.},
	Keywords = {cache-conscious data placement, garbage collection, object-oriented programs, profiling},
	Month = oct,
	Numpages = {12},
	Pages = {37--48},
	Publisher = {ACM},
	Title = {Using generational garbage collection to implement cache-conscious data placement},
	Volume = {34},
	Year = {1998},
	Bdsk-Url-1 = {http://dx.doi.org/10.1145/301589.286865}}

@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}}

@inproceedings{Chim92a,
 author = {Chimera, Richard},
 title = {Value Bars: An Information Visualization and Navigation Tool for Multi-attribute Listings},
 booktitle = {Proceedings of the SIGCHI Conference on Human Factors in Computing Systems},
 series = {CHI '92},
 year = {1992},
 isbn = {0-89791-513-5},
 location = {Monterey, California, USA},
 pages = {293--294},
 numpages = {2},
 url = {http://doi.acm.org/10.1145/142750.142817},
 doi = {10.1145/142750.142817},
 acmid = {142817},
 publisher = {ACM},
 address = {New York, NY, USA}
}

@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,
	Address = {Washington, DC, USA},
	Author = {Chin, Jeannette S and Callaghan, Vic and Clarke, Graham},
	Booktitle = {ICPS'06: Proceedings of the 3rd International Conference on Pervasive Services},
	Doi = {10.1109/PERSER.2006.1652254},
	Isbn = {1-4244-0237-9},
	Location = {Lyon, France},
	Month = jun,
	Pages = {325--328},
	Publisher = {IEEE Computer Society},
	Title = {An End-User Programming Paradigm for Pervasive Computing Applications},
	Year = {2006},
	Bdsk-Url-1 = {http://dx.doi.org/10.1109/PERSER.2006.1652254}}

@inproceedings{Chis11a,
	Acmid = {2032523},
	Address = {Berlin, Heidelberg},
	Author = {Chis, Adriana E. and Mitchell, Nick and Schonberg, Edith and Sevitsky, Gary and O'Sullivan, Patrick and Parsons, Trevor and Murphy, John},
	Booktitle = {Proceedings of the 25th European Conference on Object-oriented Programming},
	Isbn = {978-3-642-22654-0},
	Keywords = {memory bloat, memory footprint, pattern detection, tools},
	Location = {Lancaster, UK},
	Numpages = {25},
	Pages = {383--407},
	Publisher = {Springer-Verlag},
	Series = {ECOOP'11},
	Title = {Patterns of Memory Inefficiency},
	Url = {http://dl.acm.org/citation.cfm?id=2032497.2032523},
	Year = {2011},
	Bdsk-Url-1 = {http://dl.acm.org/citation.cfm?id=2032497.2032523}}

@inproceedings{Chis13a,
	Annote = {internationalworkshop},
	Abstract = {The debugger is an essential tool in any programming environment, as it helps developers understand the dynamic behaviour of software systems. However, traditional debuggers fail in answering domain-specific questions, as the semantics of what they show and do are fixed. In this paper we introduce our work towards a moldable debugger which, unlike traditional debuggers, both adapts itself and can be adapted to a particular debugging context. Thus, it allows developers to answer their questions by using concepts from their own application domains.},
	Author = {Andrei Chi\c{s} and Oscar Nierstrasz and Tudor G\^{i}rba},
	Booktitle = {Proceedings of the 7th Workshop on Dynamic Languages and Applications},
	Series = {DYLA '13},
	Doi = {10.1145/2489798.2489801},
	Keywords = {scg-pub snf-asa1 scg13 jb14 Debugging Customization Domain-specific-tools Smalltalk Andrei Chis girba},
	Medium = {2},
	Peerreview = {yes},
	Title = {Towards a Moldable Debugger},
	Url = {http://scg.unibe.ch/archive/papers/Chis13a-TowardsMoldableDebugger.pdf},
	Year = {2013},
	isbn = {978-1-4503-2041-2},
	location = {Montpellier, France},
	pages = {2:1--2:6},
	articleno = {2},
	numpages = {6},
	acmid = {2489801},
	publisher = {ACM},
	address = {New York, NY, USA},
	Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Chis13a-TowardsMoldableDebugger.pdf},
	Bdsk-Url-2 = {http://dx.doi.org/10.1145/2489798.2489801}}

@inproceedings{Chis14a,
	Abstract = {Answering run-time questions in object-oriented systems involves reasoning about and exploring connections between multiple objects. Developer questions exercise various aspects of an object and require multiple kinds of interactions depending on the relationships between objects, the application domain and the differing developer needs. Nevertheless, traditional object inspectors, the essential tools often used to reason about objects, favor a generic view that focuses on the low-level details of the state of individual objects. This leads to an inefficient effort, increasing the time spent in the inspector. To improve the inspection process, we propose the Moldable Inspector, a novel approach for an extensible object inspector. The Moldable Inspector allows developers to look at objects using multiple interchangeable presentations and supports a workflow in which multiple levels of connecting objects can be seen together. Both these aspects can be tailored to the domain of the objects and the question at hand. We further exemplify how the proposed solution improves the inspection process, introduce a prototype implementation and discuss new directions for extending the Moldable Inspector.},
	Annote = {internationalworkshop},
	Author = {Andrei Chi\c{s} and Tudor G\^{i}rba and Oscar Nierstrasz},
	Booktitle = {Proceedings of International Workshop on Smalltalk Technologies (IWST 2014)},
	medium={1},
	Keywords = {scg14 scg-pub jb14 snf-asa1 skip-doi, Andrei Chis, Tudor Girba, girba},
	Location = {Cambridge, England},
	Peerreview = {yes},
	Title = {The {Moldable Inspector}: a framework for domain-specific object inspection},
	Url = {http://scg.unibe.ch/archive/papers/Chis14a-MoldableInspector.pdf},
	Year = {2014}}

@inproceedings{Chis14b,
	Annote = {internationalconference},
	Author={Chi\c{s}, Andrei and G\^{i}rba, Tudor and Nierstrasz, Oscar},
	Title={The {Moldable Debugger}: A Framework for Developing Domain-Specific Debuggers},
	Abstract={Debuggers are crucial tools for developing object-oriented software systems
		as they give developers direct access to the running systems. Nevertheless, traditional
		debuggers rely on generic mechanisms to explore and exhibit the execution stack and system
		state, while developers reason about and formulate domain-specific questions using concepts
		and abstractions from their application domains. This creates an abstraction gap between the
		debugging needs and the debugging support leading to an inefficient and error-prone debugging
		effort. To reduce this gap, we propose a framework for developing domain-specific debuggers
		called the Moldable Debugger. The Moldable Debugger is adapted to a domain by creating and
		combining domain-specific debugging operations with domain-specific debugging views, and adapts
		itself to a domain by selecting, at run time, appropriate debugging operations and views.
		We motivate the need for domain-specific debugging, identify a set of key requirements and show
		how our approach improves debugging by adapting the debugger to several domains.},
	Year={2014},
	Isbn={978-3-319-11244-2},
	Booktitle={Software Language Engineering},
	Volume={8706},
	Series={Lecture Notes in Computer Science},
	Editor={Combemale, Beno\^{i}t and Pearce, David J. and Barais, Olivier and Vinju, Jurgen J.},
	Doi={10.1007/978-3-319-11245-9_6},
	PeerReview = {yes},
	Medium = {2},
	Url = {http://scg.unibe.ch/archive/papers/Chis14b-MoldableDebugger.pdf},
	Publisher={Springer International Publishing},
	Pages={102-121},
	Language={English},
	Keywords = {scg-pub snf-asa1, scg14 jb15 debugging, development environments, customization, Andrei Chis, Tudor Girba, girba},
	Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Chis14b-MoldableDebugger.pdf},
	Bdsk-Url-2 = {http://dx.doi.org/10.1007/978-3-319-11245-9_6}}

@inproceedings{Chis15a,
     abstract={Object inspectors are an essential category of tools that allow developers to comprehend the run-time of object-oriented systems. Traditional object inspectors favor a generic view that focuses on the low-level details of the state of single objects. Based on 16 interviews with software developers and a follow-up survey with 62 respondents we identified a need for object inspectors that support different high-level ways to visualize and explore objects, depending on both the object and the current developer need. We propose the Moldable Inspector, a novel inspector model that enables developers to adapt the inspection workflow to suit their immediate needs by making the inspection context explicit, providing multiple interchangeable domain-specific views for each object, and supporting  a workflow that groups together multiple levels of connected objects. We show that the Moldable Inspector can address multiple kinds of development needs involving a wide range of objects.},
	 author = {Andrei Chi\c{s} and Tudor G\^irba and Oscar Nierstrasz and Aliaksei Syrel},
	 title = {The {Moldable} {Inspector}},
	 booktitle = {Proceedings of the 2015 ACM International Symposium on New Ideas, New Paradigms, and Reflections on Programming and Software},
	Annote = {internationalconference},
	 series = {Onward! 2015},
	 year = {2015},
	 location = {Pittsburgh, PA, USA},
	 pages = {44--60},
	 numpages = {17},
	 url = {http://scg.unibe.ch/archive/papers/Chis15a-MoldableInspector.pdf},
	 doi = {10.1145/2814228.2814234},
	 isbn = {978-1-4503-3688-8},
	 acmid = {2814234},
	 publisher = {ACM},
	 address = {New York, NY, USA},
	 keywords = {scg-pub scg15 jb16 snf-asa1, Andrei Chis, Tudor Girba, girba},
	 peerreview = {yes},
	 medium = {2}
}

@inproceedings{Chis15b,
	Annote = {internationalworkshop},
	abstract={Understanding the run-time behaviour of object-oriented applications entails the comprehension of run-time objects. Traditional object inspectors favor generic views that focus on the low-level details of the state of single objects. While universally applicable, this generic approach does not take into account the varying needs of developers that could benefit from tailored views and exploration possibilities. GTInspector is a novel moldable object inspector that provides different high-level ways to visualize and explore objects, adapted to both the object and the current developer need. More information about the GTInspector can be found at: scg.unibe.ch/research/moldableinspector},
	author = {Andrei Chi\c{s} and Tudor G\^irba and Oscar Nierstrasz and Aliaksei Syrel},
	title={{GTInspector}: A Moldable Domain-Aware Object Inspector},
	booktitle = {Proceedings of the Companion Publication of the 2015 ACM SIGPLAN Conference on Systems, Programming, and Applications: Software for Humanity},
	series = {SPLASH Companion 2015},
	year = {2015},
	location = {Pittsburgh, PA, USA},
	pages = {15--16},
	numpages = {2},
	url = {http://scg.unibe.ch/archive/papers/Chis15b-GTInspector.pdf},
	doi = {10.1145/2814189.2814194},
	isbn = {978-1-4503-3722-9},
	acmid = {2814194},
	publisher = {ACM},
	address = {New York, NY, USA},
	keywords = {scg-pub scg15 jb16 snf-asa1, Andrei Chis, Tudor Girba, girba},
	peerreview = {yes},
	medium = {2}
}

@article{Chis15c,
	abstract = {Understanding the run-time behavior of software systems can be a challenging activity. Debuggers are an essential category of tools used for this purpose as they give developers direct access to the running systems. Nevertheless, traditional debuggers rely on generic mechanisms to introspect and interact with the running systems, while developers reason about and formulate domain-specific questions using concepts and abstractions from their application domains. This mismatch creates an abstraction gap between the debugging needs and the debugging support leading to an inefficient and error-prone debugging effort, as developers need to recover concrete domain concepts using generic mechanisms. To reduce this gap, and increase the efficiency of the debugging process, we propose a framework for developing domain-specific debuggers, called the Moldable Debugger, that enables debugging at the level of the application domain. The Moldable Debugger is adapted to a domain by creating and combining domain-specific debugging operations with domain-specific debugging views, and adapts itself to a domain by selecting, at run time, appropriate debugging operations and views. To ensure the proposed model has practical applicability (i.e., can be used in practice to build real debuggers), we discuss, from both a performance and usability point of view, three implementation strategies. We further motivate the need for domain-specific debugging, identify a set of key requirements and show how our approach improves debugging by adapting the debugger to several domains.},
	title = {Practical domain-specific debuggers using the {Moldable Debugger} framework},
	journal = {Computer Languages, Systems \& Structures},
	volume = {44, Part A},
	pages = {89--113},
	year = {2015},
	Annote = {internationaljournal},
	note = {Special issue on the 6th and 7th International Conference on Software Language Engineering ({SLE} 2013 and {SLE} 2014)},
	issn = {1477-8424},
	doi = {10.1016/j.cl.2015.08.005},
	url = {http://scg.unibe.ch/archive/papers/Chis15c-PracticalDomainSpecificDebuggers.pdf},
	peerReview = {yes},
	author = {Andrei Chi\c{s} and Marcus Denker and Tudor G\^irba and Oscar Nierstrasz},
	medium = {2},
	keywords = {scg-pub scg15 jb16 snf-asa1 Andrei Chis, Tudor Girba, Debugging, Customization, Domain-specific tools, User interfaces, Programming environments, Smalltalk, girba}
}

@inproceedings{Chis15d,
	Abstract = {Developers commonly ask detailed and domain-specific questions about the software systems they are developing and maintaining. Integrated development environments (IDEs) form an essential category of tools for developing software that should support software engineering decision making. Unfortunately, rigid and generic IDEs that focus on low-level programming tasks, that promote code rather than data, and that suppress customization, offer limited support for informed decision making during software development. We propose to improve decision making within IDEs by moving from generic to context-aware IDEs through moldable tools. In this paper, we promote the idea of moldable tools, illustrate it with concrete examples, and discuss future research directions.},
	Author = {Andrei Chi\c{s} and Tudor G\^{i}rba and Oscar Nierstrasz},
	booktitle = {Proceedings of the 6th Workshop on Evaluation and Usability of Programming Languages and Tools},
    series = {PLATEAU '15},
	doi = {10.1145/2846680.2846684},
	Keywords = {scg-pub scg15 jb16 snf-asa1, internationalworkshop, Andrei Chis,Tudor Girba, girba},
	location = {Pittsburgh, PA, USA},
	Peerreview = {yes},
	medium = {2},
	Title = {Towards moldable development tools},
	Url = {http://scg.unibe.ch/archive/papers/Chis15d_TowardsMoldableDevelopmentTools.pdf},
	Year = {2015},
	isbn = {978-1-4503-3907-0},
	pages = {25--26},
	acmid = {2846684},
	publisher = {ACM},
	address = {New York, NY, USA}
}

@inproceedings{Chis16a,
	Abstract = {Software systems involve many different kinds of domain-specific and interrelated software entities.
A common strategy employed by developers to deal with this reality is to perform exploratory investigations by means of searching.
Nevertheless, most integrated development environments (IDEs) support searching through generic and disconnected search tools.
This impedes search tasks over domain-specific entities as considerable effort is wasted by developers locating and linking data and concepts relevant to their application domains. To tackle this problem we propose Spotter, a moldable framework for supporting contextual-aware searching in IDEs by enabling developers to easily create custom searches for domain objects.  In this paper we motivate a set of requirements for Spotter and show, through usage scenarios, that Spotter improves program comprehension by reducing the effort required to find and search through concepts from a wide range of domains. Furthermore, we show that by taking code into account, Spotter can provide a single entry point for embedding search support within an IDE.},
	Author = {Andrei Chi\c{s} and Tudor G\^irba and Juraj Kubelka and Oscar Nierstrasz and Stefan Reichhart and Aliaksei Syrel},
	Booktitle = {Proceedings of the 2016 ACM International Symposium on New Ideas, New Paradigms, and Reflections on Programming and Software},
	Annote = {internationalconference},
	Series = {Onward! 2016},
	Title = {Moldable, context-aware searching with {Spotter}},
	Doi = {10.1145/2986012.2986023},
	pages = {128--144},
	Numpages = {17},
	Location = {Amsterdam, Netherlands},
	Year = {2016},
	Peerreview = {yes},
	Medium = {2},
	Publisher = {ACM},
	Keywords = {scg-pub scg16 jb17 snf-asa2 Andrei Chis, Spotter, Tudor Girba, girba},
	Url = {http://scg.unibe.ch/archive/papers/Chis16a-MoldableContextAwareSearchingWithSpotter.pdf},
	Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Chis16a-MoldableContextAwareSearchingWithSpotter.pdf},
	Address = {New York, NY, USA}}

@inproceedings{Chis16b,
	Abstract = {Developing and evolving software requires developers to continuously make decisions about how to steer the design and implementation of their applications. To make informed decisions developers commonly formulate detailed and domain-specific questions about their software systems and  use tools to explore available information and answer those questions. Development tools however focus on generic programming tasks while program comprehension and analysis tools typically are not tightly integrated with their development tools and environments. This  has a negative effect on program comprehension as it increases the effort and the time needed to obtain an answer. To improve program comprehension we propose that developers build software using development tools tailored to their specific application domains, as this can directly answer domain-specific questions. We introduce moldable development as an approach for developing software in which developers evolve development tools together with their applications.  In this paper we sketch the idea of moldable development and give examples to illustrate how it can be applied in practice. Through these examples we show that given a low cost for extending development tools, developers can create relevant and useful customizations to help them evolve their own applications.},
	Annote = {internationalworkshop},
	Author = {Andrei Chi\c{s} and Tudor G\^irba and Juraj Kubelka and Oscar Nierstrasz and Stefan Reichhart and Aliaksei Syrel},
	Booktitle = {Proceedings of the Programming Experience 2016 (PX/16) Workshop},
 	Series = {PX/16},
	Location={Rome, Italy},
	Title = {Exemplifying Moldable Development},
	Doi = {10.1145/2984380.2984385},
	Isbn = {978-1-4503-4776-1},
	Pages= {33--42},
	Numpages = {10},
	Year = {2016},
	Peerreview = {yes},
	Medium = {2},
        Acmid = {2984385},
	Publisher = {ACM},
	Address = {New York, NY, USA},
	Language={English},
	Url = {http://scg.unibe.ch/archive/papers/Chis16b-ExemplifyingMoldableDevelopment.pdf},
	Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Chis16b-ExemplifyingMoldableDevelopment.pdf},
	Bdsk-Url-2 = {http://dx.doi.org/10.1145/2984380.2984385},
	Keywords = {scg-pub, snf-asa2, scg16, jb16, internationalworkshop, Andrei Chis, Domain-specific tools, User interfaces, Programming environments, Program comprehension, Tudor Girba, girba}
}

@phdthesis{Chis16d,
        Title = {Moldable Tools},
        Author = {Andrei Chi\c{s}},
        Abstract = {Development tools are a prerequisite for crafting software. They offer the lenses through which developers perceive and reason about their software systems. Generic development tools, while having a wide range of applicability, ignore the contextual nature of software systems and do not allow developers to directly reason in terms of domain abstractions. Domain-specific development tools, tailored to particular application domains, can address this problem. While it has clear advantages, incorporating domain abstractions into development tools is a challenging activity. The wide range of domains and contextual tasks that development tools need to support leads to costly or ad hoc mechanisms to incorporate and discover domain abstractions. Inherently, this limits developers from taking advantage of domain-specific information during the development and maintenance of their systems. To overcome this problem, we propose to embed domain abstractions into development tools through the design of moldable tools that support the inexpensive creation of domain-specific extensions capturing domain abstractions, and that automatically select extensions based on the domain model and the developer's interaction with the domain model. This solution aims to reduce the cost of creating extensions. Towards this goal, it provides precise extension points together with internal DSLs for configuring common types of extensions. This solution facilitates automatic discovery by enabling extension creators to specify together with an extension an activation predicate that captures the context in which that extension is applicable. We validate the moldable tools approach by applying it, in the context of object-oriented applications, to improve three development activities, namely: reasoning about run-time objects, searching for domain-specific artifacts, and reasoning about run-time behavior. For each activity we identify limitations of current tools, show how redesigning those tools following the moldable tools approach addresses the identified limitations, and discuss the cost for creating domain-specific extensions. We demonstrate that moldable tools address an existing need by analyzing the increase in domain-specific extensions after we integrated the moldable tools solving the aforementioned tasks with an IDE.  We also show what kinds of custom environments developers can create by continuously adapting their development tools.},
        Keywords = {scg-phd, snf-asa2, scg16, jb17, Andrei Chis},
        School = {University of Bern},
        Type = {{PhD} thesis},
        Url = {http://scg.unibe.ch/archive/phd/chis-phd.pdf},
	Bdsk-Url-1 = {http://scg.unibe.ch/archive/phd/chis-phd.pdf},
	Bdsk-Url-2 = {http://www.lulu.com/shop/andrei-chi%C8%99/moldable-tools/paperback/product-22849029.html},
        Month = sep,
        Year = {2016}
}

@inproceedings{Chis16e,
	abstract={Reasoning about object-oriented applications requires developers to answer contextual questions about their domain objects. Tailored development tools can support developers in this activity by providing relevant domain-specific information. Nonetheless, a high effort for extending development tools to handle domain-specific objects, together with diverging mechanisms for creating, sharing and discovering extensions, discourage developers to adapt their tools. To address this, we propose to enable contextual behavior in development tools by allowing domain objects to decide how they are handled in development tools. We show that combining this idea with mechanisms for specifying extensions using  internal DSLs can significantly reduce the cost of tailoring development tools to specific domains.},
	author = {Andrei Chi\c{s} },
	title={Towards object-aware development tools},
	booktitle = {Companion Proceedings of the 2016 ACM SIGPLAN International Conference on Systems, Programming, Languages and Applications: Software for Humanity},
	series = {SPLASH Companion 2016},
	year = {2016},
	location = {Amsterdam, Netherlands},
	pages = {65-66},
	numpages = {2},
	url = {http://scg.unibe.ch/archive/papers/Chis16e-ObjectAwareDevelopmentTools.pdf},
	doi = {10.1145/2984043.2998546},
	publisher = {ACM},
	address = {New York, NY, USA},
	keywords = {scg-pub, snf-asa2, scg16, jb17, Andrei Chis},
	peerreview = {yes},
	medium = {2},
	Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Chis16e-ObjectAwareDevelopmentTools.pdf},
	Bdsk-Url-2 = {http://dx.doi.org/10.1145/2984043.2998546}
}

@incollection{Chis17a,
	Abstract = {Object-oriented programming aims to facilitate navigation between domain concepts and the code that addresses those domains by enabling developers to directly model those domain concepts in the code. To make informed decisions developers then  formulate detailed and domain-specific questions about their systems in terms of domain concepts, and use tools to explore available information and answer those questions. Development tools however focus mainly on object-oriented idioms and do not expose or exploit domain concepts constructed on top of object-oriented programming idioms. Analysis tools are typically not tightly integrated with development tools. This has a negative effect on program comprehension, increasing the effort and the time for obtaining answers. To improve program comprehension we propose to better integrate domain concepts and program comprehension tools into the development environment through moldable tools. Moldable tools are development tools that are aware of the current development context and support inexpensive creation of domain-specific extensions. We elaborate on the idea of moldable tools and show how to apply moldable tools to support object-oriented programming. Through practical examples we show how developers can embed domain concepts into their development tools.},
	Author = {Andrei Chi\c{s} and Tudor G\^irba and Juraj Kubelka and Oscar Nierstrasz and Stefan Reichhart and Aliaksei Syrel},
	Booktitle = {PAUSE: Present And Ulterior Software Engineering},
	Editor = {Manuel Mazzara, Bertrand Meyer},
	Title = {Moldable Tools for Object-oriented Development},
	Pages= {77--101},
	Publisher = {Springer, Cham},
	Doi = {10.1007/978-3-319-67425-4_6},
	Peerreview = {yes},
	Medium = {2},
	Keywords = {scg-pub snf-asa2 scg17 jb18, Andrei Chis, Tudor Girba, girba},
	Url = {http://scg.unibe.ch/archive/papers/Chis17a-MoldableToolsPAUSE.pdf},
	Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Chis16c-MoldableToolsPAUSE.pdf},
	Bdsk-Url-2 = {https://link.springer.com/chapter/10.1007/978-3-319-67425-4_6},
	Year = {2017}}

@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}}

@article{Choi06a,
  title={A survey on ontology mapping},
  author={Choi, Namyoun and Song, Il-Yeol and Han, Hyoil},
  journal={ACM Sigmod Record},
  volume={35},
  number={3},
  pages={34--41},
  year={2006},
  publisher={ACM New York, NY, USA}
}

@inproceedings{Choi09a,
	Acmid = {1656443},
	Address = {New York, NY, USA},
	Articleno = {4},
	Author = {Choi, Alan},
	Booktitle = {Proceedings of the 2nd International Workshop on Hot Topics in Software Upgrades},
	Doi = {10.1145/1656437.1656443},
	Isbn = {978-1-60558-723-3},
	Keywords = {application upgrade, availability, database, database application development},
	Location = {Orlando, Florida},
	Numpages = {5},
	Pages = {4:1--4:5},
	Publisher = {ACM},
	Series = {HotSWUp '09},
	Title = {Online application upgrade using edition-based redefinition},
	Year = {2009},
	Bdsk-Url-1 = {http://dx.doi.org/10.1145/1656437.1656443}}

@article{Chom56a,
	Author = {Chomsky, Noam},
	Journal = {IRE Transactions on Information Theory},
	Keywords = {context-free grammars},
	Language = {english},
	Note = {\url{http://www.chomsky.info/articles/195609--.pdf}},
	Pages = {113--124},
	Title = {{Three models for the description of language}},
	Volume = 2,
	Year = {1956}}

@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}}

@inproceedings{Chou11a,
  author = {Choudhury, A. N. M. Imroz and Rosen, Paul},
  booktitle = {VISSOFT},
  doi = {10.1109/VISSOF.2011.6069452},
  isbn = {978-1-4577-0822-0},
  pages = {1-8},
  publisher = {IEEE},
  title = {Abstract visualization of runtime memory behavior},
  year = {2011}
}

@inproceedings{Chou12a,
	title = {Topological analysis and visualization of cyclical behavior in memory reference traces},
	author = {Choudhury, ANM Imroz and Wang, Bei and Rosen, Paul and Pascucci, Valerio},
	booktitle = {Pacific Visualization Symposium (PacificVis), 2012 IEEE},
	pages = {9--16},
	year = {2012},
	organization = {IEEE}}

@phdthesis{Chou12b,
 author = {Choudhury, A.N.M. Imroz},
 advisor = {Rosen, Paul and Parker, Steven G.},
 title = {Visualizing Program Memory Behavior Using Memory Reference Traces},
 year = {2012},
 school = {University of Utah},
 isbn = {978-1-267-39756-0},
 note = {AAI3511676},
 publisher = {University of Utah},
 address = {Salt Lake City, UT, USA}
}

@article{Chri90a,
    author = {Henning Christiansen},
    title = {A survey of adaptable grammars},
    journal = {ACM SIGPLAN Notices},
    year = {1990},
    volume = {25},
    pages = {35--44}}

@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}}

@incollection{Chri09a,
year={2009},
isbn={978-3-642-02477-1},
booktitle={Bio-Inspired Systems: Computational and Ambient Intelligence},
volume={5517},
series={Lecture Notes in Computer Science},
editor={Cabestany, Joan and Sandoval, Francisco and Prieto, Alberto and Corchado, JuanM.},
doi={10.1007/978-3-642-02478-8_61},
title={Adaptable Grammars for Non-Context-Free Languages},
url={http://dx.doi.org/10.1007/978-3-642-02478-8_61},
publisher={Springer Berlin Heidelberg},
author={Christiansen, Henning},
pages={488-495},
language={English}
}

@inproceedings{Chri14a,
  title = {Prevalence and Maintenance of Automated Functional Tests for Web Applications},
  booktitle = {Proceedings of 30th International Conference on Software Maintenance and Evolution (ICSME '14)},
  year = {2014},
  author = {Laurent Christophe and Reinout Stevens and Coen De Roover and Wolfgang De Meuter}
}

@inproceedings{Chri16a,
 author = {Christakis, Maria and Bird, Christian},
 title = {What Developers Want and Need from Program Analysis: An Empirical Study},
 booktitle = {Proceedings of the 31st IEEE/ACM International Conference on Automated Software Engineering},
 series = {ASE 2016},
 year = {2016},
 isbn = {978-1-4503-3845-5},
 location = {Singapore, Singapore},
 pages = {332--343},
 numpages = {12},
 url = {http://doi.acm.org/10.1145/2970276.2970347},
 doi = {10.1145/2970276.2970347},
 acmid = {2970347},
 publisher = {ACM},
 address = {New York, NY, USA},
 keywords = {code defects, program analysis}
}

@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{Chu13a,
 author = {Chu, Xu and Ilyas, Ihab F. and Papotti, Paolo},
 title = {Discovering Denial Constraints},
 journal = {Proc. VLDB Endow.},
 issue_date = {August 2013},
 volume = {6},
 number = {13},
 month = aug,
 year = {2013},
 issn = {2150-8097},
 pages = {1498--1509},
 numpages = {12},
 url = {http://www.vldb.org/pvldb/vol6/p1498-papotti.pdf},
 doi = {10.14778/2536258.2536262},
 acmid = {2536262},
 publisher = {VLDB Endowment},
 keywords = {schema-inference, conditional functional dependencies}
}

@inproceedings{Chua97a,
author={Chuah, M.C. and Eick, S.G.},
booktitle={Program Comprehension, 1997. IWPC '97. Proceedings., Fifth Iternational Workshop on},
title={Glyphs for software visualization},
year={1997},
pages={183-191},
keywords={computer aided software engineering;data visualisation;engineering graphics;interactive systems;large-scale systems;reverse engineering;statistics;development progress monitoring;information visualization;interactive glyphs;large-scale systems;problem isolation;software error tracking;software project statistics;software visualization;team productivity;Computer errors;Computer science;Data visualization;Databases;Engineering management;Large-scale systems;Production;Productivity;Programming profession;Statistics},
doi={10.1109/WPC.1997.601291},
ISSN={1092-8138},
month=mar
}

@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}}

@inproceedings{Cioc96a,
 author = {Cioch, Frank A. and Palazzolo, Michael and Lohrer, Scott},
 title = {A Documentation Suite for Maintenance Programmers},
 booktitle = {Proceedings of the 1996 International Conference on Software Maintenance},
 series = {ICSM '96},
 year = {1996},
 isbn = {0-8186-7677-9},
 pages = {286--295},
 numpages = {10},
 url = {http://dl.acm.org/citation.cfm?id=645544.655870},
 acmid = {655870},
 publisher = {IEEE Computer Society},
 address = {Washington, DC, USA},
 keywords = {program comprehension, documentation, training, productivity, risk}
}

@book{Ciril09a,
	Author = {Cirillo, Francesco},
	Isbn = {978-1445219943},
	Publisher = {Lulu.com},
	Title = {The {Pomodoro} Technique},
	Year = {2009}}

@article{Cisa11a,
	title = {Effectiveness of Program Visualization in Learning {Java}: a Case Study with Jeliot 3.},
	author = {{\v{C}}isar, Sanja Maravi{\'c} and Pinter, Robert and Radosav, Dragica and {\v{C}}isar, Petar},
	journal = {International Journal of Computers, Communications \& Control},
	volume = {6},
	number = {4},
	year = {2011}}

@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 scg-none 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.},
	Doi = {10.1002/stvr.415},
	Issn = {1099-1689},
	Journal = {Software Testing, Verification and Reliability},
	Keywords = {random tests, object-oriented software, test selection strategies, empirical studies},
	Number = {1},
	Pages = {3--28},
	Publisher = {John Wiley & Sons, Ltd.},
	Title = {On the number and nature of faults found by random testing},
	Volume = {21},
	Year = {2011},
	Bdsk-Url-1 = {http://dx.doi.org/10.1002/stvr.415}}

@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}}

@inproceedings{Clae00a,
	author = {Claessen, Koen and Hughes, John},
 	title = {{QuickCheck}: A Lightweight Tool for Random Testing of {H}askell Programs},
 	booktitle = {Proceedings of the Fifth ACM SIGPLAN International Conference on Functional Programming},
 	series = {ICFP '00},
 	year = {2000},
 	isbn = {1-58113-202-6},
 	pages = {268--279},
 	numpages = {12},
 	url = {http://doi.acm.org/10.1145/351240.351266},
 	doi = {10.1145/351240.351266},
 	acmid = {351266},
 	publisher = {ACM},
 	address = {New York, NY, USA}
}

@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{Clan95a,
	title={The CHAOS Report},
	author={Clancy, Tom},
	journal={NA},
	year={1995}
}

@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}}

@article{Clar03a,
	Abstract = {This paper shows how techniques devised for aspect-oriented modelling (AOM) can be used
				for aspect-oriented metamodelling. Metamodelling is an approach to language definition, which
				has been adopted by industry for defining modelling languages, in particular the Unified
				Modelling Language (UML), and involves the construction of an object-oriented model of the
				abstract syntax and, optionally, the concrete notation and semantics of the target language.
				As the importance of models in software development grows, so does the importance of metamodels,
				not least to provide the basis of implementations of modelling tools. Specifically, there is a need
				for complete and accurate metamodels, which have a uniform architecture and which can be organized
				appropriately to support the definition of families of languages. The approach described in this paper
				uses AOM techniques to address this need. It is illustrated by extracts from the 2U submission to the
				UML 2.0 RFPs issued by the Object Management Group in 2001. The paper concludes with a discussion on the
				customization and generation of tools from such definitions.},
	Author = {Clark, Tony and Evans, Andy and Kent, Stuart},
	Doi = {10.1093/comjnl/46.5.566},
	Eprint = {http://comjnl.oxfordjournals.org/content/46/5/566.full.pdf+html},
	Journal = {The Computer Journal},
	Number = {5},
	Pages = {566-577},
	Title = {Aspect-oriented Metamodelling},
	Url = {http://comjnl.oxfordjournals.org/content/46/5/566.abstract},
	Volume = {46},
	Year = {2003},
	Bdsk-Url-1 = {http://comjnl.oxfordjournals.org/content/46/5/566.abstract},
	Bdsk-Url-2 = {http://dx.doi.org/10.1093/comjnl/46.5.566}}

@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},
	Keywords = {robotics},
	Note = {http://claraty.jpl.nasa.gov},
	Title = {{CLARATy}: robotic software framework},
	Url = {http://claraty.jpl.nasa.gov},
	Bdsk-Url-1 = {http://claraty.jpl.nasa.gov}}

@article{Clark02a,
	Acmid = {582447},
	Address = {New York, NY, USA},
	Annote = {Uses dynamic alias for iterators},
	Author = {Clarke, Dave and Drossopoulou, Sophia},
	Date-Added = {2012-04-27 16:46:21 +0200},
	Date-Modified = {2012-05-08 15:07:51 +0000},
	Doi = {10.1145/583854.582447},
	Issn = {0362-1340},
	Issue_Date = {November 2002},
	Journal = {SIGPLAN Not.},
	Keywords = {aliasing},
	Month = nov,
	Number = {11},
	Numpages = {19},
	Pages = {292--310},
	Publisher = {ACM},
	Rating = {5},
	Title = {Ownership, encapsulation and the disjointness of type and effect},
	Url = {http://doi.acm.org/10.1145/583854.582447},
	Volume = {37},
	Year = {2002},
	Bdsk-Url-1 = {http://doi.acm.org/10.1145/583854.582447},
	Bdsk-Url-2 = {http://dx.doi.org/10.1145/583854.582447}}

@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}}

@book{Clay08a,
 author = {Clayberg, Eric and Rubel, Dan},
 title = {Eclipse Plug-ins},
 year = {2008},
 isbn = {0321553462, 9780321553461},
 edition = {3},
 publisher = {Addison-Wesley Professional}
}

@article{Clea88a,
 	author = {Cleaveland, J. Craig},
 	title = {Building Application Generators},
 	journal = {IEEE Softw.},
 	issue_date = {July 1988},
 	volume = {5},
 	number = {4},
 	month = jul,
 	year = {1988},
 	issn = {0740-7459},
 	pages = {25--33},
 	numpages = {9},
 	url = {http://dx.doi.org/10.1109/52.17799},
 	doi = {10.1109/52.17799},
 	acmid = {624741},
 	publisher = {IEEE Computer Society Press}
}

@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,
	Address = {Joensuu, Finland},
	Author = {Cleary, B and Exton, Chris},
	Booktitle = {Proceedings of 19th Annual Psychology of Programming Workshop (PPIG 07)},
	Month = jul,
	Title = {Assisting Concept Location in Software Comprehension},
	Year = {2007}}

@article{Clea09a,
	 author = {Cleary, Brendan and Exton, Chris and Buckley, Jim and English, Michael},
	 title = {An Empirical Analysis of Information Retrieval Based Concept Location Techniques in Software Comprehension},
	 journal = {Empirical Softw. Engg.},
	 issue_date = {February  2009},
	 volume = {14},
	 number = {1},
	 month = feb,
	 year = {2009},
	 issn = {1382-3256},
	 pages = {93--130},
	 numpages = {38},
	 url = {http://dx.doi.org/10.1007/s10664-008-9095-3},
	 doi = {10.1007/s10664-008-9095-3},
	 acmid = {1487443},
	 publisher = {Kluwer Academic Publishers},
	 address = {Hingham, MA, USA},
	 keywords = {Empirical analysis, Information retrieval, Software comprehension}
	}

@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,
	Author = {Clements, Paul and Bachmann, Felix and Bass, Len and Garlan, David and Ivers, James and Little, Reed and Nord, Robert and Stafford, Judith},
	Keywords = {architecture damiencbib},
	Publisher = {Addison-Wesley Professional},
	Title = {Documenting Software Architectures: Views and Beyond},
	Year = {2002}}

@article{Clem09a,
	Acmid = {1592163},
	Address = {Los Alamitos, CA, USA},
	Author = {Clements, Paul and Shaw, Mary},
	Doi = {10.1109/MS.2009.83},
	Issn = {0740-7459},
	Journal = {IEEE Software},
	Keywords = {software architecture design development system organization adl damiencbib},
	Month = jul,
	Number = {4},
	Numpages = {3},
	Pages = {70--72},
	Publisher = {IEEE Computer Society Press},
	Title = {"The Golden Age of Software Architecture" Revisited},
	Volume = {26},
	Year = {2009},
	Bdsk-Url-1 = {http://dx.doi.org/10.1109/MS.2009.83}}

@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,
	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},
	Author = {Anthony Cleve and Jean Henrard and Jean-Luc Hainaut},
	Booktitle = {WCRE 06: Proceedings of the 13th Working Conference on Reverse Engineering},
	Doi = {10.1109/WCRE.2006.22},
	Issn = {1095-1350},
	Keywords = {reverse engineering enterprise},
	Month = oct,
	Pages = {157 -166},
	Title = {Data Reverse Engineering using System Dependency Graphs},
	Year = {2006},
	Bdsk-Url-1 = {http://dx.doi.org/10.1109/WCRE.2006.22}}

@inproceedings{Clev10a,
	Acmid = {1913334},
	Address = {Washington, DC, USA},
	Author = {Cleve, Anthony},
	Booktitle = {Proceedings of the 2010 IEEE International Conference on Software Maintenance},
	Doi = {10.1109/ICSM.2010.5609724},
	Isbn = {978-1-4244-8630-4},
	Numpages = {6},
	Pages = {1--6},
	Publisher = {IEEE Computer Society},
	Series = {ICSM '10},
	Title = {Program analysis and transformation for data-intensive system evolution},
	Year = {2010},
	Bdsk-Url-1 = {http://dx.doi.org/10.1109/ICSM.2010.5609724}}

@article{Clev10b,
	Address = {Los Alamitos, CA, USA},
	Author = {Anthony Cleve and Tom Mens and Jean-Luc Hainaut},
	Doi = {10.1109/MC.2010.227},
	Issn = {0018-9162},
	Journal = {Computer},
	Pages = {110-112},
	Publisher = {IEEE Computer Society},
	Title = {Data-Intensive System Evolution},
	Volume = {43},
	Year = {2010},
	Bdsk-Url-1 = {http://dx.doi.org/10.1109/MC.2010.227}}

@inproceedings{Clev10c,
	Abstract = {Data-intensive systems are subject to continuous evolution that translates everchanging business
				and technical requirements. System evolution usually constitutes a highly complex, expensive and
				risky process. This holds, in particular, when the evolution involves database schema changes, which
				in turn impact on data instances and application programs. This paper presents a comprehensive approach
				that supports the rapid development and the graceful evolution of data-intensive applications.
				The approach combines the automated derivation of a relational database from a conceptual schema, and
				the automated generation of a data manipulation API providing programs with a conceptual view of the
				relational database. The derivation of the database is achieved through a systematic transformation
				process, keeping track of the mapping between the successive versions of the schema. The generation
				of the conceptual API exploits the mapping between the conceptual and logical schemas. Database schema
				changes are propagated as conceptual API regeneration so that application programs are protected
				against changes that preserve the semantics of their view on the data. The paper describes the application
				of the approach to the development of an e-health system, built on a highly evolutive database.},
	Acmid = {1929771},
	Address = {Berlin, Heidelberg},
	Author = {Cleve, Anthony and Brogneaux, Anne-France and Hainaut, Jean-Luc},
	Booktitle = {Proceedings of the 29th international conference on Conceptual modeling},
	Isbn = {3-642-16372-6, 978-3-642-16372-2},
	Location = {Vancouver, BC, Canada},
	Numpages = {14},
	Pages = {132--145},
	Publisher = {Springer-Verlag},
	Series = {ER'10},
	Title = {A conceptual approach to database applications evolution},
	Url = {http://dl.acm.org/citation.cfm?id=1929757.1929771},
	Year = {2010},
	Bdsk-Url-1 = {http://dl.acm.org/citation.cfm?id=1929757.1929771}}

@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}}

@article{Clin94a,
author = {Jeffery, Clinton L. and Griswold, Ralph E.},
title = {A framework for execution monitoring in icon},
journal = {Software: Practice and Experience},
volume = {24},
number = {11},
pages = {1025-1049},
keywords = {Execution monitors, Programming languages, Interpreters, Coroutines, Program visualization, Program behavior},
doi = {10.1002/spe.4380241104},
url = {https://onlinelibrary.wiley.com/doi/abs/10.1002/spe.4380241104},
eprint = {https://onlinelibrary.wiley.com/doi/pdf/10.1002/spe.4380241104},
year = {1994}
}

@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}}

@incollection{Clin15a,
  title={Testing Thread},
  author={Cline, Alan},
  booktitle={Agile Development in the Real World},
  pages={221--252},
  year={2015},
  publisher={Springer}
}

@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}}

@incollection{Cloh97a,
  title={New Complexities in the Embedded World - the {OTI} Approach},
  author={Clohessy, Kim and Barry, Brian and Tanner, Peter},
  booktitle={Object-Oriented Technologys},
  pages={472--478},
  year={1997},
  publisher={Springer}}

@misc{ClosureCompiler,
	Author = {Anthony Hannan},
	Key = {ClosureCompiler},
	Month = jul,
	Note = {http://wiki.squeak.org/squeak/ClosureCompiler},
	Title = {Squeak {Closure} {Compiler}},
	Year = {2004}}

@article{Clou70a,
	Abstract = {The contamination of personality inventories and attitude scales by acquiescent response style is a continuing problem. Research with a recently-devised conservatism scale demonstrates empirically that the balanced keying of items is sufficient to prevent such contamination if item ambiguity is kept to a minimum. Such a scale also enables a statistical assessment of the degree to which unbalanced scales are biased by this response style.},
	Author = {Cloud, Jonathan and Vaughan, Graham M.},
	Issn = {00380431},
	Journal = {Sociometry},
	Language = {English},
	Number = {2},
	Pages = {pp. 193-202},
	Publisher = {American Sociological Association},
	Title = {Using Balanced Scales to Control Acquiescence},
	Url = {http://www.jstor.org/stable/2786329},
	Volume = {33},
	Year = {1970},
	Bdsk-Url-1 = {http://www.jstor.org/stable/2786329}}

@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}}

@inproceedings{Cobl06a,
	 author = {Coblenz, Michael J. and Ko, Andrew J. and Myers, Brad A.},
	 title = {JASPER: An Eclipse Plug-in to Facilitate Software Maintenance Tasks},
	 booktitle = {Proceedings of the 2006 OOPSLA Workshop on Eclipse Technology eXchange},
	 series = {eclipse '06},
	 year = {2006},
	 isbn = {1-59593-621-1},
	 location = {Portland, Oregon, USA},
	 pages = {65--69},
	 numpages = {5},
	 url = {http://doi.acm.org/10.1145/1188835.1188849},
	 doi = {10.1145/1188835.1188849},
	 acmid = {1188849},
	 publisher = {ACM},
	 address = {New York, NY, USA},
	 keywords = {Eclipse, concerns, natural programming, programmer efficiency, programming environments}
}

@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}}

@article{Cock01a,
  author={J. {Highsmith} and A. {Cockburn}},
    Journal={Computer},
    Title={Agile software development: the business of innovation},
    Year={2001},
    Volume={34},
    Number={9},
    Pages={120-127}}

@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,
	Acmid = {362685},
	Address = {New York, NY, USA},
	Author = {Codd, E. F.},
	Doi = {10.1145/362384.362685},
	Issn = {0001-0782},
	Journal = {Communications of the ACM},
	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},
	Month = jun,
	Pages = {377--387},
	Publisher = {ACM},
	Title = {A relational model of data for large shared data banks},
	Url = {http://doi.acm.org/10.1145/362384.362685},
	Volume = {13},
	Year = {1970},
	Bdsk-Url-1 = {http://doi.acm.org/10.1145/362384.362685},
	Bdsk-Url-2 = {http://dx.doi.org/10.1145/362384.362685}}

@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}}

@misc{CoffeeScript,
	Key = {CoffeeScript},
	Note = {http://coffeescript.org/\#language},
	Title = {{CoffeeScript Reference}}}

@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,
	Address = {Berlin, Heidelberg},
	Author = {Tal Cohen and Joseph Gil},
	Bibsource = {DBLP, http://dblp.uni-trier.de},
	Booktitle = {T. Aspect-Oriented Software Development II},
	Editor = {Awais Rashid and Mehmet Aksit},
	Isbn = {3-540-48890-1},
	Publisher = {Springer},
	Series = {Lecture Notes in Computer Science},
	Title = {Transactions on Aspect-Oriented Software Development II},
	Volume = {4242},
	Year = {2006}}

@book{Cohe06c,
  title={Best kept secrets of peer code review},
  author={Cohen, Jason and Brown, Eric and DuRette, Brandon and Teleki, Steven},
  year={2006},
  publisher={Smart Bear}
}

@inproceedings{Cohe09a,
	Acmid = {1596665},
	Address = {New York, NY, USA},
	Author = {Cohen, Tal and Gil, Joseph (Yossi)},
	Booktitle = {Proceedings of the 7th International Conference on Principles and Practice of Programming in {Java}},
	Doi = {10.1145/1596655.1596665},
	Isbn = {978-1-60558-598-7},
	Location = {Calgary, Alberta, Canada},
	Numpages = {10},
	Pages = {57--66},
	Publisher = {ACM},
	Series = {PPPJ '09},
	Title = {Three approaches to object evolution},
	Year = {2009},
	Bdsk-Url-1 = {http://dx.doi.org/10.1145/1596655.1596665}}

@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},
	Doi = {10.1145/38765.38822},
	Keywords = {olit-oopl obvlisp oopsla87 uni-refl},
	Month = dec,
	Pages = {156--167},
	Title = {Metaclasses are First Class: the {ObjVlisp} Model},
	Url = {http://stephane.ducasse.free.fr/Web/ArchivedLectures/p156-cointe.pdf},
	Volume = {22},
	Year = {1987},
	Bdsk-Url-1 = {http://stephane.ducasse.free.fr/Web/ArchivedLectures/p156-cointe.pdf},
	Bdsk-Url-2 = {http://dx.doi.org/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.},
	Edition = {second},
	Isbn = {978-1402072789},
	Keywords = {damiencbib avionics},
	Publisher = {Springer},
	Title = {Introduction to Avionics Systems},
	Year = {2003}}

@inproceedings{Coll03c,
  title={An XML-based lightweight C++ fact extractor},
  author={Collard, Michael L and Kagdi, Huzefa H and Maletic, Jonathan I},
  booktitle={Program Comprehension, 2003. 11th IEEE International Workshop on},
  pages={134--143},
  year={2003},
  organization={IEEE}
}

@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,
	Address = {Sydney, Australia},
	Author = {Collett, Toby H.J. and MacDonald, Bruce A. and Gerkey, Brian P.},
	Booktitle = {ACRA'05: Proceedings of the 7th Australasian Conference on Robotics and Automation},
	Keywords = {robotics damiencbib},
	Pages = {1--9},
	Publisher = {ARAA},
	Title = {Player 2.0: Toward a Practical Robot Programming Framework},
	Year = {2005}}

@misc{Comanche,
	Key = {Comanche},
	Keywords = {squeak web server},
	Note = {http://squeaklab.org/comanche},
	Title = {Comanche: a full featured web serving environment for {Smalltalk}}}

@article{Comb14a,
  title={Globalizing modeling languages},
  author={Combemale, Benoit and Deantoni, Julien and Baudry, Benoit and France, Robert B and J{\'e}z{\'e}quel, Jean-Marc and Gray, Jordan},
  journal={Computer},
  volume={47},
  number={6},
  pages={68--71},
  year={2014},
  doi={10.1109/MC.2014.147},
  url = {https://hal.inria.fr/hal-00994551/document},
  publisher={IEEE}
}

@article{Comb18a,
  author =	{Beno{\^i}t Combemale and Ralf L{\"a}mmel and Eric Van Wyk},
  title =	{{SLEBOK: The Software Language Engineering Body of Knowledge (Dagstuhl Seminar 17342)}},
  pages =	{45--54},
  journal =	{Dagstuhl Reports},
  ISSN =	{2192-5283},
  year =	{2018},
  volume =	{7},
  number =	{8},
  editor =	{Beno{\^i}t Combemale and Ralf L{\"a}mmel and Eric Van Wyk},
  publisher =	{Schloss Dagstuhl--Leibniz-Zentrum fuer Informatik},
  address =	{Dagstuhl, Germany},
  URL =		{http://drops.dagstuhl.de/opus/volltexte/2018/8429},
  URN =		{urn:nbn:de:0030-drops-84296},
  doi =		{10.4230/DagRep.7.8.45},
  annote =	{Keywords: body of knowledge, language design and implementation, metaprogramming, software languages}
}

@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}}

@inproceedings{Conn96a,
	Author = {Connell, Mark and Menzies, Tim},
	Booktitle = {International Conference TOOLS PACIFIC},
	Title = {Quality metrics: Test coverage analysis for Smalltalk},
	location = {Melbourne, Australia},
	Url = {http://menzies.us/pdf/96conel.pdf},
	Year = {1996},
  publisher={Monash Print Services}
}

@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}}

@inproceedings{Conr04a,
	Author = {Marc Conrad and Tim French and Carsten Maple1},
	Booktitle = {2nd Workshop on Object-Oriented Language Engineering for the {Post-Java} Era: Back to Dynamicity},
	Date-Added = {2012-07-11 14:51:07 +0000},
	Date-Modified = {2012-07-11 14:52:57 +0000},
	Keywords = {proxy; reclassification; context-oriented},
	Title = {Object Shadowing - a Key Concept for a Modern Programming Language},
	Year = {2004}}

@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}}

@article{Cons93a,
  title={Hy+ a Hygraph-based query and visualization system},
  author={Consens, Mariano and Mendelzon, Alberto},
  journal={ACM SIGMOD Record},
  volume={22},
  number={2},
  pages={511--516},
  year={1993},
  publisher={ACM New York, NY, USA},
  doi={10.1145/170035.171537},
  keywords = {hypergraphs, hy+, hygraphs, olit sigmod93}
}

@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}}

@book{Cons94a,
  title={Creating and filtering structural data visualizations using {Hygraph} patterns},
  author={Consens, Mariano P},
  year={1994},
  publisher={University of Toronto},
  url={ftp://ftp.cs.utoronto.ca/public_html/cs/ftp/public_html/dist/db/pub/consens/csri302/consens-phd-thesis.pdf},
  keywords = {hypergraphs, hygraphs}
}

@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,
	Acmid = {1529970},
	Address = {New York, NY, USA},
	Articleno = {4},
	Author = {Costanza, Pascal},
	Booktitle = {Celebrating the 50th Anniversary of Lisp},
	Doi = {10.1145/1529966.1529970},
	Isbn = {978-1-60558-383-9},
	Keywords = {behavioral variations, context-oriented programming, dynamic scoping, layer activation},
	Location = {Nashville, Tennessee},
	Numpages = {5},
	Pages = {4:1--4:5},
	Publisher = {ACM},
	Series = {LISP50},
	Title = {Context-oriented programming in ContextL: state of the art},
	Url = {http://doi.acm.org/10.1145/1529966.1529970},
	Year = {2008},
	Bdsk-Url-1 = {http://doi.acm.org/10.1145/1529966.1529970},
	Bdsk-Url-2 = {http://dx.doi.org/10.1145/1529966.1529970}}

@inproceedings{Cont06a,
  title={Techniques for real-system characterization of {Java} virtual machine energy and power behavior},
  author={Contreras, Gilberto and Martonosi, Margaret},
  booktitle={Workload Characterization, 2006 IEEE International Symposium on},
  pages={29--38},
  year={2006},
  organization={IEEE}
}

@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{Cook06a,
	Acmid = {1115567},
	Address = {New York, NY, USA},
	Author = {Cook, Stephen and Harrison, Rachel and Lehman, Meir M. and Wernick, Paul},
	Doi = {10.1002/smr.v18:1},
	Issn = {1532-060X},
	Issue_Date = {January 2006},
	Journal = {J. Softw. Maint. Evol.},
	Keywords = {evolution, hermeneutics, information system architecture, paradigm, philosophy of science, replicator, scientific knowledge, software evolution, software system},
	Month = jan,
	Number = {1},
	Numpages = {35},
	Pages = {1--35},
	Publisher = {John Wiley \& Sons, Inc.},
	Title = {Evolution in software systems: foundations of the SPE classification scheme: Research Articles},
	Url = {http://dx.doi.org/10.1002/smr.v18:1},
	Volume = {18},
	Year = {2006},
	Bdsk-Url-1 = {http://dx.doi.org/10.1002/smr.v18:1}}

@inproceedings{Cook07a,
	Acmid = {1238845},
	Address = {New York, NY, USA},
	Author = {Cook, William R.},
	Booktitle = {Proceedings of the third ACM SIGPLAN conference on History of programming languages},
	Doi = {10.1145/1238844.1238845},
	Isbn = {978-1-59593-766-7},
	Keywords = {AppleScript, history, scripting},
	Location = {San Diego, California},
	Pages = {1-1--1-21},
	Publisher = {ACM},
	Series = {HOPL III},
	Title = {AppleScript},
	Url = {http://doi.acm.org/10.1145/1238844.1238845},
	Year = {2007},
	Bdsk-Url-1 = {http://doi.acm.org/10.1145/1238844.1238845},
	Bdsk-Url-2 = {http://dx.doi.org/10.1145/1238844.1238845}}

@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{Coop07a,
	title={About face 3: the essentials of interaction design},
	author={Cooper, Alan and Reimann, Robert and Cronin, David},
	year={2007},
	publisher={John Wiley \& Sons}
}

@inproceedings{Coop10a,
 author = {Cooper, Brian F. and Silberstein, Adam and Tam, Erwin and Ramakrishnan, Raghu and Sears, Russell},
 title = {Benchmarking Cloud Serving Systems with YCSB},
 booktitle = {Proceedings of the 1st ACM Symposium on Cloud Computing},
 series = {SoCC '10},
 year = {2010},
 isbn = {978-1-4503-0036-0},
 location = {Indianapolis, Indiana, USA},
 pages = {143--154},
 numpages = {12},
 url = {http://doi.acm.org/10.1145/1807128.1807152},
 doi = {10.1145/1807128.1807152},
 acmid = {1807152},
 publisher = {ACM},
 address = {New York, NY, USA},
 keywords = {benchmarking, cloud serving database}
}

@misc{Cope05a,
  title={PMD applied},
  author={Copeland, Tom},
  year={2005},
  publisher={Centennial Books San Francisco}
}

@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,
	Address = {Kansas City, Missouri, United States},
	Author = {Coppick, J. Chris and Cheatham, Thomas J.},
	Booktitle = {CSC'92: Proceedings of the 20th Conference on Computer Science},
	Doi = {10.1145/131214.131254},
	Isbn = {0-89791-472-4},
	Keywords = {damiencbib cyclomatic complexity},
	Pages = {317--322},
	Publisher = {ACM},
	Title = {Software metrics for object-oriented systems},
	Year = {1992},
	Bdsk-Url-1 = {http://dx.doi.org/10.1145/131214.131254}}

@article{Cora18a,
  title={Coherence of comments and method implementations: a dataset and an empirical investigation},
  author={Corazza, Anna and Maggio, Valerio and Scanniello, Giuseppe},
  journal={Software Quality Journal},
  volume={26},
  number={2},
  pages={751--777},
  year={2018},
  keywords =  {comment-quality-slr},
  publisher={Springer}
}

@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{Corb00a,
  title={Bandera: Extracting finite-state models from {Java} source code},
  author={Corbett, James C and Dwyer, Matthew B and Hatcliff, John and Laubach, Shawn and Pasareanu, Corina S and Zheng, Hongjun and others},
  booktitle={Software Engineering, 2000. Proceedings of the 2000 International Conference on},
  pages={439--448},
  year={2000},
  organization={IEEE}
}

@inproceedings{Corb07a,
  title={Smart formatter: Learning coding style from existing source code},
  author={Corbo, Filippo and Del Grosso, Concettina and Di Penta, Massimiliano},
  booktitle={2007 IEEE International Conference on Software Maintenance},
  pages={525--526},
  year={2007},
  organization={IEEE}
}

@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{Cord06a,
	Author = {James R. Cordy},
	Bibsource = {DBLP, http://dblp.uni-trier.de},
	Doi = {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{Cord06b,
	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}}

@article{Cork91a,
author  = {Corkill, Daniel D.},
journal = {Ai Expert},
number  = {9},
pages   = {40--47},
title   = {Blackboard Systems},
volume  = {6},
year    = {1991}
}

@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},
	Keywords = {sde-visualization},
	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{Corn08a,
	Acmid = {1454981},
	Address = {New York, NY, USA},
	Author = {Cornelissen, Bas and Zaidman, Andy and Holten, Danny and Moonen, Leon and van Deursen, Arie and van Wijk, Jarke J.},
	Doi = {10.1016/j.jss.2008.02.068},
	Issn = {0164-1212},
	Issue = {12},
	Journal = {J. Syst. Softw.},
	Keywords = {Dynamic analysis, Execution traces, Program comprehension, Visualization},
	Month = dec,
	Numpages = {17},
	Pages = {2252--2268},
	Publisher = {Elsevier Science Inc.},
	Title = {Execution trace analysis through massive sequence and circular bundle views},
	Url = {http://dl.acm.org/citation.cfm?id=1454787.1454981},
	Volume = {81},
	Year = {2008},
	Bdsk-Url-1 = {http://dl.acm.org/citation.cfm?id=1454787.1454981},
	Bdsk-Url-2 = {http://dx.doi.org/10.1016/j.jss.2008.02.068}}

@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,
	Address = {Ayia Napa, Cyprus},
	Author = {Cornea, Bogdan and Bourgeois, Julien},
	Booktitle = {PDP'11, 19-th Int. Euromicro Conf. on Parallel, Distributed and Network-Based Processing},
	Month = feb,
	Publisher = {IEEE Computer Society Press},
	Title = {Performance Prediction of Distributed Applications Using Block Benchmarking Methods},
	Year = {2011}}

@article{Corn11b,
	title = {A controlled experiment for program comprehension through trace visualization},
	author = {Cornelissen, Bas and Zaidman, Andy and van Deursen, Arie},
	journal = {Software Engineering, IEEE Transactions on},
	volume = {37},
	number = {3},
	pages = {341--355},
	year = {2011},
	publisher = {IEEE}}

@inproceedings{Corr16a,
	author = {Claudio Corrodi and Alexander Heu{\ss}ner and Christopher M. Poskitt},
	title = {A Graph-Based Semantics Workbench for Concurrent Asynchronous Programs},
	abstract = {A number of novel programming languages and libraries have been proposed that offer simpler-to-use models of concurrency than threads. It is challenging, however, to devise execution models that successfully realise their abstractions without forfeiting performance or introducing unintended behaviours. This is exemplified by SCOOP---a concurrent object-oriented message-passing language---which has seen multiple semantics proposed and implemented over its evolution. We propose a "semantics workbench" with fully and semi-automatic tools for SCOOP, that can be used to analyse and compare programs with respect to different execution models. We demonstrate its use in checking the consistency of semantics by applying it to a set of representative programs, and highlighting a deadlock-related discrepancy between the principal execution models of the language. Our workbench is based on a modular and parameterisable graph transformation semantics implemented in the GROOVE tool. We discuss how graph transformations are leveraged to atomically model intricate language abstractions, and how the visual yet algebraic nature of the model can be used to ascertain soundness.},
	PeerReview = {yes},
	medium = {2},
	booktitle = {Proc. International Conference on Fundamental Approaches to Software Engineering (FASE 2016)},
	volume = {9633},
	series ={LNCS},
	pages ={31--48},
	publisher={Springer Berlin Heidelberg},
	year ={2016},
	isbn={978-3-662-49665-7},
	doi = {10.1007/978-3-662-49665-7_3},
	Keywords = {scg-pub snf-none scg16 jb16},
	url = {http://arxiv.org/abs/1603.00307},
	Address = {Berlin, Heidelberg},
	Annote = {internationalconference}
}

@inproceedings{Corr16b,
	Annote = {internationalworkshop},
	Author = {Claudio Corrodi},
	Abstract = {Debuggers are central tools in IDEs for inspecting and repairing software systems. However, they are often generic tools that operate on a low level of abstraction. Developers need to use simple breakpoint capabilities and interpret the raw data presented by the debugger. They are confronted with a large abstraction gap between application domain and debugger presentations. We propose an approach for debugging object-oriented programs, using expressive and flexible breakpoints that operate on sets of objects instead of a particular line of source code. This allows developers to adapt the debugger to their domain and work on a higher level of abstraction, which enables them to be more productive. We give an overview of the approach and demonstrate the idea with a simple use case, and we discuss how our approach differs from existing work.},
	title = {Towards Efficient Object-Centric Debugging with Declarative Breakpoints},
	location = {Bergen, Norway},
	numpages = {8},
	PeerReview = {yes},
	Medium = {2},
	Keywords = {scg-pub snf-asa2 scg16 jb16 skip-doi},
	publisher = {{CEUR}},
	booktitle = {Post-proceedings of the 9th Seminar on Advanced Techniques and Tools for Software Evolution (SATToSE 2016)},
	Volume = {1791},
	year = {2016},
	month = jul,
	Pdf = {http://ceur-ws.org/Vol-1791/paper-04.pdf},
	Url = {http://scg.unibe.ch/archive/papers/Corr16b-DeclarativeBreakpoints.pdf}
}

@inproceedings{Corr18a,
	author    = {Claudio Corrodi and Timo Spring and Mohammad Ghafari and Oscar Nierstrasz},
	title = {Idea: Benchmarking {Android} Data Leak Detection Tools},
	editor = {Mathias Payer and Awais Rashid and Jose M. Such},
	booktitle = {Engineering Secure Software and Systems},
	year = {2018},
	publisher = {Springer International Publishing},
	address = {Cham},
	pages = {116--123},
	abstract = {Virtual application stores for mobile platforms contain many malign and benign applications that exhibit security issues, such as the leaking of sensitive data. In recent years, researchers have proposed a myriad of techniques and tools to detect such issues automatically. However, it is unclear how these approaches perform compared to each other. The tools are often no longer available, thus comparing different approaches is almost infeasible.},
	isbn = {978-3-319-94496-8},
	DOI = {10.1007/978-3-319-94496-8_9},
	Keywords = {scg-pub security snf-asa2 scg18 jb18},
	Peerreview = {yes},
    Annote    = {internationalconference},
	Url = {http://scg.unibe.ch/archive/papers/Corr18a.pdf},
	medium = {2}
}

@article{Cort95,
year={1995},
issn={0885-6125},
journal={Machine Learning},
volume={20},
number={3},
doi={10.1007/BF00994018},
title={Support-vector networks},
url={http://dx.doi.org/10.1007/BF00994018},
publisher={Kluwer Academic Publishers},
keywords={pattern recognition; efficient learning algorithms; neural networks; radial basis function classifiers; polynomial classifiers},
author={Cortes, Corinna and Vapnik, Vladimir},
pages={273-297}
}

@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{Cosm08a,
	Address = {Los Alamitos, CA, USA},
	Author = {Dan C. Cosma and Radu Marinescu},
	Doi = {10.1109/CSMR.2008.4493305},
	Isbn = {978-1-4244-2157-2},
	Journal = {Software Maintenance and Reengineering, European Conference on},
	Pages = {103-112},
	Publisher = {IEEE Computer Society},
	Title = {Understanding the Impact of Distribution in Object-Oriented Distributed Systems Using Structural Program Dependencies},
	Volume = {0},
	Year = {2008},
	Bdsk-Url-1 = {http://dx.doi.org/10.1109/CSMR.2008.4493305}}

@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{Cost01a,
	Author = {Costanza, P. and Stiemerling, O. and Cremers, A.B.},
	Booktitle = {Technology of Object-Oriented Languages and Systems, 2001. TOOLS 38. Proceedings},
	Date-Added = {2013-02-27 09:26:32 +0000},
	Date-Modified = {2013-02-27 09:32:38 +0000},
	Doi = {10.1109/TOOLS.2001.911755},
	Issn = {1530-2067},
	Keywords = {prox; object-oriented; aliasing; dsu},
	Pages = {51 -65},
	Rating = {3},
	Title = {Object identity and dynamic recomposition of components},
	Year = {2001},
	Bdsk-Url-1 = {http://dx.doi.org/10.1109/TOOLS.2001.911755}}

@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,
	Pages = {84--103},
	Publisher = {Springer},
	Series = {LNCS},
	Title = {Efficient Layer Activation for Switching Context-dependent Behavior},
	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}}

@article{Cost06b,
	title = {Constructing meta-CASE workbenches by exploiting visual language generators},
	author = {Costagliola, Gennaro and Deufemia, Vincenzo and Ferrucci, Filomena and Gravino, Carmine},
	journal = {Software Engineering, IEEE Transactions on},
	volume = {32},
	number = {3},
	pages = {156--175},
	year = {2006},
	publisher = {IEEE}}

@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}}

@inproceedings{Cost08c,
	Author = {Pascal Costanza and Theo D'Hondt},
	Booktitle = {SPLC (2)},
	Date-Added = {2009-09-15 10:03:46 +0200},
	Date-Modified = {2013-05-01 08:35:37 +0000},
	Keywords = {feature-oriented; context-oriented; context-l},
	Pages = {9-14},
	Title = {Feature Descriptions for Context-oriented Programming},
	Year = {2008}}

@inproceedings{Costa08b,
	Acmid = {1529970},
	Address = {New York, NY, USA},
	Articleno = {4},
	Author = {Costanza, Pascal},
	Booktitle = {Celebrating the 50th Anniversary of Lisp},
	Doi = {10.1145/1529966.1529970},
	Isbn = {978-1-60558-383-9},
	Keywords = {behavioral variations, context-oriented programming, dynamic scoping, layer activation},
	Location = {Nashville, Tennessee},
	Numpages = {5},
	Pages = {4:1--4:5},
	Publisher = {ACM},
	Series = {LISP50},
	Title = {Context-oriented programming in ContextL: state of the art},
	Url = {doi.acm.org/10.1145/1529966.1529970},
	Year = {2008},
	Bdsk-Url-1 = {doi.acm.org/10.1145/1529966.1529970},
	Bdsk-Url-2 = {http://dx.doi.org/10.1145/1529966.1529970}}

@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}}

@inproceedings{Cout12a,
author={Couto, C. and Silva, C. and Valente, M.T. and Bigonha, R. and Anquetil, N.},
booktitle={Software Maintenance and Reengineering (CSMR), 2012 16th European Conference on},
title={Uncovering Causal Relationships between Software Metrics and Bugs},
year={2012},
month=mar,
pages={223-232},
keywords={causality;program debugging;regression analysis;software metrics;software performance evaluation;statistical testing;Granger causality test;bug prediction evaluation;causal relationships;software bugs;software engineering research;software metrics;spurious relations;standard regression models;Computer bugs;Mathematical model;Reliability;Software;Software metrics;Time series analysis;Bug Prediction;Causality;Granger Test;Software Metrics},
doi={10.1109/CSMR.2012.31},
ISSN={1534-5351}
}

@article{Cout14a,
  title={Predicting software defects with causality tests},
  author={Couto, Cesar and Pires, Pedro and Valente, Marco Tulio and Bigonha, Roberto S and Anquetil, Nicolas},
  journal={Journal of Systems and Software},
  volume={93},
  pages={24--41},
  year={2014},
  publisher={Elsevier}
}

@techreport{Covi88a,
  title={From English to Prolog via discourse representation theory ACMC research report 01-0024},
  author={Covington, Michael A and Nute, Donald and Schmitz, Nora and Goodman, David},
  year={1988},
  Institution={University of Georgia}
}

@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}}

@misc{Cox07a,
	Author = {Cox, R.},
	Note = {\url{http://swtch.com/~rsc/regexp/regexp1.html}},
	Title = {Regular Expression Matching Can Be Simple And Fast (but is slow in {Java}, {Perl}, {PHP}, {Python}, {Ruby}, ...)},
	url = {http://swtch.com/~rsc/regexp/regexp1.html},
	Year = {2007}}

@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}}

@misc{Cox09a,
	Author = {Cox, R.},
	Note = {\url{http://swtch.com/~rsc/regexp/regexp2.html}},
	url = {http://swtch.com/~rsc/regexp/regexp2.html},
	Title = {Regular Expression Matching: the Virtual Machine Approach},
	Year = {2009}}

@misc{Cox10a,
	Author = {Cox, R.},
	Note = {\url{http://swtch.com/~rsc/regexp/regexp3.html}},
	url = {http://swtch.com/~rsc/regexp/regexp3.html},
	Title = {Regular Expression Matching in the Wild},
	Year = {2010}}

@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{Craw95,
	Acmid = {232552},
	Address = {Tarrytown, NY, USA},
	Author = {Crawford, Richard H. and Olsson, Ronald A. and Ho, W. Wilson and Wee, Christopher E.},
	Doi = {10.1016/0096-0551(94)00015-I},
	Issn = {0096-0551},
	Issue_Date = {April 1995},
	Journal = {Comput. Lang.},
	Keywords = {breakpoints, code interference, data watch points, debugging languages, debugging primitives, single-stepping},
	Month = apr,
	Number = {1},
	Numpages = {21},
	Pages = {17--37},
	Publisher = {Pergamon Press, Inc.},
	Title = {Semantic issues in the design of languages for debugging},
	Url = {http://dx.doi.org/10.1016/0096-0551(94)00015-I},
	Volume = {21},
	Year = {1995},
	Bdsk-Url-1 = {http://dx.doi.org/10.1016/0096-0551(94)00015-I}}

@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}}

@book{Cres06a,
	Author = {Creswell, John W. and Vicki},
	Day = {18},
	Edition = {1},
	Howpublished = {Paperback},
	Isbn = {9781412927925},
	Keywords = {mixed-methods},
	Month = aug,
	Posted-At = {2007-12-16 14:03:35},
	Priority = {2},
	Publisher = {Sage Publications, Inc},
	Title = {{Designing and Conducting Mixed Methods Research}},
	Url = {http://www.worldcat.org/isbn/1412927927},
	Year = {2006},
	Bdsk-Url-1 = {http://www.worldcat.org/isbn/1412927927}}

@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 scg-none 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}}

@inproceedings{Cros04a,
	title = {{jGRASP}: an integrated development environment with visualizations for teaching {Java} in {CS1}, {CS2}, and beyond},
	author = {Cross, James H and Hendrix, Dean and Umphress, David A},
	booktitle = {Frontiers in Education, 2004. FIE 2004. 34th Annual},
	pages = {1466--1467},
	year = {2004},
	organization = {IEEE}
}

@article{Cros08a,
	Abstract = {{jGRASP} is an integrated development environment that provides automatic generation of visualizations to improve the comprehensibility of software. These visualizations, which are particularly well suited for {CS1} and {CS2} using Java, include Control Structure Diagrams, {UML} Class Diagrams, and dynamic Object Views for data structures such as stacks, queues, linked lists, and binary trees. The workshop will provide an in-depth introduction to {jGRASP} and show how to use the visualizations to improve the learning experience. Participants are encouraged to bring programs from their own courses and experiment with the visualizations for these during the workshop. {jGRASP} is freely available (http://www.jgrasp.org/).},
	Address = {USA},
	Author = {Cross, James H. and Hendrix, T. Dean},
	Issn = {1937-4771},
	Journal = {J. Comput. Sci. Coll.},
	Month = jan,
	Number = {3},
	Pages = {169--171},
	Priority = {2},
	Publisher = {Consortium for Computing Sciences in Colleges},
	Title = {{jGRASP}: an integrated development environment with visualizations for teaching Java in {CS1}, {CS2}, and beyond},
	Volume = {23},
	Year = {2008}}

@article{Cros09,
	Acmid = {1538240},
	Address = {New York, NY, USA},
	Articleno = {13},
	Author = {Cross,II, James H. and Hendrix, T. Dean and Umphress, David A. and Barowski, Larry A. and Jain, Jhilmil and Montgomery, Lacey N.},
	Doi = {10.1145/1538234.1538240},
	Issn = {1946-6226},
	Issue_Date = {June 2009},
	Journal = {Trans. Comput. Educ.},
	Keywords = {Program visualization, algorithm animation, data structures},
	Month = jun,
	Number = {2},
	Numpages = {32},
	Pages = {13:1--13:32},
	Publisher = {ACM},
	Title = {Robust Generation of Dynamic Data Structure Visualizations with Multiple Interaction Approaches},
	Url = {http://doi.acm.org/10.1145/1538234.1538240},
	Volume = {9},
	Year = {2009},
	Bdsk-Url-1 = {http://doi.acm.org/10.1145/1538234.1538240},
	Bdsk-Url-2 = {http://dx.doi.org/10.1145/1538234.1538240}}

@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 scg-none 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 scg-none 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 scg-none 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 scg-none 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 scg-none 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 scg-none 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 = {skip-doi scg-phd scg-none 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}}

@inproceedings{Cuad06a,
 author = {Cuadrado, Jes\'{u}s S\'{a}nchez and Molina, Jes\'{u}s Garc\'{\i}a and Tortosa, Marcos Menarguez},
 title = {{RubyTL}: A Practical, Extensible Transformation Language},
 booktitle = {Proceedings of the Second European Conference on Model Driven Architecture: Foundations and Applications},
 series = {ECMDA-FA'06},
 year = {2006},
 isbn = {3-540-35909-5, 978-3-540-35909-8},
 location = {Bilbao, Spain},
 pages = {158--172},
 numpages = {15},
 url = {http://dx.doi.org/10.1007/11787044_13},
 doi = {10.1007/11787044_13},
 acmid = {2164473},
 publisher = {Springer-Verlag},
 address = {Berlin, Heidelberg}
}

@article{Cuad09a,
	Author = {Jes\'us S\'anchez Cuadrado and Jes\'us Garc\'ia Molina},
	Doi = {10.1109/TSE.2009.14},
	Journal = {{IEEE} Transactions on Software Engineering},
	Keywords = {damiencbib},
	Number = {1},
	Title = {A Model-Based Approach to Families of Embedded Domain Specific Languages},
	Volume = {99},
	Year = {2009},
	Bdsk-Url-1 = {http://dx.doi.org/10.1109/TSE.2009.14}}

@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}}

@article{Cubr05a,
author={Cubranic, D. and Murphy, G.C. and Singer, J. and Booth, K.S.},
journal={Software Engineering, IEEE Transactions on},
title={Hipikat: a project memory for software development},
year={2005},
volume={31},
number={6},
pages={446-465},
doi={10.1109/TSE.2005.71},
ISSN={0098-5589},
month=jun}

@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}}

@article{Culk67a,
	Author= {John M. Culkin},
	Journal={The Saturday Review},
	Title= {A Schoolman's Guide to Marshall McLuhan},
	Year= {1967},
	Month= mar,
	Url= {http://www.unz.org/Pub/SaturdayRev-1967mar18-00051}
}

@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{Curi13a,
  author    = {Arturo Curiel and
               Christophe Collet},
  title     = {Sign Language Lexical Recognition With Propositional Dynamic Logic},
  booktitle = {Proceedings of the 51st Annual Meeting of the Association for Computational
               Linguistics, {ACL} 2013, 4-9 August 2013, Sofia, Bulgaria, Volume
               2: Short Papers},
  pages     = {328--333},
  publisher = {The Association for Computer Linguistics},
  year      = {2013},
  url       = {https://www.aclweb.org/anthology/P13-2059/},
  timestamp = {Mon, 19 Aug 2019 18:09:28 +0200},
  biburl    = {https://dblp.org/rec/conf/acl/CurielC13.bib},
  bibsource = {dblp computer science bibliography, https://dblp.org}
}

@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}}

@techreport{Curt18a,
	Title = {Issue Report Assessment --- Assessment of Issue Report Quality and Class through Natural Language Processing},
	Author = {Simon Curty},
	Abstract = {Issue reports are a crucial aspect of software development. They
		enable collaboration and communication of faults and task.
		However, issue reports are only helpful if they provide meaningful
		information, which is often not the case. Such low-quality issue
		reports induce a multitude of problems: Developers lose time
		figuring out the issue. Both time needed to complete the issue and
		its priority are harder to estimate. Assigning issues to the right
		developer is more difficult. To alleviate these negative impacts,
		commonly a triager is taking the responsibility to assess issue
		reports. However, this process is time consuming and cannot fill
		in missing information. Since issue reports provide insight into a
		projects changes and faults over time, they are an often used data
		source for bug prediction, that is the inference of knowledge
		about past and future bugs. But the quality of such predictions
		depends on the quality of the source data. We address two factors
		strongly affecting the quality of issue reports: (1) issue reports
		have an assigned type. When the assigned type does not reflect the
		true nature of the report, it is said to be misclassified. An
		issue report classified as bug may in reality be a feature
		request. This Misclassification introduces bias in bug prediction
		and makes it harder to assign an issue to the right developer. (2)
		Bug reports are commonly written by hand and the reporter does not
		always include important information. The quality of the content
		of a bug report impacts the time a developer needs to spend
		identifying the actual issue. To tackle the misclassification
		problem, we propose an approach to categorize issue reports. Our
		classifier achieves an accuracy of 82.9\% when classifying issue
		reports into bugs and non-bugs. For multiclass classification of
		issue reports by type, our model achieves an accuracy of 74.4%.
		Thus, our model can reliably validate datasets used for bug
		prediction and distinguish between issue types. To address the
		second problem, we propose an approach to estimate the quality of
		bug reports and assign them a score. This Quality Estimator is
		capable of giving improvement suggestions, potentially helping
		reporters to write more helpful bug reports. To showcase real
		world applications of our models we integrated both the classifier
		model and the Quality Estimator into a tool for issue report
		assessment. The tool is implemented as browser extension and
		allows the user to get feedback about the type of an issue report
		with one click. The tool is also capable of providing suggestions
		on how to improve a bug report based on the information already
		provided.},
	Institution = {University of Bern},
	Keywords = {scg-bp snf-asa2 scg18 jb18},
	Type = {Bachelor's thesis},
	Url = {http://scg.unibe.ch/archive/projects/Curt18a.pdf},
	Month = feb,
	Year = {2018}
}

@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,
	Address = {Iquique, Chile},
	Author = {Van Cutsem, Tom and Mostinckx, Stijn and Boix, Elisa Gonzalez and Dedecker, Jessie and De Meuter, Wolfgang},
	Booktitle = {SCCC'07: Proceedings of the 26th International Conference of the Chilean Computer Science Society},
	Doi = {10.1109/SCCC.2007.12},
	Issn = {1522-4902},
	Keywords = {damiencbib},
	Month = nov,
	Pages = {3--12},
	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}}

@inproceedings{Cuts10a,
	Acmid = {1869638},
	Address = {New York, NY, USA},
	Author = {Van Cutsem, Tom and Miller, Mark S.},
	Booktitle = {Proceedings of the 6th symposium on Dynamic languages},
	Doi = {10.1145/1869631.1869638},
	Isbn = {978-1-4503-0405-4},
	Keywords = {JavaScript, intercession, proxies, reflection},
	Location = {Reno/Tahoe, Nevada, USA},
	Numpages = {14},
	Pages = {59--72},
	Publisher = {ACM},
	Series = {DLS '10},
	Title = {Proxies: design principles for robust object-oriented intercession APIs},
	Url = {http://doi.acm.org/10.1145/1869631.1869638},
	Year = {2010},
	Bdsk-Url-1 = {http://doi.acm.org/10.1145/1869631.1869638},
	Bdsk-Url-2 = {http://dx.doi.org/10.1145/1869631.1869638}}

@techreport{Cuts12a,
	Annote = {Compact list of influencial references, really good},
	Author = {Van Cutsem, Tom and Mark S. Miller},
	Date-Added = {2012-08-07 12:07:02 +0000},
	Date-Modified = {2014-06-27 11:09:30 +0000},
	Institution = {Vrije Universiteit Brussel},
	Keywords = {reflection; proxy; guidance; calculus},
	Rating = {4},
	Title = {On the design of the {E}{C}{M}{A}{Script} Reflection API},
	Year = {2012}}

@inproceedings{Cuts13a,
	Author = {Van Cutsem, Tom and Mark S. Miller},
	Booktitle = {ECOOP 2013},
	Date-Added = {2013-03-18 10:30:18 +0000},
	Date-Modified = {2014-06-27 11:09:48 +0000},
	Rating = {3},
	Title = {Trustworthy Proxies: Virtualizing Objects with Invariants},
	Url = {http://soft.vub.ac.be/Publications/2013/vub-soft-tr-13-03.pdf},
	Year = {2013},
	Bdsk-Url-1 = {http://soft.vub.ac.be/Publications/2013/vub-soft-tr-13-03.pdf}}

@article{Cuts14a,
	title = {{AmbientTalk}: programming responsive mobile peer-to-peer applications with actors},
	journal = {Computer Languages, Systems and Structures},
	volume = {40},
	number = {3--4},
	pages = {112--136},
	year = {2014},
	issn = {1477-8424},
	doi = {10.1016/j.cl.2014.05.002},
	url = {http://www.sciencedirect.com/science/article/pii/S1477842414000335},
	author = {Tom Van Cutsem and Elisa Gonzalez Boix and Christophe Scholliers and Andoni Lombide Carreton and Dries Harnie and Kevin Pinte and Wolfgang De Meuter}
}

@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{Czar09a,
	Acmid = {1575470},
	Address = {Berlin, Heidelberg},
	Author = {Czarnecki, Krzysztof and Foster, J. Nathan and Hu, Zhenjiang and L\"{a}mmel, Ralf and Sch\"{u}rr, Andy and Terwilliger, James F.},
	Booktitle = {Proceedings of the 2nd International Conference on Theory and Practice of Model Transformations},
	Date-Added = {2012-04-12 10:07:54 +0200},
	Date-Modified = {2012-04-12 10:08:14 +0200},
	Isbn = {978-3-642-02407-8},
	Location = {Zurich, Switzerland},
	Numpages = {24},
	Pages = {260--283},
	Publisher = {Springer-Verlag},
	Series = {ICMT '09},
	Title = {Bidirectional Transformations: A Cross-Discipline Perspective},
	Year = {2009}}

@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)},
	Keywords = {moose-pub pub-iene proj-dicosa},
	Number = {5},
	Pages = {720 - 735},
	Publisher = {IEEE Computer Society},
	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)},
	Keywords = {moose-pub pub-iene proj-dicosa},
	Month = may,
	Number = {3},
	Pages = {217-232},
	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,
	Acmid = {1686217},
	Address = {Washington, DC, USA},
	Author = {D'Ambros, Marco and Lanza, Michele and Robbes, Romain},
	Booktitle = {Proceedings of the 2009 16th Working Conference on Reverse Engineering},
	Doi = {10.1109/WCRE.2009.19},
	Isbn = {978-0-7695-3867-9},
	Keywords = {Change coupling, Software defects},
	Numpages = {10},
	Pages = {135--144},
	Publisher = {IEEE Computer Society},
	Series = {WCRE '09},
	Title = {On the Relationship Between Change Coupling and Software Defects},
	Url = {http://dx.doi.org/10.1109/WCRE.2009.19},
	Year = {2009},
	Bdsk-Url-1 = {http://dx.doi.org/10.1109/WCRE.2009.19}}

@article{DAmb10a,
	Annote = {internationaljournal},
	Author = {Marco D'Ambros and Michele Lanza},
	Journal = {Journal of Science of Computer Programming (SCP)},
	Keywords = {moose-pub pub-iene proj-dicosa},
	Month = apr,
	Number = {4},
	Pages = {276-287},
	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}}

@article{DAmb11b,
	Affiliation = {REVEAL @ Faculty of Informatics, University of Lugano, 6900 Lugano, Switzerland},
	Author = {D'Ambros, Marco and Lanza, Michele and Robbes, Romain},
	Doi = {10.1007/s10664-011-9173-9},
	Issn = {1382-3256},
	Journal = {Empirical Software Engineering},
	Keyword = {Computer Science},
	Pages = {1-47},
	Publisher = {Springer Netherlands},
	Title = {Evaluating defect prediction approaches: a benchmark and an extensive comparison},
	Url = {10.1007/s10664-011-9173-9},
	Year = {2011},
	Bdsk-Url-1 = {10.1007/s10664-011-9173-9},
	Bdsk-Url-2 = {http://dx.doi.org/10.1007/s10664-011-9173-9}}

@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,
	Address = {Enschede, The Netherlands},
	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},
	Pages = {207--224},
	Title = {Co-evolution of Object-Oriented Software Design and Implementation},
	Url = {http://scg.unibe.ch/archive/papers/DHon00a.pdf},
	Year = {2000},
	Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/DHon00a.pdf}}

@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,
	Address = {Berlin, Heidelberg},
	Author = {D'Hondt, Theo},
	Booktitle = {Self-Sustaining Systems: First Workshop, S3 2008 Potsdam, Germany, May 15-16, 2008 Revised Selected Papers},
	Doi = {10.1007/978-3-540-89275-5_8},
	Isbn = {978-3-540-89274-8},
	Pages = {140--155},
	Publisher = {Springer-Verlag},
	Title = {Are Bytecodes an Atavism?},
	Year = {2008},
	Bdsk-Url-1 = {http://dx.doi.org/10.1007/978-3-540-89275-5_8}}

@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{DWARF,
	Key = {DWARF},
	Keywords = {dwarf debugging},
	Title = {DWARF Debugging Standard},
	Url = {http://dwarfstd.org/},
	Bdsk-Url-1 = {http://dwarfstd.org/}}

@inproceedings{Dabb12a,
	Acmid = {2145396},
	Address = {New York, NY, USA},
	Author = {Dabbish, Laura and Stuart, Colleen and Tsay, Jason and Herbsleb, Jim},
	Booktitle = {Proceedings of the ACM 2012 conference on Computer Supported Cooperative Work},
	Doi = {10.1145/2145204.2145396},
	Isbn = {978-1-4503-1086-4},
	Keywords = {awareness, collaboration, coordination, open source software development, social computing, transparency},
	Location = {Seattle, Washington, USA},
	Numpages = {10},
	Pages = {1277--1286},
	Publisher = {ACM},
	Series = {CSCW '12},
	Title = {Social coding in GitHub: transparency and collaboration in an open software repository},
	Year = {2012},
	Bdsk-Url-1 = {http://dx.doi.org/10.1145/2145204.2145396}}

@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},
	Keywords = {sde-ecosystems},
	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}}

@article{Dage11a,
 author = {Dagenais, Barth{\'e}l{\'e}my and Robillard, Martin P.},
 title = {Recommending Adaptive Changes for Framework Evolution},
 journal = {ACM Trans. Softw. Eng. Methodol.},
 issue_date = {September 2011},
 volume = {20},
 number = {4},
 month = sep,
 year = {2011},
 issn = {1049-331X},
 pages = {19:1--19:35},
 articleno = {19},
 numpages = {35},
 doi = {10.1145/2000799.2000805},
 acmid = {2000805},
 publisher = {ACM},
 address = {New York, NY, USA}
}

@article{Dage14a,
  author    = {Barth{\'{e}}l{\'{e}}my Dagenais and
               Martin P. Robillard},
  title     = {Using Traceability Links to Recommend Adaptive Changes for Documentation
               Evolution},
  journal   = {{IEEE} Trans. Software Eng.},
  volume    = {40},
  number    = {11},
  pages     = {1126--1146},
  year      = {2014},
  url       = {https://doi.org/10.1109/TSE.2014.2347969},
  doi       = {10.1109/TSE.2014.2347969},
  Keywords =  {comment-quality-slr},
  timestamp = {Wed, 17 May 2017 10:56:35 +0200},
  biburl    = {https://dblp.org/rec/journals/tse/DagenaisR14.bib},
  bibsource = {dblp computer science bibliography, https://dblp.org}
}

@article{Dahl66a,
	 author = {Dahl, Ole-Johan and Nygaard, Kristen},
	 title = {{SIMULA}: An {ALGOL}-based Simulation Language},
	 journal = {Commun. ACM},
	 issue_date = {Sept. 1966},
	 volume = {9},
	 number = {9},
	 month = sep,
	 year = {1966},
	 issn = {0001-0782},
	 pages = {671--678},
	 numpages = {8},
	 url = {http://doi.acm.org/10.1145/365813.365819},
	 doi = {10.1145/365813.365819},
	 acmid = {365819},
	 publisher = {ACM},
	 address = {New York, NY, USA}
}

@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}}

@incollection{Dahl04a,
author={Dahl, Ole-Johan},
editor={Owe, Olaf
and Krogdahl, Stein
and Lyche, Tom},
title={The Birth of Object Orientation: the {Simula} Languages},
bookTitle={From Object-Orientation to Formal Methods: Essays in Memory of Ole-Johan Dahl},
year={2004},
publisher={Springer Berlin Heidelberg},
address={Berlin, Heidelberg},
pages={15--25},
abstract={The development of the programming languages Simula I and Simula 67 is briefly described. An attempt is made also to explain the cultural impact of the languages, in particular the object oriented aspects.},
isbn={978-3-540-39993-3},
doi={10.1007/978-3-540-39993-3_3},
url={http://simula67.at.ifi.uio.no/Archive/Birth-of-S.pdf}
}

@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{Dall07a,
 author = {Dallmeier, Valentin and Zimmermann, Thomas},
 title = {Extraction of Bug Localization Benchmarks from History},
 booktitle = {Proceedings of the Twenty-second IEEE/ACM International Conference on Automated Software Engineering},
 series = {ASE '07},
 year = {2007},
 isbn = {978-1-59593-882-4},
 location = {Atlanta, Georgia, USA},
 pages = {433--436},
 numpages = {4},
 url = {http://doi.acm.org/10.1145/1321631.1321702},
 doi = {10.1145/1321631.1321702},
 acmid = {1321702},
 publisher = {ACM},
 address = {New York, NY, USA},
 keywords = {benchmarking, defect localization}
}

@inproceedings{Dals15a,
  Author = {Tommaso dal Sasso and Roberto Minelli and Andrea Mocci and Michele Lanza},
  Booktitle = {Proceedings of VISSOFT 2015 (3rd IEEE Working Conference on Software Visualization)},
  bookacronym = {VISSOFT 2015},
  Title = {Blended, Not Stirred: Multi-concern Visualization of Large Software Systems},
  doi={10.1109/VISSOFT.2015.7332420},
  Year = {2015},
  pages = {106-115},
  abstract = {While constructing and evolving software systems, developers generate directly and indirectly a large amount of data of diverse nature, such as source code changes, bug tracking information, IDE interactions, stack traces, etc. Often these diverse data sources are processed and visualized in isolation, leading to a partial view of systems. We present a blended approach to visualize several data "ingredients" at once, to give as complete an answer as possible to the question "What happened to the system in the last few days?". The goal is to enable a quick and comprehensive assessment of what happened to a software system in any given time frame.}
}

@article{Daly96a,
author={Daly, John
and Brooks, Andrew
and Miller, James
and Roper, Marc
and Wood, Murray},
title={Evaluating inheritance depth on the maintainability of object-oriented software},
journal={Empirical Software Engineering},
year={1996},
volume={1},
number={2},
pages={109--132},
doi={10.1007/BF00368701},
url={http://dx.doi.org/10.1007/BF00368701}
}

@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,
	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.},
	Annote = {internationaljournal},
	Author = {Marco D'Ambros and Michele Lanza and Mircea Lungu and Romain Robbes},
	Doi = {10.1007/s10009-010-0171-9},
	Journal = {In Journal on Software Tools for Technology Transfer},
	Keywords = {moose-pub},
	Pages = {181 -- 200},
	Title = {On Porting Software Visualization Tools to the Web},
	Url = {http://scg.unibe.ch/archive/papers/Damb11a.pdf},
	Volume = {13},
	X-Editorial-Board = {yes},
	X-International-Audience = {yes},
	X-Proceedings = {yes},
	Year = {2011},
	Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Damb11a.pdf},
	Bdsk-Url-2 = {http://dx.doi.org/10.1007/s10009-010-0171-9}}

@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}}

@inproceedings{Dami04a,
	Acmid = {968163},
	Address = {New York, NY, USA},
	Author = {Damiani, Ferruccio and Dezani-Ciancaglini, Mariangiola and Giannini, Paola},
	Booktitle = {Proceedings of the 2004 ACM symposium on Applied computing},
	Doi = {10.1145/967900.968163},
	Isbn = {1-58113-812-1},
	Keywords = {programming-language; DSU; type-system; reclassification; concurrency},
	Location = {Nicosia, Cyprus},
	Numpages = {8},
	Pages = {1297--1304},
	Publisher = {ACM},
	Rating = {4},
	Series = {SAC '04},
	Title = {Re-classification and multi-threading: FickleMT},
	Year = {2004},
	Bdsk-Url-1 = {http://dx.doi.org/10.1145/967900.968163}}

@inproceedings{Dami07a,
	Acmid = {1305004},
	Address = {Washington, DC, USA},
	Author = {Damian, Daniela and Izquierdo, Luis and Singer, Janice and Kwan, Irwin},
	Booktitle = {Proceedings of the International Conference on Global Software Engineering},
	Doi = {10.1109/ICGSE.2007.13},
	Isbn = {0-7695-2920-8},
	Numpages = {10},
	Pages = {81--90},
	Publisher = {IEEE Computer Society},
	Series = {ICGSE '07},
	Title = {Awareness in the Wild: Why Communication Breakdowns Occur},
	Url = {http://dx.doi.org/10.1109/ICGSE.2007.13},
	Year = {2007},
	Bdsk-Url-1 = {http://dx.doi.org/10.1109/ICGSE.2007.13}}

@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}}

@article{Daqi06a,
	Author = {Daqing Hou and Hoover, H.J.},
	Doi = {10.1109/TSE.2006.60},
	Issn = {0098-5589},
	Journal = {Software Engineering, IEEE Transactions on},
	Keywords = {formal specification;formal verification;object-oriented programming;public domain software;source coding;SCL conformance checking tool;SCL language;open-source software;program model;source code;structural constraint language;Application software;Computer industry;Context modeling;Documentation;Government;Helium;Object oriented modeling;Open source software;Programming;Roads;Design intent;FCL.;SCL;object-oriented software;program analysis;structural constraints},
	Month = jun,
	Number = {6},
	Pages = {404-423},
	Title = {Using SCL to specify and check design intent in source code},
	Volume = {32},
	Year = {2006},
	Bdsk-Url-1 = {http://dx.doi.org/10.1109/TSE.2006.60}}

@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},
	Bdsk-Url-1 = {http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.84.7749&rep=rep1&type=pdf}}

@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{DasS10a,
 author = {Das Sarma, Anish and Parameswaran, Aditya and Garcia-Molina, Hector and Widom, Jennifer},
 title = {Synthesizing View Definitions from Data},
 booktitle = {Proceedings of the 13th International Conference on Database Theory},
 series = {ICDT '10},
 year = {2010},
 isbn = {978-1-60558-947-3},
 location = {Lausanne, Switzerland},
 pages = {89--103},
 numpages = {15},
 doi = {10.1145/1804669.1804683},
 acmid = {1804683},
 publisher = {ACM},
 address = {New York, NY, USA},
 keywords = {algorithms, complexity, query synthesis, view definitions schema-inference},
 url = {https://openproceedings.org/2010/conf/icdt/SarmaPGW10.pdf}
}

@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,
	Address = {Los Angeles, CA, USA},
	Author = {Dashofy, Eric M. and Medvidovic, Nenad and Taylor, Richard N.},
	Booktitle = {ICSE'99: Proceedings of the 21st International Conference on Software engineering},
	Doi = {10.1145/302405.302407},
	Keywords = {c2 damiencbib architectures},
	Pages = {3--12},
	Publisher = {ACM},
	Title = {Using off-the-shelf middleware to implement connectors in distributed software architectures},
	Year = {1999},
	Bdsk-Url-1 = {http://dx.doi.org/10.1145/302405.302407}}

@inproceedings{Dash01a,
	Author = {Dashofy, E.M. and van der Hoek, A. and Taylor, R.N.},
	Booktitle = {Software Architecture, 2001. Proceedings. Working IEEE/IFIP Conference on},
	Doi = {10.1109/WICSA.2001.948416},
	Month = aug,
	Pages = {103-112},
	Title = {A highly-extensible, XML-based architecture description language},
	Year = {2001},
	Bdsk-Url-1 = {http://dx.doi.org/10.1109/WICSA.2001.948416}}

@article{Dash05a,
	Acmid = {1061258},
	Address = {New York, NY, USA},
	Author = {Dashofy, Eric M. and Hoek, Andr{\'e} van der and Taylor, Richard N.},
	Doi = {10.1145/1061254.1061258},
	Issn = {1049-331X},
	Issue_Date = {April 2005},
	Journal = {ACM Trans. Softw. Eng. Methodol.},
	Keywords = {ArchStudio 3, Architecture description languages, XML, xADL 2.0},
	Month = apr,
	Number = {2},
	Numpages = {47},
	Pages = {199--245},
	Publisher = {ACM},
	Title = {A comprehensive approach for the development of modular software architecture description languages},
	Url = {http://doi.acm.org/10.1145/1061254.1061258},
	Volume = {14},
	Year = {2005},
	Bdsk-Url-1 = {http://doi.acm.org/10.1145/1061254.1061258},
	Bdsk-Url-2 = {http://dx.doi.org/10.1145/1061254.1061258}}

@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}}

@article{Davi00a,
	Author = {Joseph W. Davison and Dennis M. Mancl and William F. Opdyke},
	Journal = {Bell Labs Technical Journal},
	Pages = {44--54},
	Title = {Understanding and addressing the essential costs of evolving systems},
	Year = {2000}}

@inproceedings{Davi00b,
	Acmid = {837102},
	Address = {Washington, DC, USA},
	Author = {Davis, Kathi Hogshead and Aiken, Peter H.},
	Booktitle = {Proceedings of the Seventh Working Conference on Reverse Engineering (WCRE'00)},
	Isbn = {0-7695-0881-2},
	Pages = {70--},
	Publisher = {IEEE Computer Society},
	Series = {WCRE '00},
	Title = {Data Reverse Engineering: A Historical Survey},
	Url = {http://dl.acm.org/citation.cfm?id=832307.837102},
	Year = {2000},
	Bdsk-Url-1 = {http://dl.acm.org/citation.cfm?id=832307.837102}}

@inproceedings{Davi03a,
  title={Elicitation technique selection: how do experts do it?},
  author={Hickey, Ann M and Davis, Alan M},
  booktitle={Requirements engineering conference, 2003. proceedings. 11th ieee international},
  pages={169--178},
  year={2003},
  organization={IEEE}
}

@book{Davi05a,
	Author = {Martha Davis},
	Isbn = {0120884240},
	Keywords = {scglib book},
	Publisher = {Elsevier Academic Press},
	Title = {Scientific Papers and Presentations},
	Year = {2005}}

@inproceedings{Davi06a,
  title={Effectiveness of requirements elicitation techniques: Empirical results derived from a systematic review},
  author={Davis, Alan and Dieste, Oscar and Hickey, Ann and Juristo, Natalia and Moreno, Ana M},
  booktitle={Requirements Engineering, 14th IEEE International Conference},
  pages={179--188},
  year={2006},
  organization={IEEE}
}

@inproceedings{Davi11a,
	Author = {Julius Davies and Daniel M. Germ{\'a}n and Michael W. Godfrey and Abram Hindle},
	Booktitle = {MSR'11: Proceedings of the 8th International Working Conference on Mining Software Repositories},
	Doi = {doi.acm.org/10.1145/1985441.1985468},
	Pages = {183-192},
	Title = {Software Bertillonage: Finding the Provenance of an Entity},
	Year = {2011},
	Bdsk-Url-1 = {http://dx.doi.org/10.1145/1985441.1985468}}

@inproceedings{Davi11b,
	Author = {David An and Avik Chaudhuri and Jeffrey Foster and Michael Hicks},
	Booktitle = {Proceedings of the 38th ACM Symposium on Principles of Programming Languages (POPL'11)},
	Pages = {459--472},
	Publisher = {ACM},
	Title = {Dynamic Inference of Static Types for {Ruby}},
	Year = {2011}}

@book{Daws16,
	author = {Chris Dawson and Ben Straub},
	title = {Building tools with GitHub: Customize Your Workflow},
	publisher = {O'Reilly Media},
	year = {2016},
	edition = {1st},
	isbn = {978-1491933503}
}

@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}}

@article{DeCa10a,
  title={A symbolic fault-prediction model based on multiobjective particle swarm optimization},
  author={De Carvalho, Andre B and Pozo, Aurora and Vergilio, Silvia Regina},
  journal={Journal of Systems and Software},
  volume={83},
  number={5},
  pages={868--882},
  year={2010},
  publisher={Elsevier}
}

@inproceedings{DeFF16a,
 author = {de F. Farias, M\'{a}rio Andr{\'e} and Novais, Renato and J\'{u}nior, Methanias Cola\c{c}o and da Silva Carvalho, Lu\'{\i}s Paulo and Mendon\c{c}a, Manoel and Sp\'{\i}nola, Rodrigo Oliveira},
 title = {A Systematic Mapping Study on Mining Software Repositories},
 booktitle = {Proceedings of the 31st Annual ACM Symposium on Applied Computing},
 series = {SAC '16},
 year = {2016},
 isbn = {978-1-4503-3739-7},
 location = {Pisa, Italy},
 pages = {1472--1479},
 numpages = {8},
 url = {http://doi.acm.org/10.1145/2851613.2851786},
 doi = {10.1145/2851613.2851786},
 acmid = {2851786},
 publisher = {ACM},
 address = {New York, NY, USA},
 keywords = {empirical software engineering, mining software repository, secondary study, systematic mapping study}
}

@article{DeJo12a,
	Author = {Jonge, Maartje de and Kats, Lennart C. L. and Soderberg, Emma and Visser, Eelco},
	Citedby = {0},
	Cites = {0},
	Doi = {10.1145/2400676.2400678},
	Journal = {ACM Transactions on Programming Languages and Systems},
	Month = dec,
	Note = {Article No. 15, 50 pages},
	Number = {4},
	Researchr = {http://researchr.org/publication/DeJongeKSV2012},
	Tags = {parsing algorithm, semantics, rule-based, layout, composition, rules, C++, context-aware, Meta-Environment, parsing, scannerless parsing, systematic-approach, grammar},
	Title = {Natural and Flexible Error Recovery for Generated Modular Language Environments},
	Volume = {34},
	Year = {2012},
	Bdsk-Url-1 = {http://dx.doi.org/10.1145/2400676.2400678}}

@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}}

@inproceedings{DeLi04a,
	Author = {Robert DeLine and Manuel F{\"a}hndrich},
	Booktitle = {ECOOP'04},
	Date-Added = {2012-02-27 13:49:46 +0100},
	Date-Modified = {2012-02-27 13:50:03 +0100},
	Pages = {465-490},
	Title = {Typestates for Objects.},
	Year = {2004}}

@inproceedings{DeLi10,
	Acmid = {1810331},
	Address = {New York, NY, USA},
	Author = {DeLine, Robert and Rowan, Kael},
	Booktitle = {Proceedings of the 32Nd ACM/IEEE International Conference on Software Engineering - Volume 2},
	Doi = {10.1145/1810295.1810331},
	Isbn = {978-1-60558-719-6},
	Keywords = {integrated development environments, software visualization, zoomable user interfaces},
	Location = {Cape Town, South Africa},
	Numpages = {4},
	Pages = {207--210},
	Publisher = {ACM},
	Series = {ICSE '10},
	Title = {Code Canvas: Zooming Towards Better Development Environments},
	Url = {http://doi.acm.org/10.1145/1810295.1810331},
	Year = {2010},
	Bdsk-Url-1 = {http://doi.acm.org/10.1145/1810295.1810331},
	Bdsk-Url-2 = {http://dx.doi.org/10.1145/1810295.1810331}}

@inproceedings{DeLi12a,
	Acmid = {2337362},
	Address = {Piscataway, NJ, USA},
	Author = {DeLine, Robert and Bragdon, Andrew and Rowan, Kael and Jacobsen, Jens and Reiss, Steven P.},
	Booktitle = {Proceedings of the 2012 International Conference on Software Engineering},
	Isbn = {978-1-4673-1067-3},
	Location = {Zurich, Switzerland},
	Numpages = {10},
	Pages = {1064--1073},
	Publisher = {IEEE Press},
	Series = {ICSE 2012},
	Title = {Debugger canvas: industrial experience with the code bubbles paradigm},
	Url = {http://dl.acm.org/citation.cfm?id=2337223.2337362},
	Year = {2012},
	Bdsk-Url-1 = {http://dl.acm.org/citation.cfm?id=2337223.2337362}}

@inproceedings{DeLu12a,
  title={Using {IR} methods for labeling source code artifacts: Is it worthwhile?},
  author={De Lucia, Andrea and Di Penta, Massimiliano and Oliveto, Rocco and Panichella, Annibale and Panichella, Sebastiano},
  booktitle={2012 20th IEEE International Conference on Program Comprehension (ICPC)},
  pages={193--202},
  year={2012},
  organization={IEEE}
}

@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{DeRo11a,
 author = {De Roover, Coen and Noguera, Carlos and Kellens, Andy and Jonckers, Vivane},
 title = {The SOUL Tool Suite for Querying Programs in Symbiosis with Eclipse},
 booktitle = {Proceedings of the 9th International Conference on Principles and Practice of Programming in Java},
 series = {PPPJ '11},
 year = {2011},
 isbn = {978-1-4503-0935-6},
 location = {Kongens Lyngby, Denmark},
 pages = {71--80},
 numpages = {10},
 url = {http://doi.acm.org/10.1145/2093157.2093168},
 doi = {10.1145/2093157.2093168},
 acmid = {2093168},
 publisher = {ACM},
 address = {New York, NY, USA},
 keywords = {integrated development environments, logic programming, program analysis, program queries, software engineering tools}
}

@inproceedings{DeRo13a,
author={C. De Roover and R. Laemmel and E. Pek},
booktitle={2013 21st International Conference on Program Comprehension (ICPC)},
title={Multi-dimensional exploration of {API} usage},
year={2013},
pages={152-161},
abstract={This paper is concerned with understanding API usage in a systematic, explorative manner for the benefit of both API developers and API users. There exist complementary, less explorative methods, e.g., based on code search, code completion, or API documentation. In contrast, our approach is highly interactive and can be seen as an extension of what IDEs readily provide today. Exploration is based on multiple dimensions: i) the hierarchically organized scopes of projects and APIs; ii) metrics of API usage (e.g., number of project classes extending API classes); iii) metadata for APIs; iv) project- versus API-centric views. We also provide the QUAATLAS corpus of Java projects which enhances the existing QUALITAS corpus to enable API-usage analysis. We implemented the exploration approach in an open-source, IDE-like, Web-enabled tool EXAPUS.},
keywords={Java;application program interfaces;meta data;public domain software;API developers;API metadata;API usage metrics;API users;API-usage analysis;IDE;Java projects;QUAATLAS corpus;Web-enabled tool EXAPUS;multidimensional exploration;open-source exploration approach;Abstracts;Graphical user interfaces;Java;Libraries;Measurement;Software;XML;API usage;EXAPUS;QUAATLAS;QUALITAS;code exploration;metadata;program comprehension;reverse engineering},
doi={10.1109/ICPC.2013.6613843},
ISSN={1092-8138},
month=may
}

@article{DeSi12a,
 author = {de Silva, Lakshitha and Balasubramaniam, Dharini},
 title = {Controlling Software Architecture Erosion: A Survey},
 journal = {Journal of Systems and Software},
 issue_date = {January, 2012},
 volume = {85},
 number = {1},
 month = jan,
 year = {2012},
 issn = {0164-1212},
 pages = {132--151},
 numpages = {20},
 url = {http://dx.doi.org/10.1016/j.jss.2011.07.036},
 doi = {10.1016/j.jss.2011.07.036},
 publisher = {Elsevier Science Inc.},
 address = {New York, NY, USA}
}

@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}}

@inproceedings{DeVo06a,
	 author = {De Volder, Kris},
	 title = {{JQuery}: A Generic Code Browser with a Declarative Configuration Language},
	 booktitle = {Proceedings of the 8th International Conference on Practical Aspects of Declarative Languages},
	 series = {PADL'06},
	 year = {2006},
	 isbn = {3-540-30947-0, 978-3-540-30947-5},
	 location = {Charleston, SC, USA},
	 pages = {88--102},
	 numpages = {15},
	 url = {http://dx.doi.org/10.1007/11603023_7},
	 doi = {10.1007/11603023_7},
	 acmid = {2102118},
	 publisher = {Springer-Verlag},
	 address = {Berlin, Heidelberg},
	 keywords = {domain-specific language, integrated development environment, logic programming, program database}
}

@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 scg09 snf09 peg parsing parsebyexample},
	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}}

@article{Dean08a,
	Abstract = {{MapReduce} is a programming model and an associated implementation for processing and generating large datasets that is amenable to a broad variety of real-world tasks. Users specify the computation in terms of a map and a reduce function, and the underlying runtime system automatically parallelizes the computation across large-scale clusters of machines, handles machine failures, and schedules inter-machine communication to make efficient use of the network and disks. Programmers find the system easy to use: more than ten thousand distinct {MapReduce} programs have been implemented internally at Google over the past four years, and an average of one hundred thousand {MapReduce} jobs are executed on Google's clusters every day, processing a total of more than twenty petabytes of data per day.},
	Address = {New York, NY, USA},
	Author = {Dean, Jeffrey and Ghemawat, Sanjay},
	Doi = {10.1145/1327452.1327492},
	Issn = {0001-0782},
	Journal = {Commun. ACM},
	Month = jan,
	Number = {1},
	Pages = {107--113},
	Publisher = {ACM},
	Title = {{MapReduce}: simplified data processing on large clusters},
	Volume = {51},
	Year = {2008},
	Bdsk-Url-1 = {http://dx.doi.org/10.1145/1327452.1327492}}

@incollection{Dean15a,
	title={Domain Globalization: Using Languages to Support Technical and Social Coordination},
	author={Deantoni, Julien and Brun, C\'{e}dric and Caillaud, Benoit and France, Robert B. and Karsai, Gabor and Nierstrasz, Oscar and Syriani, Eugene},
	abstract = {When a project is realized in a globalized environment, multiple
		stakeholders from different organizations work on
		the same system. Depending on the stakeholders and their
		organizations, various (possibly overlapping) concerns
		are raised in the development of the system. In this
		context a Domain Specific Language (DSL) supports the
		work of a group of stakeholders who are responsible for
		addressing a specific set of concerns. This chapter
		identifies the open challenges arising from the
		coordination of globalized domain-specific languages. We
		identify two types of coordination: technical
		coordination and social coordination. After presenting an
		overview of the current state of the art, we discuss
		first the open challenges arising from the composition of
		multiple DSLs, and then the open challenges associated to
		the collaboration in a globalized environment.},
	year={2015},
	isbn={978-3-319-26171-3},
	booktitle={Globalizing Domain-Specific Languages},
	peerReview = {yes},
	medium = {2},
	volume={9400},
	series={Lecture Notes in Computer Science},
	editor={Combemale, Benoit and Cheng, Betty H.C. and France, Robert B. and J\'{e}z\'{e}quel, Jean-Marc and Rumpe, Bernhard},
	doi={10.1007/978-3-319-26172-0_5},
	publisher={Springer International Publishing},
	keywords={scg-pub scg15 jb16 skip-pdf},
	pages={70-87}
}

@inproceedings{Debr10a,
    author = {Debroy, Vidroha and Wong, W. Eric},
    title = {Using Mutation to Automatically Suggest Fixes for Faulty Programs},
    booktitle = {Proceedings of the 2010 Third International Conference on Software Testing, Verification and Validation},
    series = {ICST '10},
    year = {2010},
    isbn = {978-0-7695-3990-4},
    pages = {65--74},
    numpages = {10},
    url = {http://dx.doi.org/10.1109/ICST.2010.66},
    doi = {10.1109/ICST.2010.66},
    acmid = {1828445},
    publisher = {IEEE Computer Society},
    address = {Washington, DC, USA},
    keywords = {program debugging, mutation, fault localization, fault-fixing, software testing}
}

@inproceedings{Deca16a,
	author={A. Decan and T. Mens and M. Claes and P. Grosjean},
	booktitle={2016 IEEE 23rd International Conference on Software Analysis,
		Evolution, and Reengineering (SANER)},
	title={When GitHub Meets CRAN: An Analysis of Inter-Repository Package
		Dependency Problems},
	year={2016},
	volume={1},
	pages={493-504},
	abstract={When developing software packages in a software ecosystem, an
		important and well-known challenge is how to deal with dependencies to
			other packages. In presence of multiple package repositories,
		dependency management tends to become even more problematic. For the R
			ecosystem of statistical computing, dependency management is
			currently insufficient to deal with multiple package versions and
			inter-repository package dependencies. We explore how the use of
			GitHub influences the R ecosystem, both for the distribution of R
			packages and for inter-repository package dependency management. We
			also discuss how these problems could be addressed.},
	keywords={software engineering;software packages;CRAN;GitHub;interrepository
		package dependency management;multiple software package
			repositories;statistical computing;Data mining;Ecosystems;Electronic
			mail;Metadata;Software packages;Writing;CRAN;GitHub;package
			dependency management;software distribution;software
			ecosystem;software evolution;software repository mining},
	doi={10.1109/SANER.2016.12},
	month=mar}

@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,
	Address = {Nantes, France},
	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,
	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}}

@inproceedings{Deel07a,
	Author = {Deelen, P. and van Ham, F. and Cornells Huizing and van de Watering, H.},
	Booktitle = {Visualizing Software for Understanding and Analysis, 2007. VISSOFT 2007. 4th IEEE International Workshop on},
	Doi = {10.1109/VISSOF.2007.4290698},
	Month = jun,
	Pages = {39--46},
	Title = {Visualization of Dynamic Program Aspects},
	Year = {2007},
	Bdsk-Url-1 = {http://dx.doi.org/10.1109/VISSOF.2007.4290698}}

@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{Deis05b,
	Abstract = {Maintenance costs make up the bulk of the total life cycle costs of a software system.
				Besides organizational issues such as knowledge management and turnover, the long-term maintenance
				costs are largely predetermined by various quality attributes of the software system itself such as
				redundancy and adequate documentation. Unfortunately, many quality defects can hardly be corrected
				retrospectively after they have penetrated the system. A much more promising approach than correction is
				to avoid decay and to preserve a constant high level of quality through a continuous real-time quality
				controlling process. To reduce the costs for the required frequent quality assessments, adequate tool support
				is indispensable. This paper proposes to integrate measurement tools into a flexible and extensible yet high
				performance quality assessment tool. We present the design and implementation of this tool and report on our
				experiences made with it in a medium-sized academical project. Among the positive effects are improved software
				product quality and reduced efforts for manual quality assessments as well as increased awareness for quality issues},
	Author = {Deissenboeck, F. and Pizka, M. and Seifert, T.},
	Booktitle = {Software Technology and Engineering Practice, 2005. 13th IEEE International Workshop on},
	Doi = {10.1109/STEP.2005.31},
	Keywords = {continuous quality assessment;knowledge management;quality control;redundancy;software documentation;software maintenance;software quality;software system;tool support;quality management;software maintenance;software quality;software tools;system documentation;},
	Month = sep,
	Pages = {127 -136},
	Title = {Tool Support for Continuous Quality Assessment},
	Year = {2005},
	Bdsk-Url-1 = {http://dx.doi.org/10.1109/STEP.2005.31}}

@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}}

@article{Deja13a,
  title={Toward comprehensible software fault prediction models using bayesian network classifiers},
  author={Dejaeger, Karel and Verbraken, Thomas and Baesens, Bart},
  journal={IEEE Transactions on Software Engineering},
  volume={39},
  number={2},
  pages={237--257},
  year={2013},
  publisher={IEEE}
}

@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,
  title={Revealing {Java} class structure with concept lattices},
  author={Dekel, Uri},
  year={2003},
  month= feb,
  school={Technion --- Israel Institute of Technology},
  url = {http://www.cs.technion.ac.il/ssdl/research/JavaProject/JavaToolsPlugin/udekelMscThesis.pdf},
  keywords = {fca}
}

@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{Deke07a,
	Author = {Dekel, Uri and Herbsleb, James D},
	Booktitle = {OOPSLA '07: Proceedings of the 22nd annual ACM SIGPLAN conference on Object-oriented programming systems and applications},
	Month = oct,
	Publisher = {ACM Request Permissions},
	Title = {{Notation and representation in collaborative object-oriented design: an observational study}},
	Year = {2007}}

@inproceedings{Deke09a,
  title={Reading the documentation of invoked {API} functions in program comprehension},
  author={Dekel, Uri and Herbsleb, James D},
  booktitle={2009 IEEE 17th International Conference on Program Comprehension},
  pages={168--177},
  year={2009},
  organization={IEEE}
}

@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}}

@inproceedings{Delp19a,
  TITLE = {Rotten Green Tests},
  AUTHOR = {Delplanque, Julien and Ducasse, St{\'e}phane and Polito, Guillermo and Black, Andrew P and Etien, Anne},
  URL = {https://hal.inria.fr/hal-02002346},
  BOOKTITLE = {{ICSE 2019 - International Conference on Software Engineering}},
  ADDRESS = {Montr{\'e}al, Canada},
  YEAR = {2019},
  MONTH = may,
  PDF = {https://hal.inria.fr/hal-02002346/file/main.pdf},
  HAL_ID = {hal-02002346},
  HAL_VERSION = {v2}
}

@book{Dema82a,
	Author = {Tom De Marco},
	Keywords = {oorp},
	Publisher = {Yourdon Press},
	Title = {Controlling Software Projects},
	Year = {1982}}

@inproceedings{Dema85a,
	Acmid = {319651},
	Address = {Los Alamitos, CA, USA},
	Author = {DeMarco, Tom and Lister, Tim},
	Booktitle = {Proceedings of the 8th international conference on Software engineering},
	Isbn = {0-8186-0620-7},
	Keywords = {management isssue, productivity, programmer workplace},
	Location = {London, England},
	Numpages = {5},
	Pages = {268--272},
	Publisher = {IEEE Computer Society Press},
	Series = {ICSE '85},
	Title = {Programmer performance and the effects of the workplace},
	Url = {http://dl.acm.org/citation.cfm?id=319568.319651},
	Year = {1985},
	Bdsk-Url-1 = {http://dl.acm.org/citation.cfm?id=319568.319651}}

@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 scg-none 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://scg.unibe.ch/archive/famoos/ESEC97/},
	Year = {1997}}

@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) scg-none 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 scg-none 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://scg.unibe.ch/archive/papers/Deme97zWCRE.pdf},
	Year = {1997}
}

@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 scg-none jb98},
	Publisher = {ACM},
	Title = {Consistent Framework Documentation with Computed Links and Framework Contracts},
	doi = {10.1145/351936.351971},
	Year = {1998}
}

@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 scg-none jb98 sergedem-volume scg-none 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 scg-none 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 scg-none 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 scg-none 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 scg-none 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 scg-none 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 scg-none 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 scg-none 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.},
	Acceptnum = {44},
	Accepttotal = {166},
	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 scg-none jb99 stefPub moose-pub},
	Misc = {acceptance rate: 44/166 = 26\%, SCI impact 0.515, ranked 39/69},
	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 scg-none 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 scg-none 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 scg-none 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 scg-none 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.},
	Acceptnum = {26},
	Accepttotal = {142},
	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 scg-none jb00 snf00 oorp stefPub moose-pub onhindex(208)},
	Misc = {acceptance rate: 26/142 = 18\%, SCI impact factor 0.190, ranked 66/77},
	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 scg-none 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 scg-none sergedem-papunr scg-none jb-none},
	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 scg-none 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 scg-none jb04 stefPub recast03},
	Pages = {72-85},
	Publisher = {Springer-Verlag},
	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 scg-none 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.},
	Acceptnum = {13},
	Accepttotal = {54},
	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 scg-none jb06 moose-pub},
	Location = {Lisbon, Portugal},
	Misc = {acceptance rate: 13/54=24\%},
	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 scg-none 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 scg-none jb-none stefPub},
	Title = {Report of the 6th ECOOP'05 Workshop on Object-Oriented Reengineering},
	Url = {https://released.info.ucl.ac.be/pmwiki/uploads/Publications/ReportOfTheSixthInternationalWorkshopOnObject-OrientedReengineering/ecoop05reader.pdf},
	Year = {2006}}

@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/}}

@misc{Deme08b,
	Abstract = {The ability to reengineer object-oriented legacy systems has become a vital matter in today's software industry. Early adopters of the object-oriented programming paradigm are now facing the problem of transforming their object-oriented "legacy" systems into full-fledged frameworks. To address this problem, a series of workshops has been organised to set up a forum for exchanging experiences, discussing solutions, and exploring new ideas. Typically, these workshops were organised as satellite events of major software engineering conferences, such as {ECOOP} and {ESEC}/{FSE}. During the past 10 years, participants of this workshop series have been actively contributing to the state-of-the-art on reengineering of object-oriented systems. This special 10th anniversary edition was no exception and this report summarises the key discussions and outcome of that workshop.},
	Address = {Berlin, Heidelberg},
	Author = {Demeyer, Serge and Gu\'{e}h\'{e}neuc, Yann G. and Keller, Anne and Lange, Christian F. J. and Mens, Kim and Adrian Kuhn and Kuhlemann, Martin},
	Booktitle = {Proceedings of the 2007 conference on Object-oriented technology},
	Isbn = {3-540-78194-3},
	Keywords = {akuhn},
	Location = {Berlin, Germany},
	Pages = {142--153},
	Priority = {2},
	Publisher = {Springer-Verlag},
	Series = {ECOOP'07},
	Title = {Object-oriented reengineering: report on the workshop {WOOR}'07 at {ECOOP} 2007 10th anniversary edition},
	Url = {http://portal.acm.org/citation.cfm?id=1787571},
	Year = {2008},
	Bdsk-Url-1 = {http://portal.acm.org/citation.cfm?id=1787571}}

@article{Demp77a,
	Abstract = {A broadly applicable algorithm for computing maximum likelihood estimates
				from incomplete data is presented at various levels of generality. Theory
				showing the monotone behaviour of the likelihood and convergence of the
				algorithm is derived. Many examples are sketched, including missing value
				situations, applications to grouped, censored or truncated data, finite
				mixture models, variance component estimation, hyperparameter estimation,
				iteratively reweighted least squares and factor analysis.},
	Author = {Dempster, A. P. and Laird, N. M. and Rubin, D. B.},
	Doi = {10.2307/2984875},
	Issn = {00359246},
	Journal = {Journal of the Royal Statistical Society. Series B (Methodological)},
	Keywords = {clustering, k-means, unsupervised},
	Number = {1},
	Pages = {1--38},
	Posted-At = {2008-01-09 13:57:51},
	Priority = {2},
	Publisher = {Blackwell Publishing for the Royal Statistical Society},
	Title = {Maximum Likelihood from Incomplete Data via the EM Algorithm},
	Url = {http://web.mit.edu/6.435/www/Dempster77.pdf},
	Volume = {39},
	Year = {1977},
	Bdsk-Url-1 = {http://web.mit.edu/6.435/www/Dempster77.pdf},
	Bdsk-Url-2 = {http://dx.doi.org/10.2307/2984875}}

@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}}

@article{Dems06a,
  title={Statistical comparisons of classifiers over multiple data sets},
  author={Dem{\v{s}}ar, Janez},
  journal={The Journal of Machine Learning Research},
  volume={7},
  pages={1--30},
  year={2006},
  publisher={JMLR. org}
}

@article{Demu16a,
title = {Co-evolution of metamodels and models through consistent change propagation},
journal = {Journal of Systems and Software},
volume = {111},
pages = {281 - 297},
year = {2016},
issn = {0164-1212},
doi = {https://doi.org/10.1016/j.jss.2015.03.003},
url = {http://www.sciencedirect.com/science/article/pii/S0164121215000564},
author = {Andreas Demuth and Markus Riedl-Ehrenleitner and Roberto E. Lopez-Herrejon and Alexander Egyed},
keywords = {Metamodel co-evolution, Consistency checking, Consistent change propagation},
abstract = {In model-driven engineering (MDE), metamodels and domain-specific languages are key artifacts as they are used to define syntax and static semantics of domain models. However, metamodels are evolving over time, requiring existing domain models to be co-evolved. Though approaches have been proposed for performing such co-evolution automatically, those approaches typically support only specific metamodel changes. In this paper, we present a vision of co-evolution between metamodels and models through consistent change propagation. The approach addresses co-evolution issues without being limited to specific metamodels or evolution scenarios. It relies on incremental management of metamodel-based constraints that are used to detect co-evolution failures (i.e., inconsistencies between metamodel and model). After failure detection, the approach automatically generates suggestions for correction (i.e., repairs for inconsistencies). A case study with the UML metamodel and 23 UML models shows that the approach is technically feasible and also scalable.}
}

@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&uuml;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 scg-none 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 scg-none 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},
	Doi = {10.5381/jot.2007.6.9.a14},
	Inria = {hors},
	Issn = {1660-1769},
	Keywords = {scg07 scg-pub jb08 snf07 jot snf-bmcc reflectivity},
	Medium = {2},
	Month = oct,
	Pages = {231--251},
	Peerreview = {yes},
	Publisher = {ETH},
	Selectif = {non},
	Title = {Sub-Method Reflection},
	Url = {http://www.jot.fm/contents/issue_2007_10/paper14.html},
	Volume = {6/9},
	Year = {2007},
	Bdsk-Url-1 = {http://www.jot.fm/issues/issue_2007_10/paper14.html}}

@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.},
	Address = {Lugano, Switzerland},
	Annote = {internationalconference},
	Author = {Marcus Denker and Tudor G\^irba and Adrian Lienhard and Oscar Nierstrasz and Lukas Renggli and Pascal Zumkehr},
	Booktitle = {ICDL'07: Proceedings of the 15th International Conference on Dynamic Languages},
	Doi = {10.1145/1352678.1352681},
	Isbn = {978-1-60558-084-5},
	Keywords = {scg07 scg-pub jb08 snf08 girba cop-lit},
	Medium = {2},
	Month = aug,
	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},
	url2 = {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 scg-none 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.},
	Annote = {internationalconference},
	Author = {Marcus Denker and Jorge Ressia and Orla Greevy and Oscar Nierstrasz},
	Booktitle = {Proceedings of MODELS 2010 Part II},
	Doi = {10.1007/978-3-642-16129-2_11},
	Isbn = {978-3-642-16128-5},
	Keywords = {snf10 jb11 scg-pub scg10 bifrost},
	Medium = {2},
	Misc = {Acceptance rate: 20.8\%},
	Month = oct,
	Pages = {138--152},
	Peerreview = {yes},
	Publisher = {Springer-Verlag},
	Series = {LNCS},
	Title = {Modeling Features at Runtime},
	Url = {http://scg.unibe.ch/archive/papers/Denk10a-Models10-FeatureModels.pdf},
	Volume = 6395,
	Year = {2010},
	Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Denk10a-Models10-FeatureModels.pdf},
	Bdsk-Url-2 = {http://dx.doi.org/10.1007/978-3-642-16129-2_11}}

@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 scg-none 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 scg-none jb96},
	Month = jun,
	Pages = {158--167},
	Title = {Surfin' Network Resources Across the Web},
	Year = {1996}}

@phdthesis{Deri97a,
	Author = {Luca Deri},
	Keywords = {snf-none olit skip-doi skip-abstract toBeChecked scg-phd scg-none 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{Deru99a,
	Address = {London, UK, UK},
	Author = {Deruelle, Laurent and Bouneffa, Mohammed and Goncalves, G. and Nicolas, Jean-Christophe},
	Booktitle = {Proceedings of the 10th International Conference on Database and Expert Systems Applications},
	Isbn = {3-540-66448-3},
	Numpages = {10},
	Pages = {902--911},
	Publisher = {Springer-Verlag},
	Series = {DEXA '99},
	Title = {Local and Federated Database Schemas Evolution, An Impact Propagation Model},
	Url = {http://dl.acm.org/citation.cfm?id=648312.755223},
	Year = {1999},
	Bdsk-Url-1 = {http://dl.acm.org/citation.cfm?id=648312.755223}}

@article{Deru01a,
	Address = {Los Alamitos, CA, USA},
	Author = {L. Deruelle and N. Melab and M. Bouneffa and H. Basson},
	Doi = {10.1109/SCAM.2001.972665},
	Isbn = {0-7695-1387-5},
	Journal = {Source Code Analysis and Manipulation, IEEE International Workshop on},
	Pages = {0045},
	Publisher = {IEEE Computer Society},
	Title = {Analysis and Manipulation of Distributed Multi-Language Software Code},
	Url = {http://doi.ieeecomputersociety.org/10.1109/SCAM.2001.972665},
	Volume = {0},
	Year = {2001},
	Bdsk-Url-1 = {http://doi.ieeecomputersociety.org/10.1109/SCAM.2001.972665},
	Bdsk-Url-2 = {http://dx.doi.org/10.1109/SCAM.2001.972665}}

@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}}

@book{Deti02a,
 author = {D{\'e}tienne, Fran\c{c}oise},
 title = {Software Design---cognitive Aspects},
 year = {2002},
 isbn = {1-85233-253-0},
 publisher = {Springer-Verlag New York, Inc.},
 address = {New York, NY, USA}
}

@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}}

@techreport{Deur99c,
 author = {Deursen, Arie and Moonen, Leon M.F.},
 title = {Understanding COBOL Systems Using Inferred Types},
 year = {1999},
 source = {http://www.ncstrl.org:8900/ncstrl/servlet/search?formname=detail\&id=oai%3Ancstrlh%3Aercim_cwi%3Aercim.cwi%2F%2FSEN-R9909},
 publisher = {CWI (Centre for Mathematics and Computer Science)},
 address = {Amsterdam, The Netherlands, The Netherlands}
}

@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 testing-practices},
	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}}

@article{Deur01c,
  author    = {Arie van Deursen and Leon Moonen},
  title     = {An empirical study into {COBOL} type inferencing},
  journal   = {Sci. Comput. Program.},
  volume    = {40},
  number    = {2-3},
  pages     = {189--211},
  year      = {2001},
  url       = {http://dx.doi.org/10.1016/S0167-6423(01)00015-6},
  doi       = {10.1016/S0167-6423(01)00015-6},
  timestamp = {Tue, 30 Aug 2011 17:14:06 +0200},
  biburl    = {http://dblp.uni-trier.de/rec/bib/journals/scp/DeursenM01},
  bibsource = {dblp computer science bibliography, http://dblp.org}
}

@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{Deur04b,
	title = {Source model analysis using the JJTraveler visitor combinator framework},
	author = {Van Deursen, Arie and Visser, Joost},
	journal = {Software: Practice and Experience},
	volume = {34},
	number = {14},
	pages = {1345--1379},
	year = {2004},
	publisher = {Wiley Online Library}}

@article{Deur05a,
	title = {A systematic aspect-oriented refactoring and testing strategy, and its application to {JHotDraw}},
	author = {van Deursen, Arie and Marin, Marius and Moonen, Leon},
	journal = {arXiv preprint cs/0503015},
	year = {2005}}

@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}}

@article{Deut81a,
	Author = {Peter Deutsch},
	Date-Added = {2013-03-26 15:43:12 +0000},
	Date-Modified = {2013-03-26 15:48:14 +0000},
	Journal = {Byte},
	Month = {aug},
	Number = {8},
	Pages = {322-346},
	Title = {Building Control Structures in {Smalltalk-80}},
	Volume = {6},
	Year = {1981}}

@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}}

@inproceedings{Deva92a,
	 author = {Devanbu, Premkumar T.},
	 title = {GENOA: A Customizable Language- and Front-end Independent Code Analyzer},
	 booktitle = {Proceedings of the 14th International Conference on Software Engineering},
	 series = {ICSE '92},
	 year = {1992},
	 isbn = {0-89791-504-6},
	 location = {Melbourne, Australia},
	 pages = {307--317},
	 numpages = {11},
	 url = {http://doi.acm.org/10.1145/143062.143148},
	 doi = {10.1145/143062.143148},
	 acmid = {143148},
	 publisher = {ACM},
	 address = {New York, NY, USA}
}

@article{Deva96a,
	 author = {Devanbu, Premkumar T. and Rosenblum, David S. and Wolf, Alexander L.},
	 title = {Generating Testing and Analysis Tools with {Aria}},
	 journal = {ACM Trans. Softw. Eng. Methodol.},
	 issue_date = {Jan. 1996},
	 volume = {5},
	 number = {1},
	 month = jan,
	 year = {1996},
	 issn = {1049-331X},
	 pages = {42--62},
	 numpages = {21},
	 url = {http://doi.acm.org/10.1145/226155.226157},
	 doi = {10.1145/226155.226157},
	 acmid = {226157},
	 publisher = {ACM},
	 address = {New York, NY, USA},
	 keywords = {Aria, Genoa, Reprise, application generators, program dependence graphs, program representations, software analysis, software testing, tools}
}

@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,
	Address = {Hillsdale, NJ, USA},
	Author = {Dey, Anind K. and Abowd, Gregory D. and Salber, Daniel},
	Doi = {10.1207/S15327051HCI16234_02},
	Journal = {Human-Computer Interaction},
	Keywords = {damiencbib context toolkit},
	Month = dec,
	Number = {2},
	Pages = {97--166},
	Publisher = {L. Erlbaum Associates Inc.},
	Title = {A conceptual framework and a toolkit for supporting the rapid prototyping of context-aware applications},
	Volume = {16},
	Year = {2001},
	Bdsk-Url-1 = {http://dx.doi.org/10.1207/S15327051HCI16234_02}}

@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://scg.unibe.ch/archive/papers/Deza08aEvolvingObjects.pdf},
	url2 = {http://homepages.fh-regensburg.de/~mpool/mpool08/programme.html},
	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://scg.unibe.ch/archive/papers/Deza08bEvolvingObjects.pdf},
	url2 = {http://www.info.uaic.ro/bin/Annals/XVIII},
	Volume = {XVIII},
	Year = {2008},
	Bdsk-Url-2 = {http://www.info.uaic.ro/bin/Annals/XVIII%20http://scg.unibe.ch/archive/papers/Deza08bEvolvingObjects.pdf}}

@inproceedings{Dham08a,
	title = {Visual detection of design anomalies},
	author = {Dhambri, Karim and Sahraoui, Houari and Poulin, Pierre},
	booktitle = {Software Maintenance and Reengineering, 2008. CSMR 2008. 12th European Conference on},
	pages = {279--283},
	year = {2008},
	organization = {IEEE}}

@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}}

@inproceedings{DiNu17a,
  title={Petra: a software-based tool for estimating the energy profile of {Android} applications},
  author={Di Nucci, Dario and Palomba, Fabio and Prota, Antonio and Panichella, Annibale and Zaidman, Andy and De Lucia, Andrea},
  booktitle={Proceedings of the 39th International Conference on Software Engineering Companion},
  pages={3--6},
  year={2017},
  organization={IEEE Press}
}

@inproceedings{DiPe10a,
	Author = {Di Penta, M. and German, D.M. and Antoniol, G.},
	Booktitle = {Mining Software Repositories (MSR), 2010 7th IEEE WorkingConference on},
	Doi = {10.1109/MSR.2010.5463282},
	Month = may,
	Pages = {151-160},
	Title = {Identifying licensing of jar archives using a code-search approach},
	Year = {2010},
	Bdsk-Url-1 = {http://dx.doi.org/10.1109/MSR.2010.5463282}}

@book{Diac98a,
	Address = {Singapore},
	Author = {R. Diaconescu and K. Futatsugi},
	Publisher = {World Scientific},
	Title = {Cafe{OBJ} Report},
	Year = {1998}}

@article{Dias14a,
	Author = {Dias, Mart\'in and Peck, Mariano Martinez and Ducasse, St\'ephane and Ar\'evalo, Gabriela},
	Doi = {10.1002/spe.2136},
	Issn = {1097-024X},
	Journal = {Software: Practice and Experience},
	Keywords = {object-oriented programming, serialization, object graphs, pickle format, Smalltalk},
	Number = {4},
	Pages = {433--453},
	Title = {Fuel: a fast general purpose object graph serializer},
	Url = {http://dx.doi.org/10.1002/spe.2136},
	Volume = {44},
	Year = {2014},
	Bdsk-Url-1 = {http://dx.doi.org/10.1002/spe.2136}}

@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{Diet87b,
  title={Two algorithms for maintaining order in a list},
  author={Dietz, Paul and Sleator, Daniel},
  booktitle={Proceedings of the nineteenth annual ACM symposium on Theory of computing},
  pages={365--372},
  year={1987},
  organization={ACM}
}

@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{Diet11a,
	author = {Dietl, Werner and Dietzel, Stephanie and Ernst, Michael D. and Mu\c{s}lu, Kivan\c{c} and Schiller, Todd W.},
	title = {Building and Using Pluggable Type-checkers},
	booktitle = {Proceedings of the 33rd International Conference on Software Engineering},
	series = {ICSE '11},
	year = {2011},
	isbn = {978-1-4503-0445-0},
	location = {Waikiki, Honolulu, HI, USA},
	pages = {681--690},
	numpages = {10},
	url = {http://doi.acm.org/10.1145/1985793.1985889},
	doi = {10.1145/1985793.1985889},
	acmid = {1985889},
	publisher = {ACM},
	address = {New York, NY, USA},
	keywords = {annotation, binary name, bug finding, case study, enum, enumeration, field descriptor, fully qualified name, intern, java, nonnull, pluggable type, type qualifier, type system}
}

@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{Dig09a,
	Acmid = {1555054},
	Address = {Washington, DC, USA},
	Author = {Dig, Danny and Marrero, John and Ernst, Michael D.},
	Booktitle = {Proceedings of the 31st International Conference on Software Engineering},
	Doi = {10.1109/ICSE.2009.5070539},
	Isbn = {978-1-4244-3453-4},
	Numpages = {11},
	Pages = {397--407},
	Publisher = {IEEE Computer Society},
	Series = {ICSE '09},
	Title = {Refactoring sequential Java code for concurrency via concurrent libraries},
	Url = {http://dx.doi.org/10.1109/ICSE.2009.5070539},
	Year = {2009},
	Bdsk-Url-1 = {http://dx.doi.org/10.1109/ICSE.2009.5070539}}

@inproceedings{Dig11a,
	Acmid = {1984700},
	Address = {New York, NY, USA},
	Author = {Dig, Danny and Marrero, John and Ernst, Michael D.},
	Booktitle = {Proceedings of the 4th International Workshop on Multicore Software Engineering},
	Doi = {10.1145/1984693.1984700},
	Isbn = {978-1-4503-0577-8},
	Keywords = {concurrency, parallelism, program transformation},
	Location = {Waikiki, Honolulu, HI, USA},
	Numpages = {8},
	Pages = {43--50},
	Publisher = {ACM},
	Series = {IWMSE '11},
	Title = {How do programs become more concurrent: a story of program transformations},
	Url = {http://doi.acm.org/10.1145/1984693.1984700},
	Year = {2011},
	Bdsk-Url-1 = {http://doi.acm.org/10.1145/1984693.1984700},
	Bdsk-Url-2 = {http://dx.doi.org/10.1145/1984693.1984700}}

@inproceedings{Digi98a,
	Acmid = {286955},
	Address = {New York, NY, USA},
	Author = {Di Gianantonio, Pietro and Honsell, Furio and Liquori, Luigi},
	Booktitle = {Proceedings of the 13th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications},
	Doi = {10.1145/286936.286955},
	Isbn = {1-58113-005-8},
	Location = {Vancouver, British Columbia, Canada},
	Numpages = {13},
	Pages = {166--178},
	Publisher = {ACM},
	Series = {OOPSLA '98},
	Title = {A lambda calculus of objects with self-inflicted extension},
	Year = {1998},
	Bdsk-Url-1 = {http://dx.doi.org/10.1145/286936.286955}}

@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}}

@inproceedings{Dill07a,
 author = {Dillig, Isil and Dillig, Thomas and Aiken, Alex},
 title = {Static Error Detection Using Semantic Inconsistency Inference},
 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 = {435--445},
 numpages = {11},
 url = {http://doi.acm.org/10.1145/1250734.1250784},
 doi = {10.1145/1250734.1250784},
 acmid = {1250784},
 publisher = {ACM},
 address = {New York, NY, USA},
 keywords = {error detection, inconsistency, satisfiability, static analysis}
}

@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{Dinc09a,
 author = {von Dincklage, Daniel and Diwan, Amer},
 title = {Optimizing Programs with Intended Semantics},
 booktitle = {Proceedings of the 24th ACM SIGPLAN Conference on Object Oriented Programming Systems Languages and Applications},
 series = {OOPSLA '09},
 year = {2009},
 isbn = {978-1-60558-766-0},
 location = {Orlando, Florida, USA},
 pages = {409--424},
 numpages = {16},
 url = {http://doi.acm.org/10.1145/1640089.1640120},
 doi = {10.1145/1640089.1640120},
 acmid = {1640120},
 publisher = {ACM},
 address = {New York, NY, USA},
 keywords = {intended semantics, optimization}
}

@article{Dinc09b,
 author = {von Dincklage, Daniel and Diwan, Amer},
 title = {Optimizing Programs with Intended Semantics},
 journal = {SIGPLAN Not.},
 issue_date = {October 2009},
 volume = {44},
 number = {10},
 month = oct,
 year = {2009},
 issn = {0362-1340},
 pages = {409--424},
 numpages = {16},
 url = {http://doi.acm.org/10.1145/1639949.1640120},
 doi = {10.1145/1639949.1640120},
 acmid = {1640120},
 publisher = {ACM},
 address = {New York, NY, USA},
 keywords = {intended semantics, optimization}
}

@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}}

@inproceedings{Ding09a,
	Author = {Ding, Xiaowen and Liu, Bing and Zhang, Lei},
	Title = {Entity Discovery and Assignment for Opinion Mining Applications},
	Booktitle = {Proceedings of the 15th ACM SIGKDD International Conference on Knowledge Discovery and Data Mining},
	Series = {KDD '09},
	isbn = {978-1-60558-495-9},
	Location = {Paris, France},
	Pages = {1125--1134},
	Numpages = {10},
	Url = {http://doi.acm.org/10.1145/1557019.1557141},
	doi = {10.1145/1557019.1557141},
	acmid = {1557141},
	Publisher = {ACM},
	Address = {New York, NY, USA},
	Year = {2009}}

@inproceedings{Ding12a,
	Address = {Piscataway, NJ, USA},
	Author = {Yuan, Ding and Park, Soyeon and Zhou, Yuanyuan},
	Booktitle = {Proceedings of the 2012 International Conference on Software Engineering},
	Isbn = {978-1-4673-1067-3},
	Location = {Zurich, Switzerland},
	Pages = {102--112},
	Priority = {2},
	Publisher = {IEEE Press},
	Series = {ICSE 2012},
	Title = {Characterizing logging practices in open-source software},
	Year = {2012}}

@article{Ding14a,
  title={Knowledge-based approaches in software documentation: A systematic literature review},
  author={Ding, Wei and Liang, Peng and Tang, Antony and Van Vliet, Hans},
  journal={Information and Software Technology},
  volume={56},
  number={6},
  pages={545--567},
  year={2014},
  publisher={Elsevier}
}

@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,
	Address = {Los Alamitos, CA, USA},
	Author = {Massimiliano Di Penta and Luigi Cerulo and Lerina Aversano},
	Doi = {10.1109/SCAM.2008.20},
	Isbn = {978-0-7695-3353-7},
	Journal = {Source Code Analysis and Manipulation, IEEE International Workshop on},
	Pages = {101-110},
	Publisher = {IEEE Computer Society},
	Title = {The Evolution and Decay of Statically Detected Source Code Vulnerabilities},
	Volume = {0},
	Year = {2008},
	Bdsk-Url-1 = {http://dx.doi.org/10.1109/SCAM.2008.20}}

@article{Disk11a,
	Author = {Zinovy Diskin and Yingfei Xiong and Krzysztof Czarnecki},
	Date-Added = {2012-02-03 11:56:05 +0100},
	Date-Modified = {2012-02-03 11:56:12 +0100},
	Doi = {10.5381/jot.2011.10.1.a6},
	Issn = {1660-1769},
	Journal = {Journal of Object Technology},
	Pages = {6:1-25},
	Title = {From State- to Delta-Based Bidirectional Model Transformations: the Asymmetric Case},
	Url = {http://www.jot.fm/contents/issue_2011_01/article6.html},
	Volume = {10},
	Year = {2011},
	Bdsk-Url-1 = {http://www.jot.fm/contents/issue_2011_01/article6.html},
	Bdsk-Url-2 = {http://dx.doi.org/10.5381/jot.2011.10.1.a6}}

@inproceedings{Disk11b,
	Acmid = {2050685},
	Address = {Berlin, Heidelberg},
	Author = {Diskin, Zinovy and Xiong, Yingfei and Czarnecki, Krzysztof and Ehrig, Hartmut and Hermann, Frank and Orejas, Fernando},
	Booktitle = {Proceedings of the 14th international conference on Model driven engineering languages and systems},
	Isbn = {978-3-642-24484-1},
	Location = {Wellington, New Zealand},
	Numpages = {15},
	Pages = {304--318},
	Publisher = {Springer-Verlag},
	Series = {MODELS'11},
	Title = {From state- to delta-based bidirectional model transformations: the symmetric case},
	Url = {http://dl.acm.org/citation.cfm?id=2050655.2050685},
	Year = {2011},
	Bdsk-Url-1 = {http://dl.acm.org/citation.cfm?id=2050655.2050685}}

@article{Dit12a,
	Author = {Dit, Bogdan and Revelle, Meghan and Gethers, Malcom and Poshyvanyk, Denys},
	Doi = {10.1002/smr.567},
	Issn = {2047-7481},
	Journal = {Journal of Software: Evolution and Process},
	Keywords = {Feature location, concept location, program comprehension, software maintenance and evolution},
	Pages = {n/a--n/a},
	Publisher = {John Wiley & Sons, Ltd},
	Title = {Feature location in source code: a taxonomy and survey},
	Url = {http://www.cs.wm.edu/~denys/pubs/JSME-FL-SurveyCRCV1.pdf},
	Year = {2012},
	Bdsk-Url-1 = {http://www.cs.wm.edu/~denys/pubs/JSME-FL-SurveyCRCV1.pdf},
	Bdsk-Url-2 = {http://dx.doi.org/10.1002/smr.567}}

@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}}

@article{Ditz82a,
 author = {Ditzel, David R. and McLellan, H. R.},
 title = {Register Allocation for Free: The {C} Machine Stack Cache},
 journal = {SIGPLAN Not.},
 issue_date = {April 1982},
 volume = {17},
 number = {4},
 month = mar,
 year = {1982},
 issn = {0362-1340},
 pages = {48--56},
 numpages = {9},
 url = {http://doi.acm.org/10.1145/960120.801825},
 doi = {10.1145/960120.801825},
 acmid = {801825},
 publisher = {ACM},
 address = {New York, NY, USA}
}

@article{Diwa96a,
 author = {Diwan, Amer and Moss, J. Eliot B. and McKinley, Kathryn S.},
 title = {Simple and Effective Analysis of Statically-typed Object-oriented Programs},
 journal = {SIGPLAN Not.},
 issue_date = {Oct. 1996},
 volume = {31},
 number = {10},
 month = oct,
 year = {1996},
 issn = {0362-1340},
 pages = {292--305},
 numpages = {14},
 url = {http://doi.acm.org/10.1145/236338.236367},
 doi = {10.1145/236338.236367},
 acmid = {236367},
 publisher = {ACM},
 address = {New York, NY, USA}}

@techreport{Diwa02a,
	Author = {Amer Diwan and Han Lee and Dirk Grunwald},
	Institution = {University of Colorado},
	Title = {Energy consumption and garbage collection in low-powered computing},
	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}}

@misc{Django,
	Key = {Django},
	Note = {http://www.djangoproject.com},
	Title = {Django}}

@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},
	Booktitle = {WOSP '04: Proceedings of the Fourth International Workshop on Software and Performance},
	Isbn = {1-58113-673-0},
	Keywords = {jfluid},
	Location = {Redwood Shores, California},
	Pages = {139--150},
	Publisher = {ACM Press},
	Title = {Profiling {Java} Applications Using Code Hotswapping and Dynamic Call Graph Revelation},
	Url = {http://www.sunlabs.com/projects/jfluid/jfluidpaper-wosp.pdf},
	Year = {2004},
	Bdsk-Url-1 = {http://www.sunlabs.com/projects/jfluid/jfluidpaper-wosp.pdf}}

@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,
	Acmid = {974067},
	Address = {New York, NY, USA},
	Author = {Dmitriev, Mikhail},
	Booktitle = {Proceedings of the 4th international workshop on Software and performance},
	Doi = {10.1145/974044.974067},
	Isbn = {1-58113-673-0},
	Location = {Redwood Shores, California},
	Numpages = {12},
	Pages = {139--150},
	Publisher = {ACM},
	Series = {WOSP '04},
	Title = {Profiling Java applications using code hotswapping and dynamic call graph revelation},
	Url = {http://doi.acm.org/10.1145/974044.974067},
	Year = {2004},
	Bdsk-Url-1 = {http://doi.acm.org/10.1145/974044.974067},
	Bdsk-Url-2 = {http://dx.doi.org/10.1145/974044.974067}}

@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}}

@techreport{Do16a,
  title={Just-in-Time Static Analysis},
  author={Do, Lisa Nguyen Quang and Ali, Karim and Livshits, Benjamin and Bodden, Eric and Smith, Justin and Murphy-Hill, Emerson and Fraunhofer, IEM},
  month=aug,
  year={2016},
  institution={University of Alberta},
  doi={10.7939/DVN/10859}
}

@inproceedings{Do17a,
  author       = {Do, Lisa Nguyen Quang and Ali, Karim and Livshits, Benjamin and Bodden, Eric and Smith, Justin and Murphy-Hill, Emerson},
  title        = {Just-in-time Static Analysis},
  booktitle    = {Proceedings of the 26th ACM SIGSOFT International Symposium on Software Testing and Analysis},
  year         = {2017},
  series       = {ISSTA 2017},
  publisher    = {ACM},
  location     = {New York, NY, USA},
  isbn         = {978-1-4503-5076-1},
  pages        = {307--317},
  doi          = {10.1145/3092703.3092705},
  url          = {http://doi.acm.org/10.1145/3092703.3092705},
  urldate      = {2017-08-04},
  abstract     = {We present the concept of Just-In-Time (JIT) static analysis that interleaves code development and bug fixing in an integrated development environment. Unlike traditional batch-style analysis tools, a JIT analysis tool presents warnings to code developers over time, providing the most relevant results quickly, and computing less relevant results incrementally later. In this paper, we describe general guidelines for designing JIT analyses. We also present a general recipe for transforming static data-flow analyses to JIT analyses through a concept of layered analysis execution. We illustrate this transformation through CHEETAH, a JIT taint analysis for Android applications. Our empirical evaluation of CHEETAH on real-world applications shows that our approach returns warnings quickly enough to avoid disrupting the normal workflow of developers. This result is confirmed by our user study, in which developers fixed data leaks twice as fast when using CHEETAH compared to an equivalent batch-style analysis.},
  keywords     = {Just-in-Time, Layered analysis, Static analysis}
}

@article{Dobs06a,
	Address = {New York, NY, USA},
	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},
	Doi = {10.1145/1186778.1186782},
	Issn = {1556-4665},
	Journal = {ACM Transactions on Autonomous and Adaptive Systems},
	Keywords = {damiencbib},
	Number = {2},
	Pages = {223--259},
	Publisher = {ACM},
	Title = {A survey of autonomic communications},
	Volume = {1},
	Year = {2006},
	Bdsk-Url-1 = {http://dx.doi.org/10.1145/1186778.1186782}}

@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}}

@article{Doga20a,
	abstract = {The effective representation of the relationship between the documents and their contents is crucial to increase classification performance of text documents in the text classification. Term weighting is a preprocess aiming to represent text documents better in Vector Space by assigning proper weights to terms. Since the calculation of the appropriate weight values directly affects performance of the text classification, in the literature, term weighting is still one of the important sub-research areas of text classification. In this study, we propose a novel term weighting (MONO) strategy which can use the non-occurrence information of terms more effectively than existing term weighting approaches in the literature. The proposed weighting strategy also performs intra-class document scaling to supply better representations of distinguishing capabilities of terms occurring in the different quantity of documents in the same quantity of class. Based on the MONO weighting strategy, two novel supervised term weighting schemes called TF-MONO and SRTF-MONO were proposed for text classification. The proposed schemes were tested with two different classifiers such as SVM and KNN on 3 different datasets named Reuters-21578, 20-Newsgroups, and WebKB. The classification performances of the proposed schemes were compared with 5 different existing term weighting schemes in the literature named TF-IDF, TF-IDF-ICF, TF-RF, TF-IDF-ICSDF, and TF-IGM. The results obtained from 7 different schemes show that SRTF-MONO generally outperformed other schemes for all three datasets. Moreover, TF-MONO has promised both Micro-F1 and Macro-F1 results compared to other five benchmark term weighting methods especially on the Reuters-21578 and 20-Newsgroups datasets.},
	author = {Turgut Dogan and Alper Kursat Uysal},
	doi = {https://doi.org/10.1016/j.joi.2020.101076},
	issn = {1751-1577},
	journal = {Journal of Informetrics},
	keywords = {Text classification, Supervised term weighting, Max-occurrence, Non-occurrence},
	number = {4},
	pages = {101076},
	title = {A novel term weighting scheme for text classification: TF-MONO},
	url = {https://www.sciencedirect.com/science/article/pii/S1751157720300705},
	volume = {14},
	year = {2020}}

@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,
	Acmid = {512439},
	Address = {New York, NY, USA},
	Author = {Domani, Tamar and Goldshtein, Gal and Kolodner, Elliot K. and Lewis, Ethan and Petrank, Erez and Sheinwald, Dafna},
	Booktitle = {Proceedings of the 3rd international symposium on Memory management},
	Doi = {10.1145/512429.512439},
	Isbn = {1-58113-539-4},
	Keywords = {JVM, Java, garbage collection, local garbage collection, locality, scalable garbage collection},
	Location = {Berlin, Germany},
	Numpages = {12},
	Pages = {76--87},
	Publisher = {ACM},
	Series = {ISMM '02},
	Title = {Thread-local heaps for Java},
	Year = {2002},
	Bdsk-Url-1 = {http://dx.doi.org/10.1145/512429.512439}}

@article{Domi97a,
	Acmid = {274160},
	Address = {Hingham, MA, USA},
	Author = {Domingos, Pedro and Pazzani, Michael},
	Doi = {10.1023/A:1007413511361},
	Issn = {0885-6125},
	Issue_Date = {Nov./Dec. 1997},
	Journal = {Mach. Learn.},
	Keywords = {Simple Bayesian classifier, induction with attribute dependences, naive Bayesian classifier, optimal classification, zero-one loss},
	Month = nov,
	Number = {2-3},
	Numpages = {28},
	Pages = {103--130},
	Publisher = {Kluwer Academic Publishers},
	Title = {On the Optimality of the Simple Bayesian Classifier Under Zero-One Loss},
	Url = {http://dx.doi.org/10.1023/A:1007413511361},
	Volume = {29},
	Year = {1997},
	Bdsk-Url-1 = {http://dx.doi.org/10.1023/A:1007413511361}}

@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}}

@techreport{Donz80a,
  TITLE = {{Programming environments based on structured editors : the Mentor experience}},
  AUTHOR = {Donzeau-Gouge, V{\'e}ronique and Huet, G{\'e}rard and Lang, Bernard and Kahn, Gilles},
  URL = {https://hal.inria.fr/inria-00076535},
  TYPE = {Research Report},
  NUMBER = {RR-0026},
  INSTITUTION = {{INRIA}},
  YEAR = {1980},
  PDF = {https://hal.inria.fr/inria-00076535/file/RR-0026.pdf}
}

@techreport{Dool21a,
	Title = {Tool Support for Commenting Conventions},
	Author = {Michael Dooley},
	Abstract = {Code comments play an important role in program comprehension and
		maintenance tasks. They are written in natural language, and are
		of a semi-structured or unstructured nature. Due to this,
		assessing their quality is a difficult task. One of the ways to
		assess comment quality is to verify if comments follow the
		respective coding style guidelines or not. Previous works have
		proposed to automatically assess comment quality using various
		linters or static tools. However, the extent to which these tools
		support various comment conventions is unknown. We thus assessed
		how well-known style checkers for Python and Java check comments
		and compare these to style guidelines. Even the best tool is
		useless if not used; as such we also analyzed how style checkers
		are used in practice by analyzing 48 well-known open source
		projects written in Python and Java respectively. The projects
		vary in domain, size, and contributors. We discovered that
		current style checkers generally do not check every convention
		found in style guidelines, with coverage being typically below
		25\%. We further found that style checker usage for comments is
		largely individualistic for some style checkers, while others
		most commonly use their default configuration. We also found that
		style checker violations do not always seem to be corrected, or
		usage of style checkers seems to have been disregarded or
		forgotten.},
	Institution = {University of Bern},
	Keywords = {scg-bp snf-asa3 scg21 jb21},
	Type = {Bachelor's thesis},
	Url = {http://scg.unibe.ch/archive/projects/Dool21a.pdf},
	Month = jul,
	Year = {2021}
}

@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}}

@article{Dors01a,
	Author = {Dorst, Kees and Cross, Nigel},
	Journal = {Design Studies},
	Number = {5},
	Title = {Creativity in the design process: co-evolution of problem-solution},
	Volume = {22},
	Year = {2001}}

@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)},
	Doi = {10.1007/3-540-45429-2_13},
	Month = sep,
	Pages = {170--186},
	Publisher = {Springer-Verlag},
	Series = {Lecture Notes in Computer Science},
	Title = {A formal definition of crosscuts},
	Volume = {2192},
	Year = {2001},
	Bdsk-Url-1 = {http://dx.doi.org/10.1007/3-540-45429-2_13}}

@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,
	Address = {London, UK},
	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},
	Keywords = {damiencbib aspect},
	Pages = {173-188},
	Publisher = {Springer-Verlag},
	Title = {A Framework for the Detection and Resolution of Aspect Interactions},
	Year = {2002}}

@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{Dour92a,
	Acmid = {143468},
	Address = {New York, NY, USA},
	Author = {Dourish, Paul and Bellotti, Victoria},
	Booktitle = {Proceedings of the 1992 ACM conference on Computer-supported cooperative work},
	Doi = {10.1145/143457.143468},
	Isbn = {0-89791-542-9},
	Keywords = {awareness, coordination, information sharing, shared feedback, shared workspaces},
	Location = {Toronto, Ontario, Canada},
	Numpages = {8},
	Pages = {107--114},
	Publisher = {ACM},
	Series = {CSCW '92},
	Title = {Awareness and coordination in shared workspaces},
	Url = {http://doi.acm.org/10.1145/143457.143468},
	Year = {1992},
	Bdsk-Url-1 = {http://doi.acm.org/10.1145/143457.143468},
	Bdsk-Url-2 = {http://dx.doi.org/10.1145/143457.143468}}

@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,
	Address = {Foster City, CA, USA},
	Author = {Troy Bryan Downing},
	Isbn = {978-0764580437},
	Keywords = {damiencbib},
	Publisher = {IDG Books Worldwide, Inc.},
	Title = {Java {RMI}: Remote Method Invocation},
	Year = {1998}}

@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 LHuzefaisp 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{Drag10a,
author = {Dragan, Natalia and Collard, Michael L. and Maletic, Jonathan I.},
title = {Automatic Identification of Class Stereotypes},
year = {2010},
isbn = {9781424486304},
publisher = {IEEE Computer Society},
address = {USA},
url = {https://doi.org/10.1109/ICSM.2010.5609703},
doi = {10.1109/ICSM.2010.5609703},
abstract = {An approach is presented to automatically determine a class's stereotype. The stereotype is based on the frequency and distribution of method stereotypes in the class. Method stereotypes are automatically determined using a defined taxonomy given in previous work. The stereotypes, boundary, control and entity are used as a basis but refined based on an empirical investigation of 21 systems. A number of heuristics, derived from empirical evidence, are used to determine a class's stereotype. For example, the prominence of certain types of methods can indicate a class's main role. The approach is applied to five open source systems and evaluated. The results show that 95% of the classes are stereotyped by the approach. Additionally, developers (via manual inspection) agreed with the approach's results.},
booktitle = {Proceedings of the 2010 IEEE International Conference on Software Maintenance},
pages = {1–10},
numpages = {10},
series = {ICSM '10}
}

@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}}

@techreport{Drep07a,
	Author = {Ulrich Drepper},
	Institution = {Red Hat, Inc.},
	Month = nov,
	Title = {What Every Programmer Should Know About Memory},
	Url = {http://www.akkadia.org/drepper/cpumemory.pdf},
	Year = {2007},
	Bdsk-Url-1 = {http://www.akkadia.org/drepper/cpumemory.pdf}}

@inproceedings{Drew00a,
  title={Hierarchical graph transformation},
  author={Drewes, Frank and Hoffmann, Berthold and Plump, Detlef},
  booktitle={International Conference on Foundations of Software Science and Computation Structures},
  pages={98--113},
  year={2000},
  organization={Springer},
  doi={10.1007/3-540-46432-8_7},
  keywords = {hypergraphs, hierarchical graphs}
}

@article{Drew02a,
  title={Hierarchical graph transformation},
  author={Drewes, Frank and Hoffmann, Berthold and Plump, Detlef},
  journal={Journal of Computer and System Sciences},
  volume={64},
  number={2},
  pages={249--283},
  year={2002},
  publisher={Elsevier},
  doi={10.1006/jcss.2001.1790},
  keywords = {hypergraphs, hierarchical graphs}
}

@inproceedings{Drey09a,
	Address = {Oxford, UK},
	Author = {Drey, Zo{\'e} and Mercadal, Julien and Consel, Charles},
	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},
	Pages = {78--99},
	Publisher = {Springer-Verlag},
	Title = {A Taxonomy-Driven Approach to Visually Prototyping Pervasive Computing Applications},
	Volume = {5658},
	Year = {2009},
	Bdsk-Url-1 = {http://dx.doi.org/10.1007/978-3-642-03034-5_5}}

@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},
	Doi = {10.1007/3-540-49538-X_13},
	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},
	Bdsk-Url-1 = {http://dx.doi.org/10.1007/3-540-49538-X_13}}

@inproceedings{Drie96a,
	Acmid = {236369},
	Address = {New York, NY, USA},
	Author = {Driesen, Karel and H\"{o}lzle, Urs},
	Booktitle = {Proceedings of the 11th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications},
	Doi = {10.1145/236337.236369},
	Isbn = {0-89791-788-X},
	Location = {San Jose, California, United States},
	Numpages = {18},
	Pages = {306--323},
	Publisher = {ACM},
	Series = {OOPSLA '96},
	Title = {The direct cost of virtual function calls in {C++}},
	Year = {1996},
	Bdsk-Url-1 = {http://dx.doi.org/10.1145/236337.236369}}

@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,
	Acmid = {680007},
	Address = {London, UK, UK},
	Author = {Drossopoulou, Sophia and Damiani, Ferruccio and Dezani-Ciancaglini, Mariangiola and Giannini, Paola},
	Booktitle = {Proceedings of the 15th European Conference on Object-Oriented Programming},
	Isbn = {3-540-42206-4},
	Numpages = {20},
	Pages = {130--149},
	Publisher = {Springer-Verlag},
	Series = {ECOOP '01},
	Title = {Fickle: Dynamic Object Re-classification},
	Url = {http://portal.acm.org/citation.cfm?id=646158.680007},
	Year = {2001},
	Bdsk-Url-1 = {http://portal.acm.org/citation.cfm?id=646158.680007}}

@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{Dual12a,
 author = {Duala-Ekoko, Ekwa and Robillard, Martin P.},
 title = {Asking and Answering Questions About Unfamiliar APIs: An Exploratory Study},
 booktitle = {Proceedings of the 34th International Conference on Software Engineering},
 series = {ICSE '12},
 year = {2012},
 isbn = {978-1-4673-1067-3},
 location = {Zurich, Switzerland},
 pages = {266--276},
 numpages = {11},
 url = {http://dl.acm.org/citation.cfm?id=2337223.2337255},
 acmid = {2337255},
 publisher = {IEEE Press},
 address = {Piscataway, NJ, USA},
 Keywords = {dev-questions}}

@article{Duba04a,
  title={The Principles of Readability},
  author={DuBay, William H},
  journal={Online Submission},
  year={2004},
  publisher={ERIC}
}

@article{Dube00a,
	Author = {Dub\'{e}, Danny and Feeley, Marc},
	Doi = {10.1007/s002360000037},
	Journal = {Acta Informatica},
	Number = {2},
	Pages = {121--144},
	Publisher = {Springer-Verlag},
	Title = {Efficiently building a parse tree from a regular expression},
	Volume = {37},
	Year = {2000},
	Bdsk-Url-1 = {http://dx.doi.org/10.1007/s002360000037}}

@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}}

@techreport{Duby92a,
 author = {Duby, Carolyn K. and Meyers, Scott and Reiss, Steven P.},
 title = {CCEL: A Metalanguage for C++},
 year = {1992},
 source = {http://www.ncstrl.org:8900/ncstrl/servlet/search?formname=detail\&id=oai%3Ancstrlh%3Abrowncs%3ABrownCS%2F%2FCS-92-51},
 publisher = {Brown University},
 address = {Providence, RI, USA}}

@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,
	Acceptnum = {27},
	Accepttotal = {167},
	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\%},
	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.},
	Acceptnum = {19},
	Accepttotal = {197},
	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 scg-none jb97 scg-coord-98 stefPub},
	Misc = {acceptance rate: 19/197 = 9\%},
	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 scg-none 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 scg-none 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 scg-none 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 scg-none 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 scg-none 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 scg-none 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 scg-none jb98 stefPub},
	Month = jun,
	Note = {FZI 6/7/98},
	Title = {Proceedings of the {ECOOP}'98 Workshop on Experiences in Object-Oriented Re-Engineering},
	url = {https://link.springer.com/content/pdf/10.1007%2F3-540-49255-0_16.pdf},
	Year = {1998}}

@misc{Duca98z,
	Annote = {workshopproceedings},
	Author = {St\'ephane Ducasse and Joachim Weisbrod},
	Booktitle = {Object-Oriented Technology (ECOOP'98 Workshop Reader)},
	Keywords = {scg-pub skip-abstract skip-doi scg-none 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},
	url = {https://link.springer.com/chapter/10.1007/3-540-49255-0_16},
	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 scg-none 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.},
	Acceptnum = {49},
	Accepttotal = {100},
	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 scg-none jb99 oorp stefPub moose-pub},
	Misc = {acceptance rate: 49/100 = 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 scg-none 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 scg-none 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 scg-none 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 scg-none jb-none 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 scg-none 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 scg-none 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 scg-none 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 scg-none 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.},
	Acceptnum = {18},
	Accepttotal = {52},
	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 scg-none jb00 scg-coord-00 stefPub},
	Misc = {acceptance rate: 18/52 = 35\%},
	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 scg-none 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 scg-none 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 scg-none 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 scg-none 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 scg-none 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 scg-none 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 scg-none 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 scg-none 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 scg-none 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 scg-none 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.},
	Acceptnum = {33},
	Accepttotal = {62},
	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 scg-none jb04 moose-pub},
	Misc = {acceptance rate: 33/62 = 52\%},
	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 scg-none 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 = {scg-none 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 scg-none 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 scg-none 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 scg-none 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 scg-none 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.},
	Acceptnum = {39},
	Accepttotal = {89},
	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 = {scg-none jb06 scg-pub stefPub moose-pub recast06},
	Misc = {acceptance rate: 39/89 = 44\%},
	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 scg-none 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 = {scg-none 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 scg-none 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.},
	Acceptnum = {27},
	Accepttotal = {65},
	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 scg-none jb06 fb06 stefPub girba},
	Medium = {2},
	Misc = {acceptance rate: 27/65 = 42 \%},
	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 = {TOPLAS: ACM Transactions on Programming Languages and Systems},
	Keywords = {scg-pub stefPub snf05 snf06 scg-none 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.},
	Acceptnum = {41},
	Accepttotal = {147},
	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 scg-none jb07 fb06 stefPub moose-pub girba recast07 snf06 akuhn},
	Medium = {2},
	Misc = {acceptance rate: 41/147 = 28\%},
	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 scg-none 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 the
          y? 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 scg-none jb06 stefPub duploc onhindex(38)},
	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://scg.unibe.ch/archive/papers/Duca07a-SeasideIEEE-SCG.pdf},
	Volume = {24},
	Year = {2007},
	Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Duca07a-SeasideIEEE-SCG.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.},
	Acceptnum = {33},
	Accepttotal = {156},
	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\%},
	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.},
	Acceptnum = {46},
	Accepttotal = {214},
	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\%},
	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,
	Abstract = {Single inheritance often forces developers to
				  duplicate code and logic. This widely recognized
				  situation affects both business code and tests. In a
				  large and complex application whose classes
				  implement many groups of methods (protocols),
				  duplication may also follow the application's
				  idiosyncrasies, making it difficult to specify,
				  maintain, and reuse tests. The research questions we
				  faced are (i) how can we reuse test specifications
				  across and within complex inheritance hierarchies,
				  especially in presence of orthogonal protocols; (ii)
				  how can we test interface behavior in a modular way;
				  (iii) how far can we reuse and parametrize
				  composable tests. In this paper, we compose tests
				  out of separately specified behavioral units of
				  reuse ---traits. We propose \emph{test traits},
				  where: (i) specific test cases are composed from
				  independent specifications; (ii) executable behavior
				  specifications may be reused orthogonally to the
				  class hierarchy under test; (iii) test fixtures are
				  external to the test specifications, thus are easier
				  to specialize. Traits have been successfully applied
				  to test two large and critical class libraries in
				  Pharo, a new Smalltalk dialect based on Squeak, but
				  are applicable to other languages with traits.},
	Acceptnum = {17},
	Accepttotal = {67},
	Address = {Zurich, Switzerland},
	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},
	Coreranking = {B},
	Keywords = {tools09 traits},
	Misc = {acceptance rate: 17/67 = 25\%},
	Month = jun,
	Pages = {252--271},
	Title = {Reusing and Composing Tests with Traits},
	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.},
	Address = {New York, NY, USA},
	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)},
	Doi = {10.1145/1735935.1735949},
	Inria = {dans},
	Isbn = {978-1-60558-899-5},
	Keywords = {stefPub jb10 scg-pub scg10 snf10},
	PeerReview = {yes},
	Medium = {1},
	Location = {Brest, France},
	Month = {jun},
	Pages = {82--86},
	Publisher = {ACM},
	Selectif = {non},
	Title = {Evolving a Reflective Language},
	Url = {http://scg.unibe.ch/archive/papers/Duca09bTraitsEvolution.pdf},
	Year = {2009},
	Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Duca09bTraitsEvolution.pdf},
	Bdsk-Url-2 = {http://dx.doi.org/10.1145/1735935.1735949}}

@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 TSE: 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.},
	Annote = {book},
	Author = {St\'ephane Ducasse and Lukas Renggli and C. David Shaffer and Rick Zaccone and Michael Davies},
	Isbn = {978-3-9523341-1-9},
	Keywords = {scg-pub scg10 skip-doi snf-none jb10 evol11},
	Medium = {2},
	Note = {http://book.seaside.st/book},
	Peerreview = {no},
	Publisher = {Square Bracket Associates},
	Title = {Dynamic Web Development with Seaside},
	Url = {http://book.seaside.st/book},
	Year = {2010},
	Bdsk-Url-1 = {http://book.seaside.st/book}}

@inproceedings{Duca11a,
	Author = {St\'ephane Ducasse and Manuel Oriol and Alexandre Bergel},
	Booktitle = {Proceedings of the 3rd International Workshop on Smalltalk Technologies (IWST'11)},
	Publisher = {ACM},
	Title = {Challenges to support automated random testing for dynamically typed languages},
	Year = {2011}}

@book{Duca17a,
	Annote = {book},
	Author = {St\'ephane Ducasse and Dmitri Zagidulin and Nicolai Hess and Dimitris Chloupis},
	Isbn = {978-1-365-65459-6},
	Medium = {2},
	Peerreview = {no},
	Publisher = {Square Bracket Associates},
	Title = {Pharo by Example 5.0},
	Url = {http://files.pharo.org/books/updated-pharo-by-example/},
	Year = {2017},
	Bdsk-Url-1 = {http://files.pharo.org/books/updated-pharo-by-example/}}

@inproceedings{Ducl16a,
 author = {Le, Duc and Medvidovic, Nenad},
 title = {Architectural-based Speculative Analysis to Predict Bugs in a Software System},
 booktitle = {Proceedings of the 38th International Conference on Software Engineering Companion},
 series = {ICSE '16},
 year = {2016},
 isbn = {978-1-4503-4205-6},
 location = {Austin, Texas},
 pages = {807--810},
 numpages = {4},
 url = {http://doi.acm.org/10.1145/2889160.2889260},
 doi = {10.1145/2889160.2889260},
 acmid = {2889260},
 publisher = {ACM},
 address = {New York, NY, USA},
 keywords = {architectural decay, architectural-based analysis, bug prediction, speculative analysis}
}

@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,
	Acmid = {507645},
	Address = {New York, NY, USA},
	Author = {Duggan, Dominic},
	Booktitle = {Proceedings of the sixth ACM SIGPLAN international conference on Functional programming},
	Doi = {10.1145/507635.507645},
	Isbn = {1-58113-415-0},
	Keywords = {dynamic typing, hot swapping, module interconnection languages, shared libraries},
	Location = {Florence, Italy},
	Numpages = {12},
	Pages = {62--73},
	Publisher = {ACM},
	Series = {ICFP '01},
	Title = {Type-based hot swapping of running modules (extended abstract)},
	Url = {http://doi.acm.org/10.1145/507635.507645},
	Year = {2001},
	Bdsk-Url-1 = {http://doi.acm.org/10.1145/507635.507645},
	Bdsk-Url-2 = {http://dx.doi.org/10.1145/507635.507645}}

@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,
	Acmid = {1048697},
	Address = {Secaucus, NJ, USA},
	Author = {Dominic Duggan},
	Doi = {10.1007/s00236-004-0151-1},
	Issn = {0001-5903},
	Issue = {4},
	Journal = {Acta Inf.},
	Month = mar,
	Numpages = {40},
	Pages = {181--220},
	Publisher = {Springer-Verlag New York, Inc.},
	Title = {Type-based hot swapping of running modules},
	Url = {http://portal.acm.org/citation.cfm?id=1048696.1048697},
	Volume = {41},
	Year = {2005},
	Bdsk-Url-1 = {http://portal.acm.org/citation.cfm?id=1048696.1048697},
	Bdsk-Url-2 = {http://dx.doi.org/10.1007/s00236-004-0151-1}}

@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{Dura81a,
	author = {Duran, Joe W. and Ntafos, Simeon},
 	title = {A Report on Random Testing},
 	booktitle = {Proceedings of the 5th International Conference on Software Engineering},
 	series = {ICSE '81},
 	year = {1981},
 	isbn = {0-89791-146-6},
 	location = {San Diego, California, USA},
 	pages = {179--183},
 	numpages = {5},
 	url = {http://dl.acm.org/citation.cfm?id=800078.802530},
	acmid = {802530},
	publisher = {IEEE Press},
	address = {Piscataway, NJ, USA}
}

@inproceedings{Duse12a,
	title = {Vasco: A visual approach to explore object churn in framework-intensive applications},
	author = {Duseau, Fleur and Dufour, Bruno and Sahraoui, Houari},
	booktitle = {Software Maintenance (ICSM), 2012 28th IEEE International Conference on},
	pages = {15--24},
	year = {2012},
	organization = {IEEE}}

@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}}

@book{Dust99a,
 author = {Dustin, Elfriede and Rashka, Jeff and Paul, John},
 title = {Automated Software Testing: Introduction, Management, and Performance},
 year = {1999},
 isbn = {0-201-43287-0},
 publisher = {Addison-Wesley Longman Publishing Co., Inc.},
 address = {Boston, MA, USA}
}

@inproceedings{Dusz09a,
	Author = {Duszynski, S. and Knodel, Jens and Lindvall, M.},
	Booktitle = {Software Maintenance and Reengineering, 2009. CSMR '09. 13th European Conference on},
	Doi = {10.1109/CSMR.2009.52},
	Issn = {1534-5351},
	Keywords = {program verification;program visualisation;software architecture;software performance evaluation;SAVE tool;compliance checking;implemented software system;software architecture visualization;software evaluation;Computer architecture;Educational institutions;Feedback;Reverse engineering;Runtime;Software architecture;Software engineering;Software maintenance;Software systems;Visualization;SAVE;compliance checking;reverse engineering;software architecture;visualization},
	Pages = {323-324},
	Title = {SAVE: Software Architecture Visualization and Evaluation},
	Year = {2009},
	Bdsk-Url-1 = {http://dx.doi.org/10.1109/CSMR.2009.52}}

@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}}

@book{Duva07a,
 author = {Duvall, Paul and Matyas, Stephen M. and Glover, Andrew},
 title = {Continuous Integration: Improving Software Quality and Reducing Risk (The Addison-Wesley Signature Series)},
 year = {2007},
 isbn = {0321336380},
 publisher = {Addison-Wesley Professional}
}

@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}}

@inproceedings{Dwye07a,
	Author = {Dwyer, M.B. and Kinneer, A. and Elbaum, S.},
	Booktitle = {Software Engineering, 2007. ICSE 2007. 29th International Conference on},
	Doi = {10.1109/ICSE.2007.12},
	Issn = {0270-5257},
	Keywords = {Java run-time analysis;adaptive online program analysis;stateful program specifications;formal specification;program diagnostics;},
	Month = {may},
	Pages = {220 -229},
	Title = {Adaptive Online Program Analysis},
	Url = {www.cs.colostate.edu/~france/CS614/Readings/Readings2011/DynamicAnalysis-28280220.pdf},
	Year = {2007},
	Bdsk-Url-1 = {www.cs.colostate.edu/~france/CS614/Readings/Readings2011/DynamicAnalysis-28280220.pdf},
	Bdsk-Url-2 = {http://dx.doi.org/10.1109/ICSE.2007.12}}

@article{Dyba08a,
  title={Empirical studies of agile software development: A systematic review},
  author={Dyb{\aa}, Tore and Dings{\o}yr, Torgeir},
  journal={Information and software technology},
  volume={50},
  number={9-10},
  pages={833--859},
  year={2008},
  publisher={Elsevier}
}

@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}}

@inproceedings{Dye13a,
	Acmid = {2486844},
	Address = {Piscataway, NJ, USA},
	Author = {Dyer, Robert and Nguyen, Hoan Anh and Rajan, Hridesh and Nguyen, Tien N.},
	Booktitle = {Proceedings of the 2013 International Conference on Software Engineering},
	Isbn = {978-1-4673-3076-3},
	Keywords = {boa, source code mining, visitor pattern},
	Location = {San Francisco, CA, USA},
	Numpages = {10},
	Pages = {422--431},
	Publisher = {IEEE Press},
	Series = {ICSE '13},
	Title = {Boa: A Language and Infrastructure for Analyzing Ultra-large-scale Software Repositories},
	Url = {http://design.cs.iastate.edu/papers/ICSE-13/icse13.pdf},
	Year = {2013},
	Bdsk-Url-1 = {http://design.cs.iastate.edu/papers/ICSE-13/icse13.pdf}}

@inproceedings{Dye13b,
	Acmid = {2517226},
	Address = {New York, NY, USA},
	Author = {Dyer, Robert and Rajan, Hridesh and Nguyen, Tien N.},
	Booktitle = {Proceedings of the 12th International Conference on Generative Programming: Concepts \&\#38; Experiences},
	Doi = {10.1145/2517208.2517226},
	Isbn = {978-1-4503-2373-4},
	Keywords = {boa, source code mining, visitor pattern},
	Location = {Indianapolis, Indiana, USA},
	Numpages = {10},
	Pages = {23--32},
	Publisher = {ACM},
	Series = {GPCE '13},
	Title = {Declarative Visitors to Ease Fine-grained Source Code Mining with Full History on Billions of {AST} Nodes},
	Url = {http://boa.cs.iastate.edu/papers/gpce13.pdf},
	Year = {2013},
	Bdsk-Url-1 = {http://boa.cs.iastate.edu/papers/gpce13.pdf},
	Bdsk-Url-2 = {http://dx.doi.org/10.1145/2517208.2517226}}

@inproceedings{Dyer14a,
 author = {Dyer, Robert and Rajan, Hridesh and Nguyen, Hoan Anh and Nguyen, Tien N.},
 title = {Mining Billions of {AST} Nodes to Study Actual and Potential Usage of {Java} Language Features},
 booktitle = {Proceedings of the 36th International Conference on Software Engineering},
 series = {ICSE 2014},
 year = {2014},
 isbn = {978-1-4503-2756-5},
 location = {Hyderabad, India},
 pages = {779--790},
 numpages = {12},
 url = {http://doi.acm.org/10.1145/2568225.2568295},
 doi = {10.1145/2568225.2568295},
 acmid = {2568295},
 publisher = {ACM},
 address = {New York, NY, USA},
 keywords = {Java, empirical study, language feature use, software mining}
}

@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}}

@incollection{East08a,
year={2008},
isbn={978-1-84800-043-8},
booktitle={Guide to Advanced Empirical Software Engineering},
editor={Shull, Forrest and Singer, Janice and Sjoberg, DagI.K.},
doi={10.1007/978-1-84800-044-5_11},
title={Selecting Empirical Methods for Software Engineering Research},
url={http://dx.doi.org/10.1007/978-1-84800-044-5_11},
publisher={Springer London},
author={Easterbrook, Steve and Singer, Janice and Storey, Margaret-Anne and Damian, Daniela},
pages={285-311},
language={English}
}

@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}}

@inproceedings{Eber96a,
	Address = {London, UK, UK},
	Author = {Ebert, J\"{u}rgen and Winter, Andreas and Dahm, Peter and Franzke, Angelika and S\"{u}ttenbach, Roger},
	Booktitle = {Proceedings of the 15th International Conference on Conceptual Modeling},
	Isbn = {3-540-61784-1},
	Numpages = {16},
	Pages = {163--178},
	Publisher = {Springer-Verlag},
	Series = {ER '96},
	Title = {Graph Based Modeling and Implementation with EER / GRAL},
	Url = {http://dl.acm.org/citation.cfm?id=647518.727528},
	Year = {1996},
	Bdsk-Url-1 = {http://dl.acm.org/citation.cfm?id=647518.727528}}

@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},
	Institution = {Department of Computer Science, K.U.Leuven, Leuven, Belgium},
	Number = {CW415},
	Title = {Influence of type systems on dynamic software evolution},
	Type = {CW Reports},
	Url = {https://lirias.kuleuven.be/handle/123456789/131703},
	Year = {2005},
	Bdsk-Url-1 = {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,
	Acmid = {1352680},
	Address = {New York, NY, USA},
	Author = {Ebraert, Peter and Vallejos, Jorge and Costanza, Pascal and Van Paesschen, Ellen and D'Hondt, Theo},
	Booktitle = {Proceedings of the 2007 international conference on Dynamic languages: in conjunction with the 15th International Smalltalk Joint Conference 2007},
	Isbn = {978-1-60558-084-5},
	Location = {Lugano, Switzerland},
	Numpages = {22},
	Pages = {3--24},
	Publisher = {ACM},
	Series = {ICDL '07},
	Title = {Change-oriented software engineering},
	Year = {2007}}

@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{Ecli20a,
	key = {Eclipse Style guidelines},
	url = {https://wiki.eclipse.org/DocumentationGuidelines/StyleGuidelines},
	note = {verified on 10 April 2020},
	year = {2020},
	Title = {Eclipse Style Guidelines}}

@misc{Eclipse03a,
	Key = {Eclipse03a},
	Keywords = {damiencbib},
	Title = {Eclipse Platform: Technical Overview},
	Url = {http://www.\-eclipse\-.org/\-white\-papers/\-eclipse-over\-view.pdf},
	Year = {2003},
	Bdsk-Url-1 = {http://www.%5C-eclipse%5C-.org/%5C-white%5C-papers/%5C-eclipse-over%5C-view.pdf}}

@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/}}

@phdthesis{Econ06a,
    author = {Giorgios Robert Economopoulos},
    title = {Generalised LR parsing algorithms},
    year = {2006},
  	School = {University of London}
}

@inbook{Econ09a,
	author={Economopoulos, Giorgios and Klint, Paul and Vinju, Jurgen},
	chapter={Faster Scannerless GLR Parsing},
	title={Compiler Construction: 18th International Conference, CC 2009, Held as Part of the Joint European Conferences on Theory and Practice of Software, ETAPS 2009, York, UK, March 22-29, 2009. Proceedings},
	year={2009},
	publisher={Springer Berlin Heidelberg},
	address={Berlin, Heidelberg},
	pages={126--141},
	isbn={978-3-642-00722-4},
	doi={10.1007/978-3-642-00722-4_10},
	url={http://dx.doi.org/10.1007/978-3-642-00722-4_10}
}

@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,
	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},
	Booktitle = {SEAMS'09: Proceedings of the 4th International Symposium on Software Engineering for Adaptive and Self-Managing Systems},
	Doi = {10.1109/SEAMS.2009.5069083},
	Isbn = {978-1-4244-3724-5},
	Keywords = {damiencbib robotics scc},
	Location = {Vancouver, BC, Canada},
	Month = may,
	Pages = {142--151},
	Publisher = {IEEE Computer Society},
	Title = {Architecture-driven self-adaptation and self-management in robotics systems},
	Year = {2009},
	Bdsk-Url-1 = {http://dx.doi.org/10.1109/SEAMS.2009.5069083}}

@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}}

@inproceedings{Efft06a,
	Author = {Efftinge, Sven and V{\"o}lter, Markus},
	Booktitle = {Workshop on Modeling Symposium at Eclipse Summit},
	Month = sep,
	Pages = {1-4},
	Title = {{oAW xText}: A framework for textual {DSLs}},
	Url = {http://voelter.de/data/workshops/EfftingeVoelterEclipseSummit.pdf},
	Volume = {32},
	Year = {2006},
	Bdsk-Url-1 = {http://voelter.de/data/workshops/EfftingeVoelterEclipseSummit.pdf}}

@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}}

@techreport{Eggi18a,
	Title = {Software Testing in Industry --- Assessing Unit Testing in an Industrial Software Project},
	Author = {Markus Eggimann},
	Abstract = {Automated testing is an important technique to ensure the quality
		of a software system, and there is a general consensus in industry
		that testing is a critical part of the development process.
		However, recent studies suggest that unit testing is not that
		widely practiced. In this thesis, we studied an industrial software
		project called EPOF with respect to testing. We tried to answer the
		question whether the discovery of bugs pushes the writing of tests,
		whether unit tests help to prevent bugs, and whether the system's
		architecture facilitates or impedes unit testing. To answer those
		questions, we studied the bug reports and associated bug fix
		reports of the project. Our results showed that the test coverage
		was rather low, and most bugs were fixed without adding or changing
		any tests, most bugs were detected by manual testers or customers
		and not by the existing tests and that the testability of the code
		is low in most parts of the system. In 2017, the development team
		decided to give unit testing higher priority. Our results show that
		this decision, together with other development process
		improvements, indeed had a positive effect on the bug rate and the
		testability of the system.},
	Institution = {University of Bern},
	Keywords = {scg-bp snf-asa2 scg18 jb19},
	Type = {Bachelor's thesis},
	Url = {http://scg.unibe.ch/archive/projects/Eggi18a.pdf},
	Month = sep,
	Year = {2018}
}

@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{Ehrl16a,
  title={Towards a Definition of Knowledge Graphs.},
  author={Ehrlinger, Lisa and W{\"o}{\ss}, Wolfram},
  journal={SEMANTiCS (Posters, Demos, SuCCESS)},
  volume={48},
  pages={1--4},
  url = {http://ceur-ws.org/Vol-1695/paper4.pdf},
  keywords = {knowledge-graphs},
  year={2016}
}

@inproceedings{Eich04a,
 author = {Eichberg, Michael and Sch\"{a}fer, Thorsten},
 title = {XIRC: Cross-artifact Information Retrieval [GPCE]},
 booktitle = {Companion to the 19th Annual ACM SIGPLAN Conference on Object-oriented Programming Systems, Languages, and Applications},
 series = {OOPSLA '04},
 year = {2004},
 isbn = {1-58113-833-4},
 location = {Vancouver, BC, CANADA},
 pages = {43--44},
 numpages = {2},
 url = {http://doi.acm.org/10.1145/1028664.1028688},
 doi = {10.1145/1028664.1028688},
 acmid = {1028688},
 publisher = {ACM},
 address = {New York, NY, USA},
 keywords = {code validation, cross-artifact information engineering, search engine}
}

@inproceedings{Eich08a,
	Address = {New York, NY, USA},
	Author = {Eichberg, Michael and Kloppenburg, Sven and Klose, Karl and Mezini, Mira},
	Booktitle = {Proceedings of the 30th international conference on Software engineering},
	Doi = {10.1145/1368088.1368142},
	Isbn = {978-1-60558-079-1},
	Keywords = {continuous checking, controlling program dependencies, datalog, static analysis, LogEN},
	Location = {Leipzig, Germany},
	Numpages = {10},
	Pages = {391--400},
	Publisher = {ACM},
	Series = {ICSE '08},
	Title = {Defining and continuous checking of structural program dependencies},
	Url = {http://doi.acm.org/10.1145/1368088.1368142},
	Year = {2008},
	Bdsk-Url-1 = {http://doi.acm.org/10.1145/1368088.1368142},
	Bdsk-Url-2 = {http://dx.doi.org/10.1145/1368088.1368142}}

@article{Eick92a,
	Author = {Stephen G. Eick and Joseph L. Steffen and Eric E., Jr., Sumner},
	Journal = {IEEE Transactions on Software Engineering},
	Keywords = {sde-visualization},
	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}}

@article{Eise97a,
  author       = {Eisenstadt, Marc},
  title        = {My Hairiest Bug War Stories},
  journal      = {Commun. ACM},
  year         = {1997},
  volume       = {40},
  number       = {4},
  month        = apr,
  pages        = {30--37},
  issn         = {0001-0782},
  doi          = {10.1145/248448.248456},
  url          = {http://doi.acm.org/10.1145/248448.248456},
  acmid        = {248456},
  address      = {New York, NY, USA},
  issue_date   = {April 1997},
  numpages     = {8},
  publisher    = {ACM}
}

@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{Eise07a,
 author = {Eisenberg, Andrew D. and Kiczales, Gregor},
 title = {Expressive Programs Through Presentation Extension},
 booktitle = {Proceedings of the 6th International Conference on Aspect-oriented Software Development},
 series = {AOSD '07},
 year = {2007},
 isbn = {1-59593-615-7},
 location = {Vancouver, British Columbia, Canada},
 pages = {73--84},
 numpages = {12},
 url = {http://doi.acm.org/10.1145/1218563.1218573},
 doi = {10.1145/1218563.1218573},
 acmid = {1218573},
 publisher = {ACM},
 address = {New York, NY, USA},
 keywords = {MOP, annotations, expressiveness, metadata, metaobject protocol}
}

@inproceedings{Eise10a,
 author = {Eisenberg, Daniel S. and Stylos, Jeffrey and Myers, Brad A.},
 title = {Apatite: A New Interface for Exploring {APIs}},
 booktitle = {Proceedings of the SIGCHI Conference on Human Factors in Computing Systems},
 series = {CHI '10},
 year = {2010},
 isbn = {978-1-60558-929-9},
 location = {Atlanta, Georgia, USA},
 pages = {1331--1334},
 numpages = {4},
 url = {http://doi.acm.org/10.1145/1753326.1753525},
 doi = {10.1145/1753326.1753525},
 acmid = {1753525},
 publisher = {ACM},
 address = {New York, NY, USA},
 keywords = {api documentation, browsing, search tools, visualizations, web applications}
}

@inproceedings{Eise10b,
 author = {Eisenberg, Daniel S. and Stylos, Jeffrey and Faulring, Andrew and Myers, Brad A.},
 title = {Using Association Metrics to Help Users Navigate API Documentation},
 booktitle = {Proceedings of the 2010 IEEE Symposium on Visual Languages and Human-Centric Computing},
 series = {VLHCC '10},
 year = {2010},
 isbn = {978-0-7695-4206-5},
 pages = {23--30},
 numpages = {8},
 url = {http://dx.doi.org/10.1109/VLHCC.2010.13},
 doi = {10.1109/VLHCC.2010.13},
 acmid = {1916349},
 publisher = {IEEE Computer Society},
 address = {Washington, DC, USA},
 keywords = {API Documentation, Search tool, Browsing, Visualizations, Web applications}
}

@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,
	Address = {Amsterdam, The Netherlands},
	Author = {G\"{o}rel Hedin and Eva Magnusson},
	Doi = {10.1016/S0167-6423(02)00109-0},
	Journal = {Science of Computer Programming},
	Keywords = {damiencbib},
	Number = {1},
	Pages = {37--58},
	Publisher = {Elsevier North-Holland, Inc.},
	Title = {{JastAdd}: An aspect-oriented compiler construction system},
	Volume = {47},
	Year = {2003},
	Bdsk-Url-1 = {http://dx.doi.org/10.1016/S0167-6423(02)00109-0}}

@article{Ekma07a,
	Annote = {InternationalConference},
	Author = {Torbj{\"o}rn Ekman and G{\"o}rel Hedin},
	Doi = {10.5381/jot.2007.6.9.a23},
	Journal = {Journal of Object Technology},
	Keywords = {damiencbib jastadd},
	Number = {9},
	Pages = {455--475},
	Title = {Pluggable checking and inferencing of non-null types for {Java}},
	Volume = {6},
	Year = {2007},
	Bdsk-Url-1 = {http://dx.doi.org/10.5381/jot.2007.6.9.a23}}

@article{Ekma07b,
	Address = {Amsterdam, The Netherlands},
	Author = {Torbj\"{o}rn Ekman and G\"{o}rel Hedin},
	Doi = {10.1016/j.scico.2007.02.003},
	Journal = {Science of Computer Programming},
	Keywords = {damiencbib},
	Number = {1-3},
	Pages = {14--26},
	Publisher = {Elsevier North-Holland, Inc.},
	Title = {The {JastAdd} system -- modular extensible compiler construction},
	Volume = 69,
	Year = {2007},
	Bdsk-Url-1 = {http://dx.doi.org/10.1016/j.scico.2007.02.003}}

@inproceedings{Ekma07c,
	Address = {Montreal, Quebec, Canada},
	Author = {Torbj\"{o}rn Ekman and G\"{o}rel Hedin},
	Booktitle = {OOPSLA'07: Proceedings of the 22nd Conference on Object-Oriented Programming, Systems, Languages, and Applications},
	Doi = {10.1145/1297027.1297029},
	Editor = {Richard P. Gabriel and David F. Bacon and Cristina Videira Lopes and Guy L. Steele Jr.},
	Keywords = {damiencbib jastaddj},
	Pages = {1--18},
	Publisher = {ACM Press},
	Title = {The {JastAdd} extensible {Java} compiler},
	Year = {2007},
	Bdsk-Url-1 = {http://dx.doi.org/10.1145/1297027.1297029}}

@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}}

@phdthesis{Eldh11a,
  Author = {Sigrid Eldh},
  Institution = {M\"alardalen University},
  School = {School of Innovation, Design and Engineering},
  Title = {On Test Design},
  Year = {2011}
}

@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{Elis08a,
	Author = {Elish, Karim O and Elish, Mahmoud O},
	Journal = {Journal of Systems and Software},
	Number = {5},
	Pages = {649--660},
	Publisher = {Elsevier},
	Title = {Predicting defect-prone software modules using support vector machines},
	Volume = {81},
	Year = {2008}}

@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}}

@book{Elli94a,
  title={Hidden Markov Models},
  author={Elliott, Robert J and Aggoun, Lakhdar and Moore, John B},
  year={1994},
  publisher={Springer}
}

@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{Emde12a,
	title = {Assuring software quality by code smell detection},
	author = {van Emden, Eva and Moonen, Leon},
	booktitle = {Reverse Engineering (WCRE), 2012 19th Working Conference on},
	pages = {xix--xix},
	year = {2012},
	organization = {Citeseer}
}

@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},
	School = {University of Bordeaux},
	Title = {Projection de politiques de tol\'erance aux fautes dans les architectures logicielles},
	Year = {2009}}

@inproceedings{Enck11a,
 author = {Enck, William and Octeau, Damien and McDaniel, Patrick and Chaudhuri, Swarat},
 title = {A Study of {Android} Application Security},
 booktitle = {Proceedings of the 20th USENIX Conference on Security},
 series = {SEC'11},
 year = {2011},
 location = {San Francisco, CA},
 pages = {21--21},
 numpages = {1},
 url = {http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.440.5697&rep=rep1&type=pdf},
 publisher = {USENIX Association},
 address = {Berkeley, CA, USA}
}

@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}}

@book{Enge40a,
	Author = {Engels, Friedrich and Dutt, Clemens Palme and Haldane, John Burdon Sanderson},
	Publisher = {International publishers New York},
	Title = {Dialectics of nature},
	Year = {1940}}

@article{Enge95a,
  title={Encapsulated Hierarchical Graphs, Graph Types, and Meta Types},
  author={Engels, Gregor and Sch{\"u}rr, Andy},
  journal={Electronic Notes in Theoretical Computer Science},
  volume={2},
  pages={101--109},
  year={1995},
  publisher={Elsevier},
  doi={10.1016/S1571-0661(05)80186-0},
  keywords = {hypergraphs, hierarchical graphs}
}

@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}}

@inproceedings{Engl01a,
 author = {Engler, Dawson and Chen, David Yu and Hallem, Seth and Chou, Andy and Chelf, Benjamin},
 title = {Bugs As Deviant Behavior: A General Approach to Inferring Errors in Systems Code},
 booktitle = {Proceedings of the Eighteenth ACM Symposium on Operating Systems Principles},
 series = {SOSP '01},
 year = {2001},
 isbn = {1-58113-389-8},
 location = {Banff, Alberta, Canada},
 pages = {57--72},
 numpages = {16},
 url = {http://doi.acm.org/10.1145/502034.502041},
 doi = {10.1145/502034.502041},
 acmid = {502041},
 publisher = {ACM},
 address = {New York, NY, USA}
}

@article{Engs10a,
	Author = {Emelie Engstr\"om and Per Runeson and Mats Skoglund},
	Doi = {10.1016/j.infsof.2009.07.001},
	Issn = {0950-5849},
	Journal = {Information and Software Technology},
	Keywords = {testing-practices},
	Number = {1},
	Pages = {14 - 30},
	Title = {A systematic review on regression test selection techniques},
	Url = {http://www.sciencedirect.com/science/article/pii/S0950584909001219},
	Volume = {52},
	Year = {2010},
	Bdsk-Url-1 = {http://www.sciencedirect.com/science/article/pii/S0950584909001219},
	Bdsk-Url-2 = {http://dx.doi.org/10.1016/j.infsof.2009.07.001}}

@article{Engs10b,
	Author = {Emelie Engstr\"om and Per Runeson and Mats Skoglund},
	Doi = {10.1016/j.infsof.2009.07.001},
	Issn = {0950-5849},
	Journal = {Information and Software Technology},
	Keywords = {testing-practices},
	Number = {1},
	Pages = {14 - 30},
	Title = {A systematic review on regression test selection techniques},
	Url = {http://www.sciencedirect.com/science/article/pii/S0950584909001219},
	Volume = {52},
	Year = {2010},
	Bdsk-Url-1 = {http://www.sciencedirect.com/science/article/pii/S0950584909001219},
	Bdsk-Url-2 = {http://dx.doi.org/10.1016/j.infsof.2009.07.001}}

@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}}

@inproceedings{Ens14a,
author={B. Ens and D. Rea and R. Shpaner and H. Hemmati and J. E. Young and P. Irani},
booktitle={Proceedings of the VISSOFT '14 Second IEEE Working Conference on Software Visualization},
title={ChronoTwigger: A Visual Analytics Tool for Understanding Source and Test Co-evolution},
year={2014},
pages={117-126},
keywords={data visualisation;interactive systems;program testing;software engineering;source code (software);ChronoTwigger;analyst information inference ability improvement;co-change;co-evolution visualization;file grouping;interactive visual analytics tool;software artifacts;software development;software systems;software testing;source code co-evolution;source files;source repository mining;test code co-evolution;test files;Couplings;Data mining;Data visualization;Software;Testing;Three-dimensional displays;Visual analytics;3D visualization;Co-evolution;co-change;information visualization;mining software repositories;temporal data visualization;visual analytics},
doi={10.1109/VISSOFT.2014.28},
month=sep}

@misc{EnterpriseArchitect,
	Key = {EnterpriseArchitect},
	Title = {{Enterprise Architect} - {UML} Design Tools and {UML CASE} tools for software development},
	Url = {http://www.sparxsystems.com.au/products/ea/index.html},
	Year = {2010},
	Bdsk-Url-1 = {http://www.sparxsystems.com.au/products/ea/index.html}}

@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}}

@inproceedings{Erdw11a,
	Address = {New York, NY, USA},
	Author = {Sebastian Erdweg and Lennart C.L. Kats and Tillmann Rendel and Christian K\"{a}stner and Klaus Ostermann and Eelco Visser},
	Booktitle = {Proceedings of the ACM international conference companion on Object oriented programming systems languages and applications companion},
	Doi = {10.1145/2048147.2048156},
	Isbn = {978-1-4503-0942-4},
	Keywords = {dsl embedding, language extensibility, language workbench, library},
	Location = {Portland, Oregon, USA},
	Numpages = {2},
	Pages = {17--18},
	Publisher = {ACM},
	Series = {SPLASH '11},
	Title = {Library-based model-driven software development with SugarJ},
	Year = {2011},
	Bdsk-Url-1 = {http://dx.doi.org/10.1145/2048147.2048156}}

@inproceedings{Erdw11b,
 author = {Erdweg, Sebastian and Rendel, Tillmann and K\"{a}stner, Christian and Ostermann, Klaus},
 title = {SugarJ: Library-based Syntactic Language Extensibility},
 booktitle = {Proceedings of the 2011 ACM International Conference on Object Oriented Programming Systems Languages and Applications},
 series = {OOPSLA '11},
 year = {2011},
 isbn = {978-1-4503-0940-0},
 location = {Portland, Oregon, USA},
 pages = {391--406},
 numpages = {16},
 url = {http://doi.acm.org/10.1145/2048066.2048099},
 doi = {10.1145/2048066.2048099},
 acmid = {2048099},
 publisher = {ACM},
 address = {New York, NY, USA},
 keywords = {DSL embedding, SugarJ, language composition, language extensibility, libraries, syntactic sugar}
}

@inproceedings{Erdw12a,
	Author = {Sebastian Erdweg and Tillmann Rendel and Christian K{\"a}stner and Klaus Ostermann},
	Booktitle = {SLE},
	Doi = {10.1007/978-3-642-36089-3_14},
	Ee = {http://dx.doi.org/10.1007/978-3-642-36089-3_14},
	Isbn = {978-3-642-36088-6},
	Pages = {244-263},
	Title = {Layout-Sensitive Generalized Parsing},
	Url = {http://www.informatik.uni-marburg.de/~seba/projects/sugarj/layout-parsing.pdf},
	Year = {2012},
	Bdsk-Url-1 = {http://www.informatik.uni-marburg.de/~seba/projects/sugarj/layout-parsing.pdf},
	Bdsk-Url-2 = {http://dx.doi.org/10.1007/978-3-642-36089-3_14}}

@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}}

@inproceedings{Erl11a,
 	author = {Erlingsson, \'{U}lfar and Peinado, Marcus and Peter, Simon and Budiu, Mihai},
 	title = {Fay: Extensible Distributed Tracing from Kernels to Clusters},
 	booktitle = {Proceedings of the Twenty-Third ACM Symposium on Operating Systems Principles},
 	series = {SOSP '11},
 	year = {2011},
 	isbn = {978-1-4503-0977-6},
 	location = {Cascais, Portugal},
 	pages = {311--326},
 	numpages = {16},
 	url = {http://doi.acm.org/10.1145/2043556.2043585},
 	doi = {10.1145/2043556.2043585},
 	acmid = {2043585},
 	publisher = {ACM},
 	address = {New York, NY, USA}
}

@article{Erli00a,
	Address = {Piscataway, NJ, USA},
	Author = {Len Erlikh},
	Doi = {10.1109/6294.846201},
	Journal = {IT Professional},
	Keywords = {maintenance costs damiencbib},
	Number = {3},
	Pages = {17--23},
	Publisher = {IEEE Educational Activities Department},
	Title = {Leveraging Legacy System Dollars for E-Business},
	Volume = {2},
	Year = {2000},
	Bdsk-Url-1 = {http://dx.doi.org/10.1109/6294.846201}}

@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 and Adrian Kuhn},
	Institution = {University of Bern},
	Keywords = {snf-none scg-bp jb09 akuhn},
	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 scg10 jb10 snf09 codemap-pub sde-visualization},
	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,
	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.},
	Acmid = {679688},
	Address = {London, UK},
	Author = {Ernst, Michael and Kaplan, Craig and Chambers, Craig},
	Booktitle = {Proceedings of the 12th European Conference on Object-Oriented Programming},
	Isbn = {3-540-64737-6},
	Numpages = {26},
	Pages = {186--211},
	Publisher = {Springer-Verlag},
	Title = {Predicate Dispatching: A Unified Theory of Dispatch},
	Url = {http://portal.acm.org/citation.cfm?id=646155.679688},
	Year = {1998},
	Bdsk-Url-1 = {http://portal.acm.org/citation.cfm?id=646155.679688}}

@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}}

@article{Erns07a,
 author = {Ernst, Michael D. and Perkins, Jeff H. and Guo, Philip J. and McCamant, Stephen and Pacheco, Carlos and Tschantz, Matthew S. and Xiao, Chen},
 title = {The Daikon System for Dynamic Detection of Likely Invariants},
 journal = {Sci. Comput. Program.},
 issue_date = {December, 2007},
 volume = {69},
 number = {1-3},
 month = dec,
 year = {2007},
 issn = {0167-6423},
 pages = {35--45},
 numpages = {11},
 url = {http://dx.doi.org/10.1016/j.scico.2007.01.015},
 doi = {10.1016/j.scico.2007.01.015},
 acmid = {1321800},
 publisher = {Elsevier North-Holland, Inc.},
 address = {Amsterdam, The Netherlands, The Netherlands},
 keywords = {Daikon, Dynamic analysis, Dynamic invariant detection, Inductive logic programming, Inference, Invariant, Likely invariant, Program understanding, Specification, Specification mining}
}

@inproceedings{Erns17a,
  title={Natural language is a programming language: Applying natural language processing to software development},
  author={Ernst, Michael D},
  booktitle={2nd Summit on Advances in Programming Languages (SNAPL 2017)},
  year={2017},
  organization={Schloss Dagstuhl-Leibniz-Zentrum fuer Informatik}
}

@inproceedings{Ertl01a,
	Acmid = {699857},
	Address = {London, UK},
	Author = {Ertl, M. Anton and Gregg, David},
	Booktitle = {Proceedings of the 7th International Euro-Par Conference Manchester on Parallel Processing},
	Isbn = {3-540-42495-4},
	Numpages = {10},
	Pages = {403--412},
	Publisher = {Springer-Verlag},
	Series = {Euro-Par '01},
	Title = {The Behavior of Efficient Virtual Machine Interpreters on Modern Architectures},
	Url = {http://dl.acm.org/citation.cfm?id=646666.699857},
	Year = {2001},
	Bdsk-Url-1 = {http://dl.acm.org/citation.cfm?id=646666.699857}}

@article{Ertl02a,
	Author = {M. Anton Ertl and David Gregg and Andreas Krall and Bernd Paysan},
	Journal = {Software --- Practice and Experience},
	Keywords = {threaded code},
	Title = {vmgen --- A Generator of Efficient Virtual Machine Interpreters},
	Year = {2002}}

@article{Ertl03a,
	Author = {Ertl, M. Anton and Gregg, David},
	Journal = {Journal of Instruction-Level Parallelism},
	Keywords = {threaded code},
	Priority = {0},
	Title = {The Structure and Performance of Efficient Interpreters},
	Url = {http://www.jilp.org/vol5/v5paper12.pdf},
	Volume = {5},
	Year = {2003},
	Bdsk-Url-1 = {http://www.jilp.org/vol5/v5paper12.pdf}}

@article{Ertl03b,
	Acmid = {781162},
	Address = {New York, NY, USA},
	Author = {Ertl, M. Anton and Gregg, David},
	Doi = {10.1145/780822.781162},
	Issn = {0362-1340},
	Issue = {5},
	Journal = {SIGPLAN Not.},
	Keywords = {branch prediction, branch target buffer, code replication, interpreter, superinstruction},
	Month = may,
	Numpages = {11},
	Pages = {278--288},
	Publisher = {ACM},
	Title = {Optimizing indirect branch prediction accuracy in virtual machine interpreters},
	Volume = {38},
	Year = {2003},
	Bdsk-Url-1 = {http://dx.doi.org/10.1145/780822.781162}}

@techreport{Esch19a,
	Title = {Search Interface Implementation for a Learning Management System},
	Author = {Manuela Eschler},
	Abstract = {The company Swissteach produces a Learning Management System
		(LMS) called Global Teach (R), which lacks a good search engine.
		This project is about the implementation of a search engine for
		an LMS, focusing on iteratively designing and evaluating the
		search interface. Two search interface prototypes with different
		approaches were tested by users of Global Teach. The first
		prototype is focused on ease of use and mimics the Google search
		interface, while the second prototype concentrates on supporting
		the user if the search fails to produce useful results. Based on
		the feedback of the testers, both prototypes were combined into
		one. The resulting search interface is initially simple, and
		provides features which can be enabled to refine the search
		results. These features aim to give the user the impression of
		being in charge, which can lead to a positive search experience.},
	Institution = {University of Bern},
	Keywords = {scg-bp snf-none scg19 jb19},
	Type = {Bachelor's thesis},
	Url = {http://scg.unibe.ch/archive/projects/Esch19a.pdf},
	Month = feb,
	Year = {2019}
}

@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,
	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.},
	Author = {Eugster, Patrick Th. and Felber, Pascal A. and Guerraoui, Rachid and Kermarrec, {Anne-Marie}},
	Doi = {10.1145/857076.857078},
	Journal = {ACM Computing Surveys},
	Keywords = {distribution interaction publish/subscribe damiencbib},
	Number = {2},
	Pages = {114--131},
	Title = {The many faces of publish/subscribe},
	Url = {http://portal.acm.org/citation.cfm?id=857078},
	Volume = {35},
	Year = {2003},
	Bdsk-Url-1 = {http://portal.acm.org/citation.cfm?id=857078},
	Bdsk-Url-2 = {http://dx.doi.org/10.1145/857076.857078}}

@inproceedings{Eugs06a,
	Acmid = {1167485},
	Address = {New York, NY, USA},
	Author = {Eugster, Patrick},
	Booktitle = {Proceedings of the 21st annual ACM SIGPLAN conference on Object-oriented programming systems, languages, and applications},
	Doi = {10.1145/1167473.1167485},
	Isbn = {1-59593-348-4},
	Keywords = {Java, future, proxy, transformation},
	Location = {Portland, Oregon, USA},
	Numpages = {14},
	Pages = {139--152},
	Publisher = {ACM},
	Series = {OOPSLA '06},
	Title = {Uniform proxies for Java},
	Url = {http://doi.acm.org/10.1145/1167473.1167485},
	Year = {2006},
	Bdsk-Url-1 = {http://doi.acm.org/10.1145/1167473.1167485},
	Bdsk-Url-2 = {http://dx.doi.org/10.1145/1167473.1167485}}

@inproceedings{Euze01a,
  TITLE = {{Towards a principled approach to semantic interoperability}},
  AUTHOR = {Euzenat, J{\'e}r{\^o}me},
  URL = {https://hal.inria.fr/hal-00822909},
  NOTE = {euzenat2001b},
  BOOKTITLE = {{Proc. IJCAI 2001 workshop on ontology and information sharing}},
  ADDRESS = {Seattle, United States},
  PUBLISHER = {{No commercial editor.}},
  SERIES = {Proc. IJCAI 2001 workshop on ontology and information sharing},
  PAGES = {19-25},
  YEAR = {2001},
  MONTH = aug,
  KEYWORDS = {Semantic interoperability ; ontology sharing ; knowledge transformation ; ontology patterns},
  PDF = {https://hal.inria.fr/hal-00822909/file/euzenat.pdf},
  HAL_ID = {hal-00822909},
  HAL_VERSION = {v1}}

@inproceedings{Evan97a,
  title={Specifications},
  author={Evans, Eric and Fowler, Martin},
  booktitle={Proceedings of the 1997 Conference on Pattern Languages of Programming},
  pages={97--34},
  year={1997}
}

@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{Evan04a,
  added-at = {2012-11-30T18:04:27.000+0100},
  address = {Boston},
  author = {Evans, Eric},
  biburl = {https://www.bibsonomy.org/bibtex/2ab64eca0f621f0994e28e7f7032f8bab/ideeq},
  interhash = {687d2fb811c16a1c446815bbfae35b8d},
  intrahash = {ab64eca0f621f0994e28e7f7032f8bab},
  isbn = {0321125215 9780321125217},
  keywords = {design domain},
  publisher = {Addison-Wesley},
  refid = {52134890},
  timestamp = {2012-11-30T18:04:27.000+0100},
  title = {Domain-driven design: tackling complexity in the heart of software},
  url = {http://www.worldcat.org/search?qt=worldcat_org_all&q=0321125215},
  year = {2004}
}

@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}}

@techreport{FSharp30,
    Month = {9},
    Title = {The F\# 3.0 Language Specification},
    Abstract = {This documentation is the specification of the 3.0 release of F# made by Microsoft Research and the Microsoft Developer Division in September 2012. Available from: http://fsharp.org/specs/language-spec/3.0/FSharpSpec-3.0-final.pdf [accessed Jan 31, 2016].},
    Year = {2012}}

@inproceedings{Fabr13a,
	Added-At = {2013-11-13T00:00:00.000+0100},
	Author = {Fabry, Johan and Bergel, Alexandre},
	Biburl = {http://www.bibsonomy.org/bibtex/2ecf53e257b6631e279c02fbed49b99d3/dblp},
	Booktitle = {VISSOFT},
	Editor = {Telea, Alexandru and Kerren, Andreas and Marcus, Andrian},
	Ee = {http://doi.ieeecomputersociety.org/10.1109/VISSOFT.2013.6650548},
	Isbn = {978-1-4799-1457-9},
	Pages = {1-4},
	Publisher = {IEEE},
	Title = {Design decisions in AspectMaps.},
	Url = {http://dblp.uni-trier.de/db/conf/vissoft/vissoft2013.html#FabryB13},
	Year = 2013,
	Bdsk-Url-1 = {http://dblp.uni-trier.de/db/conf/vissoft/vissoft2013.html#FabryB13}}

@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,
	Address = {Amsterdam, The Netherlands, The Netherlands},
	Author = {Fabresse, Luc and Dony, Christophe and Huchard, Marianne},
	Doi = {10.1016/j.cl.2007.05.002},
	Journal = {Computer Languages, Systems and Structures},
	Keywords = {damiencbib architecture component cop scl},
	Number = {2-3},
	Pages = {130--149},
	Publisher = {Elsevier Science Publishers B. V.},
	Title = {Foundations of a simple and unified component-oriented language},
	Volume = {34},
	Year = {2008},
	Bdsk-Url-1 = {http://dx.doi.org/10.1016/j.cl.2007.05.002}}

@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},
	Type = {TR/DCC-2010-2},
	Year = {2010}}

@inproceedings{Fabr11a,
	Aeres = {ACT},
	Aeresstatus = {aeres12},
	Annote = {internationalconference},
	Author = {Johan Fabry and Andy Kellens and St\'ephane Ducasse},
	Booktitle = {International Conference on Program Comprehension (ICPC)},
	Inria = {RMOD},
	Keywords = {lse-pub moose-pub},
	Misc = {Acceptance rate: 18/76 = 23\%},
	Publisher = {IEEE Computer Society Press},
	Rate = {23%},
	Selectif = {oui},
	Title = {AspectMaps: A Scalable Visualization of Join Point Shadows},
	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}}

@article{Fakh12a,
author={Fakhar, Faiza and Javed, Barkha and ur Rasool, Raihan and Malik, Owais and Zulfiqar, Khurram},
title={Software level green computing for large scale systems},
journal={Journal of Cloud Computing: Advances, Systems and Applications},
year={2012},
volume={1},
number={1},
pages={1--17},
abstract={Energy conservation has become a critical issue in modern system electronic devices. Energy wastage in electronic devices occurs in both hardware and software components. Software drives the hardware thus decisions taken during software design and development have significant impact on energy consumption of a computing system. Green Computing addresses energy conservation by application of different techniques at software and hardware level. Energy efficient compiler is a software level green computing technique. Besides compiler optimization, an effective scheduling approach makes efficient use of resources to directly impact the green aspect. Therefore, focus of this paper is identification of energy conservation measures for software level and there utilization at compiler and scheduler. A Distributed Green Compiler (DGC) is presented in this research that is hardware independent and uses an existing distributed compiler. It distributes source code of software over a network, reshapes binary code by applying green strategies during code transformation at compile time and gives green suggestion to software programmer for energy conservation. For scheduling, Distributed Interactive Engineering Toolbox (DIET) scheduler is used and a new algorithm is proposed for the DIET scheduler. The proposed algorithm introduces green aspect in scheduler to effectually make use of resources in such a way that consumption of power and carbon dioxide emission is reduced. Performance analysis of proposed compiler shows that it conserves energy clock cycles up to 40{\%} by applying few green strategies.},
issn={2192-113X},
doi={10.1186/2192-113X-1-4}
}

@inproceedings{Fakh18a,
  author    = {Sarah Fakhoury and
               Yuzhan Ma and
               Venera Arnaoudova and
               Olusola O. Adesope},
  editor    = {Foutse Khomh and
               Chanchal K. Roy and
               Janet Siegmund},
  title     = {The effect of poor source code lexicon and readability on developers'
               cognitive load},
  booktitle = {Proceedings of the 26th Conference on Program Comprehension, {ICPC}
               2018, Gothenburg, Sweden, May 27-28, 2018},
  pages     = {286--296},
  publisher = {{ACM}},
  year      = {2018},
  url       = {https://doi.org/10.1145/3196321.3196347},
  doi       = {10.1145/3196321.3196347},
  Keywords =  {comment-quality-slr},
  timestamp = {Mon, 03 Feb 2020 17:34:31 +0100},
  biburl    = {https://dblp.org/rec/conf/iwpc/FakhouryMAA18.bib},
  bibsource = {dblp computer science bibliography, https://dblp.org}
}

@mastersthesis{Fald15a,
  title={Type systems and programmers: A look at optional typing in {Dart}},
  author={Faldborg, Mark and Nielsen, Troels Lisberg and Thomsen, Bent},
  School = {Aalborg University},
  year={2015},
  publisher={Master thesis, Aalborg University}
}

@inproceedings{Falk76a,
	Author = {Eckhard D. Falkenberg},
	Bibsource = {DBLP, http://dblp.uni-trier.de},
	Booktitle = {IFIP Working Conference on Modelling in Data Base Management Systems},
	Date-Added = {2013-05-02 12:27:22 +0000},
	Date-Modified = {2013-05-02 12:27:32 +0000},
	Keywords = {roles},
	Pages = {95-109},
	Title = {Concepts for Modelling Information},
	Year = {1976}}

@inproceedings{Falk05a,
	Author = {Falke, R. and Klein, R. and Koschke, R. and Quante, J.},
	Booktitle = {Visualizing Software for Understanding and Analysis, 2005. VISSOFT 2005. 3rd IEEE International Workshop on},
	Doi = {10.1109/VISSOF.2005.1684311},
	Month = sep,
	Pages = {1-6},
	Title = {The Dominance Tree in Visualizing Software Dependencies},
	Year = {2005},
	Bdsk-Url-1 = {http://dx.doi.org/10.1109/VISSOF.2005.1684311}}

@incollection{Fall11a,
	year={2011},
	isbn={978-3-642-21951-1},
	booktitle={Objects, Models, Components, Patterns},
	volume={6705},
	series={Lecture Notes in Computer Science},
	editor={Bishop, Judith and Vallecillo, Antonio},
	doi={10.1007/978-3-642-21952-8_19},
	title={Efficient Retrieval and Ranking of Undesired Package Cycles in Large Software Systems},
	url={http://dx.doi.org/10.1007/978-3-642-21952-8_19},
	publisher={Springer Berlin Heidelberg},
	author={Falleri, Jean-Remy and Denier, Simon and Laval, Jannik and Vismara, Philippe and Ducasse, Stephane},
	pages={260-275}}

@inproceedings{Fang15a,
    author        = {Lu Fang and Liang Dou and Guoqing (Harry) Xu},
    booktitle     = {ECOOP},
    doi           = {10.4230/LIPIcs.ECOOP.2015.296},
    pages         = {296--320},
    publisher     = {Schloss Dagstuhl - Leibniz-Zentrum f"ur Informatik},
    series        = {Leibniz International Proceedings in Informatics},
    title         = {PerfBlower: Quickly Detecting Memory-Related Performance Problems via Amplification},
    volume        = {37},
    year          = {2015}
}

@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}}

@techreport{Fank17a,
	Title = {ClubAdmin --- Implementing a Sports Club Event Manager},
	Author = {Dominik Fankhauser},
	Abstract = {Today, no existing club management software offers clubs a
		possibility to organize the human resources at their events in
		an adequate way. Available applications do not provide
		organizing committees with enough functionality to ensure that
		tasks and responsibilities are distributed fairly between a
		club's members over the course of a full season. Instead, clubs
		often rely on techniques such as e-mail and spreadsheets to
		keep track of the tasks at an event or the member collaboration
		throughout a season. The use of these simple techniques and
		processes increases the complexity for the responsible event
		managers. Their work needs more communication, takes more
		time, and is more error prone. On the other hand, club members
		need to keep in mind when and where they have to help at
		upcoming events as they do not have a way to look up this
		information except for contacting the responsible person
		directly. In this thesis we describe the web application
		ClubAdmin which has been developed for the floorball club
		Unihockeyteam Eggiwil1. Aside from member, sponsor, and open
		issue management modules, our system provides an event
		management module which is accessible to the board (as the
		event organizer) and to the club members. The club can manage
		all aspects of event management such that existing cumbersome
		workflows are fully replaced.},
	Institution = {University of Bern},
	Keywords = {scg-bp snf-none scg17 jb17},
	Type = {Bachelor's thesis},
	Url = {http://scg.unibe.ch/archive/projects/Fank17a.pdf},
	Month = nov,
	Year = {2017}
}

@inproceedings{Fant98a,
	Author = {Richard Fanta and Vaclav Rajlich},
	Booktitle = {Proceedings of the International Conference on Software Maintenance},
	Title = {Reengineering Object-Oriented Code},
	Year = {1998}}

@inproceedings{Fard13a,
  author        = {Fard, A. M. and Mesbah, A.},
  title         = {JSNOSE: Detecting JavaScript Code Smells},
  booktitle     = {2013 IEEE 13th International Working Conference on Source Code Analysis and Manipulation (SCAM)},
  date          = {2013-09},
year = {2013},
  eventtitle    = {2013 IEEE 13th International Working Conference on Source Code Analysis and Manipulation (SCAM)},
  pages         = {116--125},
  doi           = {10.1109/SCAM.2013.6648192},
  abstract      = {JavaScript is a powerful and flexible prototype-based scripting language that is increasingly used by developers to create interactive web applications. The language is interpreted, dynamic, weakly-typed, and has first-class functions. In addition, it interacts with other web languages such as CSS and HTML at runtime. All these characteristics make JavaScript code particularly error-prone and challenging to write and maintain. Code smells are patterns in the source code that can adversely influence program comprehension and maintainability of the program in the long term. We propose a set of 13 JavaScript code smells, collected from various developer resources. We present a JavaScript code smell detection technique called JSNOSE. Our metric-based approach combines static and dynamic analysis to detect smells in client-side code. This automated technique can help developers to spot code that could benefit from refactoring. We evaluate the smell finding capabilities of our technique through an empirical study. By analyzing 11 web applications, we investigate which smells detected by JSNOSE are more prevalent.},
  keywords      = {Cascading style sheets, code smell, Conferences, CSS languages, HTML, HTML languages, interactive Web applications, Internet, Java, JavaScript, JavaScript code smells detection technique, JSNOSE technique, Measurement, program debugging, prototype-based scripting language, Prototypes, Reactive power, refactoring, Runtime, smell detection, web applications},
  shorttitle    = {JSNOSE}
}

@article{Fark00a,
  title={Quantifying the energy consumption of a pocket computer and a Java virtual machine},
  author={Farkas, Keith I and Flinn, Jason and Back, Godmar and Grunwald, Dirk and Anderson, Jennifer M},
  journal={ACM SIGMETRICS Performance Evaluation Review},
  volume={28},
  number={1},
  pages={252--263},
  year={2000},
  publisher={ACM}
}

@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}}

@article{Faro15a,
  title={Taxonomy and Design Considerations for Comments in Programming Languages: A quality perspective},
  author={Farooq, M.S. and Khan, S.A. and Abid, K. and Ahmad, F. and Naeem, M.A. and Shafiq, M. and Abid, A.},
  journal={Journal of Quality and Technology Management},
  volume={10},
  number={2},
  year={2015},
  keywords = {comment-analysis, comment classification}
}

@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{Farr11a,
  author = {Michael Farrugia and Neil Hurley and Aaron Quigley},
  booktitle = {Proceedings of the 2011 International Conference on Advances in Computer-Human Interactions},
  keywords = {Dynamic networks, Ego networks, Small Multiples, Graph Drawing},
  pages = {79--88},
  title = {Exploring temporal ego networks using small multiples and tree-ring layouts},
  year = {2011}
}

@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{Favr02a,
	author={Favre, Jean-Marie},
	booktitle={Software Maintenance and Reengineering, 2002. Proceedings. Sixth European Conference on},
	title={A new approach to software exploration: back-packing with GSEE },
	year={2002},
	pages={251-262},
	doi={10.1109/CSMR.2002.995812},
	ISSN={1534-5351}}

@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},
	Booktitle = {IWPSE},
	Doi = {10.1109/IWPSE.2005.22},
	Issn = {1550-4077},
	Pages = {33-42},
	Title = {Languages evolve too! Changing the Software Time Scale},
	Url = {http://www.megaplanet.org/jean-marie-favre/papers/LanguagesEvolveTooChangingTheSoftwareTimeScale.pdf},
	Year = {2005},
	Bdsk-Url-1 = {http://www.megaplanet.org/jean-marie-favre/papers/LanguagesEvolveTooChangingTheSoftwareTimeScale.pdf},
	Bdsk-Url-2 = {http://dx.doi.org/10.1109/IWPSE.2005.22}}

@article{Favr05b,
  title={Towards a megamodel to model software evolution through transformations},
  author={Favre, Jean-Marie and NGuyen, Tam},
  journal={Electronic Notes in Theoretical Computer Science},
  volume={127},
  number={3},
  pages={59--74},
  year={2005},
  publisher={Elsevier},
  doi={10.1016/j.entcs.2004.08.034},
  url={https://core.ac.uk/download/pdf/82588273.pdf},
  keywords = {megamodels}
}

@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}}

@incollection{Favr11a,
	title = {Empirical language analysis in software linguistics},
	author = {Favre, Jean-Marie and Gasevic, Dragan and L{\"a}mmel, Ralf and Pek, Ekaterina},
	booktitle = {Software Language Engineering},
	pages = {316--326},
	year = {2011},
	publisher = {Springer}
}

@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}}

@article{Feij98c,
	Acmid = {279854},
	Address = {New York, NY, USA},
	Author = {Feijs, L. and Krikhaar, R. and Van Ommering, R.},
	Doi = {10.1002/(SICI)1097-024X(19980410)28:4<371::AID-SPE154>3.0.CO;2-1},
	Issn = {0038-0644},
	Issue_Date = {April 10, 1998},
	Journal = {Softw. Pract. Exper.},
	Keywords = {relational algebra, reverse engineering, software architecture, software structuring},
	Month = apr,
	Number = {4},
	Numpages = {30},
	Pages = {371--400},
	Publisher = {John Wiley \& Sons, Inc.},
	Title = {A relational approach to support software architecture analysis},
	Url = {http://dx.doi.org/10.1002/(SICI)1097-024X(19980410)28:4<371::AID-SPE154>3.0.CO;2-1},
	Volume = {28},
	Year = {1998},
	Bdsk-Url-1 = {http://dx.doi.org/10.1002/(SICI)1097-024X(19980410)28:4%3C371::AID-SPE154%3E3.0.CO;2-1}}

@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}}

@techreport{Feil04a,
	Address = {Pittsburgh, Pennsylvania},
	Author = {P. Feiler and D. Gluch and J. Hudak and B. Lewis},
	Institution = {Software Engineering Institute, Carnegie Mellon University},
	Number = {CMU/SEI-2004-TN-005},
	Title = {Embedded Systems Architecture Analysis Using {SAE} {AADL}},
	Url = {http://www.sei.cmu.edu/library/abstracts/reports/04tn005.cfm},
	Year = {2004},
	Bdsk-Url-1 = {http://www.sei.cmu.edu/library/abstracts/reports/04tn005.cfm}}

@techreport{Feil06a,
	Author = {Feiler, Peter H and Gluch, David P and Hudak, John J},
	Institution = {DTIC Document},
	Title = {The architecture analysis \& design language ({AADL}): An introduction},
	Year = {2006}}

@techreport{Feil10a,
	Address = {Pittsburgh, Pennsylvania},
	Author = {P. Feiler and D. Gluch and K. Woodham},
	Institution = {Software Engineering Institute, Carnegie Mellon University},
	Number = {CMU/SEI-2010-TR-003},
	Title = {Case Study: Model-Based Analysis of the Mission Data System Reference Architecture},
	Url = {http://www.sei.cmu.edu/library/abstracts/reports/10tr003.cfm},
	Year = {2010},
	Bdsk-Url-1 = {http://www.sei.cmu.edu/library/abstracts/reports/10tr003.cfm}}

@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}}

@book{Fent98a,
	Address = {Boston, MA, USA},
	Author = {Fenton, Norman E. and Pfleeger, Shari Lawrence},
	Edition = {2nd},
	Isbn = {0534954251},
	Publisher = {PWS Publishing Co.},
	Title = {Software Metrics: A Rigorous and Practical Approach},
	Year = {1998}}

@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}}

@article{Fent00a,
	Acmid = {631250},
	Address = {Piscataway, NJ, USA},
	Author = {Fenton, Norman E. and Ohlsson, Niclas},
	Doi = {10.1109/32.879815},
	Issn = {0098-5589},
	Issue_Date = {August 2000},
	Journal = {IEEE Trans. Softw. Eng.},
	Keywords = {Software faults and failures, software metrics, empirical studies.},
	Month = aug,
	Number = {8},
	Numpages = {18},
	Pages = {797--814},
	Publisher = {IEEE Press},
	Title = {Quantitative Analysis of Faults and Failures in a Complex Software System},
	Url = {http://dx.doi.org/10.1109/32.879815},
	Volume = {26},
	Year = {2000},
	Bdsk-Url-1 = {http://dx.doi.org/10.1109/32.879815}}

@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},
	Doi = {10.1145/74877.74910},
	Keywords = {olit oopsla89 uni-refl},
	Month = oct,
	Pages = {317--326},
	Title = {Computational Reflection in Class-Based Object-Oriented Languages},
	Volume = {24},
	Year = {1989},
	Bdsk-Url-1 = {http://dx.doi.org/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}}

@inproceedings{Fere02a,
  title={Columbus-reverse engineering tool and schema for C++},
  author={Ferenc, Rudolf and Besz{\'e}des, {\'A}rp{\'a}d and Tarkiainen, Mikko and Gyim{\'o}thy, Tibor},
  booktitle={Software Maintenance, 2002. Proceedings. International Conference on},
  pages={172--181},
  year={2002},
  organization={IEEE}
}

@article{Fern95a,
 author = {Fern\'{a}ndez, Mary F.},
 title = {Simple and Effective Link-time Optimization of {Modula-3} Programs},
 journal = {SIGPLAN Not.},
 issue_date = {June 1995},
 volume = {30},
 number = {6},
 month = jun,
 year = {1995},
 issn = {0362-1340},
 pages = {103--115},
 numpages = {13},
 url = {http://doi.acm.org/10.1145/223428.207121},
 doi = {10.1145/223428.207121},
 acmid = {207121},
 publisher = {ACM},
 address = {New York, NY, USA}}

@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}}

@article{Fern18c,
title = {A domain-specific language to visualize software evolution},
journal = {Information and Software Technology},
volume = {98},
pages = {118--130},
year = {2018},
issn = {0950-5849},
doi = {10.1016/j.infsof.2018.01.005},
url = {http://www.sciencedirect.com/science/article/pii/S0950584917304159},
author = {Alison Fernandez and Alexandre Bergel},
keywords = {Git, History visualization, Domain-specific language}
}

@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}}

@article{Ferr87a,
	Author = {Jeanne Ferrante and Karl J. Ottenstein and Joe D. Warren},
	Journal = {ACM Transactions on Programming Languages and Systems},
	Pages = {319--349},
	Title = {The program dependence graph and its use in optimization},
	Volume = {9},
	Year = {1987}}

@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}}

@inproceedings{Ferr95a,
	Address = {San Francisco, CA, USA},
	Author = {Ferrandina, Fabrizio and Meyer, Thorsten and Zicari, Roberto and Ferran, Guy and Madec, Jo\"{e}lle},
	Booktitle = {VLDB '95: Proceedings of the 21th International Conference on Very Large Data Bases},
	Date-Added = {2010-10-25 17:14:40 +0200},
	Date-Modified = {2011-09-21 08:43:05 +0200},
	Isbn = {1-55860-379-4},
	Keywords = {schema-evolution; database; ac},
	Pages = {170--181},
	Publisher = {Morgan Kaufmann Publishers Inc.},
	Rating = {4},
	Title = {Schema and Database Evolution in the {O2} Object Database System},
	Year = {1995}}

@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}}

@inproceedings{Ferr07a,
	Address = {New York, NY, USA},
	Author = {Ferreira, Glauber and Loureiro, Emerson and Oliveira, Elthon},
	Booktitle = {Proceedings of the 2007 ACM symposium on Applied computing},
	Doi = {10.1145/1244002.1244330},
	Isbn = {1-59593-480-4},
	Location = {Seoul, Korea},
	Pages = {1536--1537},
	Publisher = {ACM},
	Series = {SAC '07},
	Title = {A {Java} code annotation approach for model checking software systems},
	Year = {2007},
	Bdsk-Url-1 = {http://dx.doi.org/10.1145/1244002.1244330}}

@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}}

@article{Fidg96,
  title={Fundamentals of distributed system observation},
  author={Fidge, Colin},
  journal={Software, IEEE},
  volume={13},
  number={6},
  pages={77--83},
  year={1996},
  publisher={IEEE}
}

@phdthesis{Fiel00a,
	Author = {Fielding, Roy Thomas},
	Isbn = {0-599-87118-0},
	Note = {AAI9980887},
	School = {University of California, Irvine},
	Title = {Architectural styles and the design of network-based software architectures},
	Url = {ftp://mirror.transact.net.au/sourceforge/w/project/wa/waspap/waspap/Core/REST-Architecture.pdf},
	Year = {2000},
	Bdsk-Url-1 = {ftp://mirror.transact.net.au/sourceforge/w/project/wa/waspap/waspap/Core/REST-Architecture.pdf}}

@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,
	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},
	Title = {The {Why/Krakatoa/Caduceus} platform for deductive program verification},
	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}}

@article{Fisc84a,
 author = {Fischer, C. N. and Johnson, Gregory F. and Mauney, Jon and Pal, Anil and Stock, Daniel L.},
 title = {The {Poe} Language-based Editor Project},
 journal = {SIGSOFT Softw. Eng. Notes},
 issue_date = {May 1984},
 volume = {9},
 number = {3},
 month = apr,
 year = {1984},
 issn = {0163-5948},
 pages = {21--29},
 numpages = {9},
 url = {http://doi.acm.org/10.1145/390010.808245},
 doi = {10.1145/390010.808245},
 acmid = {808245},
 publisher = {ACM},
 address = {New York, NY, USA}
}

@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}}

@inproceedings{Fisc09a,
	Address = {Berlin, Heidelberg},
	Author = {Fischer, Jeffrey and Marino, Daniel and Majumdar, Rupak and Millstein, Todd},
	Booktitle = {Proceedings of the 23rd European Conference on ECOOP 2009 --- Object-Oriented Programming},
	Doi = {10.1007/978-3-642-03013-0_9},
	Isbn = {978-3-642-03012-3},
	Location = {Italy},
	Numpages = {22},
	Pages = {173--194},
	Publisher = {Springer-Verlag},
	Series = {Genoa},
	Title = {Fine-Grained Access Control with Object-Sensitive Roles},
	Year = {2009},
	Bdsk-Url-1 = {http://dx.doi.org/10.1007/978-3-642-03013-0_9}}

@inproceedings{Fisc10a,
	Acmid = {1755908},
	Address = {New York, NY, USA},
	Author = {Fischmeister, Sebastian and Ba, Yanmeng},
	Booktitle = {Proceedings of the ACM SIGPLAN/SIGBED 2010 conference on Languages, compilers, and tools for embedded systems},
	Doi = {10.1145/1755888.1755908},
	Isbn = {978-1-60558-953-4},
	Keywords = {debugging, embedded system, monitoring, sampling, tracing},
	Location = {Stockholm, Sweden},
	Numpages = {10},
	Pages = {133--142},
	Publisher = {ACM},
	Series = {LCTES '10},
	Title = {Sampling-based program execution monitoring},
	Url = {http://doi.acm.org/10.1145/1755888.1755908},
	Year = {2010},
	Bdsk-Url-1 = {http://doi.acm.org/10.1145/1755888.1755908},
	Bdsk-Url-2 = {http://dx.doi.org/10.1145/1755888.1755908}}

@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}}

@article{Fitz08a,
  author    = {Fitzgerald, Sue and Lewandowski, Gary and McCauley, Renee and Murphy, Laurie and Simon, Beth and Thomas, Lynda and Zander, Carol},
  title     = {Debugging: finding, fixing and flailing, a multi-institutional study of novice debuggers},
  journal   = {Computer Science Education},
  year      = {2008},
  volume    = {18},
  number    = {2},
  pages     = {93--116},
  publisher = {Taylor \& Francis}
}

@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{Fjel83a,
    author = {Fjeldstad, R. K. and Hamlen, W. T.},
    booktitle = {Proceedings GUIDE 48},
    keywords = {maintenance},
    location = {Philadelphia, PA},
    month = apr,
    title = {{Application Program Maintenance Study: Report to Our Respondents}},
    year = {1983}
}

@article{Flac99a,
  title={Database dependency discovery: a machine learning approach},
  author={Flach, Peter A and Savnik, Iztok},
  journal={AI communications},
  volume={12},
  number={3},
  pages={139--160},
  year={1999},
  publisher={IOS Press},
  keywords = {schema-inference, constraint discovery},
  url = {https://www.researchgate.net/profile/Peter_Flach3/publication/2779239_Database_Dependency_Discovery_A_Machine_Learning_Approach/links/55c2282408aea2d9bdbfe0e3.pdf}
}

@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}}

@inbook{Flan01a,
	author = {Flanagan, Cormac and Leino, K. Rustan M.},
	title = {Houdini, an Annotation Assistant for {ESC/Java}},
	bookTitle = {FME 2001: Formal Methods for Increasing Software Productivity: International Symposium of Formal Methods Europe Berlin, Germany, March 12--16, 2001 Proceedings},
	year = {2001},
	publisher = {Springer Berlin Heidelberg},
	address = {Berlin, Heidelberg},
	pages = {500--517},
	isbn = {978-3-540-45251-5},
	doi = {10.1007/3-540-45251-6_29},
	url = {http://dx.doi.org/10.1007/3-540-45251-6_29}
}

@inproceedings{Flan02a,
 author = {Flanagan, Cormac and Leino, K. Rustan M. and Lillibridge, Mark and Nelson, Greg and Saxe, James B. and Stata, Raymie},
 title = {Extended Static Checking for {Java}},
 booktitle = {Proceedings of the ACM SIGPLAN 2002 Conference on Programming Language Design and Implementation},
 series = {PLDI '02},
 year = {2002},
 isbn = {1-58113-463-0},
 location = {Berlin, Germany},
 pages = {234--245},
 numpages = {12},
 url = {http://doi.acm.org/10.1145/512529.512558},
 doi = {10.1145/512529.512558},
 acmid = {512558},
 publisher = {ACM},
 address = {New York, NY, USA},
 keywords = {compile-time program checking}
}

@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,
	Address = {New York, NY, USA},
	Author = {Cormac Flanagan and Stephen N. Freund and Jaeheon Yi},
	Booktitle = {PLDI '08: Proceedings of the 2008 ACM SIGPLAN conference on Programming language design and implementation},
	Doi = {10.1145/1375581.1375618},
	Isbn = {978-1-59593-860-2},
	Keywords = {sos-da},
	Location = {Tucson, AZ, USA},
	Pages = {293--303},
	Publisher = {ACM},
	Title = {Velodrome: a sound and complete dynamic atomicity checker for multithreaded programs},
	Year = {2008},
	Bdsk-Url-1 = {http://dx.doi.org/10.1145/1375581.1375618}}

@inproceedings{Flan09a,
	Address = {New York, NY, USA},
	Author = {Cormac Flanagan and Stephen N. Freund},
	Booktitle = {PLDI '09: Proceedings of the 2009 ACM SIGPLAN conference on Programming language design and implementation},
	Doi = {10.1145/1542476.1542490},
	Isbn = {978-1-60558-392-1},
	Keywords = {sos-da},
	Location = {Dublin, Ireland},
	Pages = {121--133},
	Publisher = {ACM},
	Title = {{FastTrack}: efficient and precise dynamic race detection},
	Year = {2009},
	Bdsk-Url-1 = {http://dx.doi.org/10.1145/1542476.1542490}}

@inproceedings{Flan10a,
	Address = {New York, NY, USA},
	Author = {Cormac Flanagan and Stephen N. Freund},
	Booktitle = {PLDI '10: Proceedings of the 2010 ACM SIGPLAN conference on Programming language design and implementation},
	Doi = {10.1145/1806596.1806625},
	Isbn = {978-1-4503-0019-3},
	Keywords = {sos-da},
	Location = {Toronto, Ontario, Canada},
	Pages = {244--254},
	Publisher = {ACM},
	Title = {Adversarial memory for detecting destructive races},
	Year = {2010},
	Bdsk-Url-1 = {http://dx.doi.org/10.1145/1806596.1806625}}

@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,
	Address = {New York, NY, USA},
	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}}

@article{Flei71a,
  title={Measuring nominal scale agreement among many raters.},
  author={Fleiss, Joseph L},
  journal={Psychological bulletin},
  volume={76},
  number={5},
  pages={378},
  year={1971},
  publisher={American Psychological Association}
}

@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}}

@inproceedings{Flem08a,
author={S. Fleming and E. Kraemer and R. E. K. Stirewalt and S. Xie and L. Dillon},
booktitle={Software Engineering, 2008. ICSE '08. ACM/IEEE 30th International Conference on},
title={A study of student strategies for the corrective maintenance of concurrent software},
year={2008},
pages={759-768},
keywords={computer science education;concurrency control;fault diagnosis;multi-threading;program diagnostics;software maintenance;training;action protocols;computer science degree programs;concurrent software;concurrent-programming idiom;corrective maintenance;diagnostic executions;fault diagnosis;multithreaded software systems;program comprehension;software engineering curriculums;student strategies;student training;think-aloud protocols;Computer science;Fault diagnosis;Maintenance engineering;Permission;Protocols;Software engineering;Software maintenance;Software performance;Software systems;Unified modeling language;concurrent programming;software maintenance;think-aloud method},
doi={10.1145/1368088.1368195},
ISSN={0270-5257},
month= may}

@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}}

@techreport{Flue11a,
	Abstract = {This thesis describes the conceptual ideas and technical solutions behind Pinocchio, a VM-less Smalltalk dialect implemented using a self-supporting runtime library. Pinocchio conceptually unifies the meta-level (the language semantics, the behind the scenes part of the language) with the base-level (e.g. a user written application). Both the base-level as well as the meta-level pro- vided by a runtime library are written in plain Smalltalk. The Smalltalk code is compiled directly to machine code in a standard compliant binary format. All objects communicate through a standard protocol that is an extension of the OS application binary interface (ABI) calling conventions. Message sends are compiled to function calls to a meta-level lookup/apply. After a successful lookup those calls are overwritten with inline-cached calls to the native code of the method. Meta-regression is avoided by type hinting the meta-level code and pre-filling their inline caches at compile-time. We will present the main challenges to support this basic idea of language-construction.},
	Author = {Olivier Fl{\"u}ckiger},
	Institution = {University of Bern},
	Keywords = {snf-none scg-bp scg11 jb12 flueckiger},
	Month = dec,
	Title = {Implementing {Pinocchio} a {VM}-less metacircular runtime library for dynamic languages},
	Type = {Bachelor's thesis},
	Url = {http://scg.unibe.ch/archive/projects/Flue11a.pdf},
	Year = {2011},
	Bdsk-Url-1 = {http://scg.unibe.ch/archive/projects/Flue11a.pdf}}

@mastersthesis{Flue14a,
	Abstract = {The performance of JavaScript virtual machines (VM) improved by several orders of magnitude in the last years,
    giving raise to ever more complex applications. Consequently there is a high demand for further compiler optimizations
    and therefore short VM development cycles. V8 the JavaScript engine of the Chrome web browser has a baseline compiler
    optimized for low compiler latency and an optimizing compiler called Crankshaft to compile hot functions. To achieve
    better maintainability and to improve robustness we aim at sharing compiler infrastructure and code generating back end
    between the two compilers. Our approach instruments Crankshaft to generate native code templates for the baseline
    compiler. We show that our method is practical, reduces complexity and maintains performance. As a case study to support
    our claims we ported the assembly level implementation of binary operations for baseline code to a version compiled by
    Crankshaft.},
	Author = {Olivier Fl{\"u}ckiger},
	Keywords = {scg-msc snf-none scg14 jb14},
	Month = feb,
	School = {University of Bern},
	Title = {Compiled Compiler Templates for {V8} or: {How} {I} Learned to Stop Worrying and Love {JavaScript}},
	Type = {Masters thesis},
	Url = {http://scg.unibe.ch/archive/masters/Flue14a.pdf},
	Year = {2014},
	Bdsk-Url-1 = {http://scg.unibe.ch/archive/masters/Flue14a.pdf}}

@article{Flur07a,
author={Fluri, B. and Wursch, M. and Pinzger, M. and Gall, H.C.},
journal={Software Engineering, IEEE Transactions on},
title={Change Distilling:Tree Differencing for Fine-Grained Source Code Change Extraction},
year={2007},
month=nov,
volume={33},
number={11},
pages={725-743},
keywords={software maintenance;software prototyping;tree data structures;abstract syntax trees;change distilling tree differencing algorithm;fine-grained source code change extraction;minimum edit script;software evolution analysis;Algorithm design and analysis;Data mining;History;Maintenance engineering;Programming profession;Software algorithms;Software maintenance;Software systems;Software tools;Taxonomy;Source code change extraction;software evolution analysis;software repositories;tree differencing algorithms; comment evolution;comment analysis},
doi={10.1109/TSE.2007.70731},
ISSN={0098-5589}
}

@inproceedings{Flur07b,
  title={Do code and comments co-evolve? {On} the {Relation} between {Source Code} and{ Comment Changes}},
  author={Fluri, Beat and Wursch, Michael and Gall, Harald C},
  booktitle={Reverse Engineering, 2007. WCRE 2007. 14th Working Conference on},
  pages={70--79},
  year={2007},
  keywords = {comment evolution, comment analysis},
  organization={IEEE}}

@inproceedings{Flur08a,
	Author = {Fluri, B. and Giger, E. and Gall, H.C.},
	Booktitle = {Automated Software Engineering, 2008. ASE 2008. 23rd IEEE/ACM International Conference on},
	Doi = {10.1109/ASE.2008.74},
	Issn = {1938-4300},
	Keywords = {application program interfaces;data mining;pattern clustering;public domain software;software prototyping;API;agglomerative hierarchical clustering;control flow;exception flow;open-source software system;semiautomated approach;software change type pattern discovery;software evolution;source code change extraction;Computer bugs;Data mining;Databases;Guidelines;Informatics;Open source software;Software architecture;Software debugging;Software systems;Software tools},
	Pages = {463-466},
	Title = {Discovering Patterns of Change Types},
	Year = {2008},
	Bdsk-Url-1 = {http://dx.doi.org/10.1109/ASE.2008.74}}

@article{Flur09a,
  title={Analyzing the Co-Evolution of Comments and Source Code},
  author={Fluri, Beat and W{\"u}rsch, Michael and Giger, Emanuel and Gall, Harald C},
  journal={Software Quality Journal},
  volume={17},
  number={4},
  pages={367--394},
  year={2009},
  keywords = {Software evolution analysis, Software maintenance, Software repositories, Source code changes, Comment changes, Comment quality},
  publisher={Springer}
}

@inproceedings{Foga10a,
 author = {Fogal, Thomas and Childs, Hank and Shankar, Siddharth and Kr\"{u}ger, Jens and Bergeron, R. Daniel and Hatcher, Philip},
 title = {Large Data Visualization on Distributed Memory multi-GPU Clusters},
 booktitle = {Proceedings of the Conference on High Performance Graphics},
 series = {HPG '10},
 year = {2010},
 location = {Saarbrucken, Germany},
 pages = {57--66},
 numpages = {10},
 url = {http://dl.acm.org/citation.cfm?id=1921479.1921489},
 acmid = {1921489},
 publisher = {Eurographics Association},
 address = {Aire-la-Ville, Switzerland, Switzerland}
}

@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}}

@book{Ford12a,
  title={Presentation patterns: techniques for crafting better presentations},
  author={Ford, Neal and McCullough, Matthew and Schutta, Nathaniel},
  year={2012},
  publisher={Addison-Wesley}
}

@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}}

@techreport{Forr10a,
	Author = {{Forrester Research}},
	Month = mar,
	Year = {2010},
	Title = {The Value and Importance of Code Reviews},
	Institution = {Klocwork},
	Url = {http://www.klocwork.com/resources/research/the-value-and-importance-of-code-review-forrester}
}

@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}}

@inproceedings{Forw02a,
	Acmid = {585065},
	Address = {New York, NY, USA},
	Author = {Forward, Andrew and Lethbridge, Timothy C.},
	Booktitle = {Proceedings of the 2002 ACM symposium on Document engineering},
	Doi = {10.1145/585058.585065},
	Isbn = {1-58113-594-7},
	Keywords = {documentation relevance, documentation survey, documentation technologies, program comprehension, software documentation, software engineering, software maintenance},
	Location = {McLean, Virginia, USA},
	Numpages = {8},
	Pages = {26--33},
	Publisher = {ACM},
	Series = {DocEng '02},
	Title = {The relevance of software documentation, tools and technologies: a survey},
	Year = {2002},
	Bdsk-Url-1 = {http://dx.doi.org/10.1145/585058.585065}}

@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{Fost05a,
	Address = {New York, NY, USA},
	Annote = {The definition of lense, as used in the other work of the same author},
	Author = {Foster, J. Nathan and Greenwald, Michael B. and Moore, Jonathan T. and Pierce, Benjamin C. and Schmitt, Alan},
	Booktitle = {POPL '05: Proceedings of the 32nd ACM SIGPLAN-SIGACT symposium on Principles of programming languages},
	Date-Added = {2010-01-28 17:34:03 +0100},
	Date-Modified = {2011-12-06 11:54:50 +0100},
	Doi = {10.1145/1040305.1040325},
	Isbn = {1-58113-830-X},
	Keywords = {transformation; view-update; bx},
	Location = {Long Beach, California, USA},
	Pages = {233--246},
	Publisher = {ACM},
	Title = {Combinators for bi-directional tree transformations: a linguistic approach to the view update problem},
	Year = {2005},
	Bdsk-Url-1 = {http://dx.doi.org/10.1145/1040305.1040325}}

@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{Fost08a,
	Address = {New York, NY, USA},
	Annote = {Related work on bi-directional languages},
	Author = {Bohannon, Aaron and Foster, J. Nathan and Pierce, Benjamin C. and Pilkiewicz, Alexandre and Schmitt, Alan},
	Booktitle = {POPL '08: Proceedings of the 35th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages},
	Date-Added = {2010-01-19 17:58:52 +0100},
	Date-Modified = {2011-12-06 11:54:56 +0100},
	Doi = {10.1145/1328438.1328487},
	Isbn = {978-1-59593-689-9},
	Keywords = {transformation; view-update; bx},
	Location = {San Francisco, California, USA},
	Pages = {407--419},
	Publisher = {ACM},
	Rating = {3},
	Title = {Boomerang: resourceful lenses for string data},
	Year = {2008},
	Bdsk-Url-1 = {http://dx.doi.org/10.1145/1328438.1328487}}

@inproceedings{Fost08b,
	Address = {New York, NY, USA},
	Author = {Foster, J. Nathan and Pilkiewicz, Alexandre and Pierce, Benjamin C.},
	Booktitle = {ICFP '08: Proceeding of the 13th ACM SIGPLAN international conference on Functional programming},
	Date-Added = {2010-01-27 17:50:25 +0100},
	Date-Modified = {2011-12-06 11:54:53 +0100},
	Doi = {10.1145/1411204.1411257},
	Isbn = {978-1-59593-919-7},
	Keywords = {transformation; view-update; bx},
	Location = {Victoria, BC, Canada},
	Pages = {383--396},
	Publisher = {ACM},
	Rating = {1},
	Title = {Quotient lenses},
	Year = {2008},
	Bdsk-Url-1 = {http://dx.doi.org/10.1145/1411204.1411257}}

@inproceedings{Fost09a,
	Acmid = {1603620},
	Address = {Washington, DC, USA},
	Author = {Foster, J. Nathan and Pierce, Benjamin C. and Zdancewic, Steve},
	Booktitle = {Proceedings of the 2009 22nd IEEE Computer Security Foundations Symposium},
	Date-Added = {2011-12-06 11:50:37 +0100},
	Date-Modified = {2011-12-06 11:54:39 +0100},
	Doi = {10.1109/CSF.2009.25},
	Isbn = {978-0-7695-3712-2},
	Keywords = {security; view-update; bx},
	Numpages = {15},
	Pages = {60--74},
	Publisher = {IEEE Computer Society},
	Title = {Updatable Security Views},
	Url = {http://dl.acm.org/citation.cfm?id=1602936.1603620},
	Year = {2009},
	Bdsk-Url-1 = {http://dl.acm.org/citation.cfm?id=1602936.1603620},
	Bdsk-Url-2 = {http://dx.doi.org/10.1109/CSF.2009.25}}

@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}}

@incollection{Fowl99b,
	Author = {Martin Fowler and Kent Beck},
	title = {Bad Smells in Code},
	bookTitle = {Refactoring: Improving the Design of Existing Code},
	editor = {Martin Fowler and Kent Beck and John Brant and William Opdyke and Don Roberts},
	year = {1999},
	Publisher = {Addison Wesley},
	keywords = {code smells},
	pages = {75--88},
	isbn = {978-0201485677}
}

@article{Fowl01a,
	Author = {Fowler, Martin and Highsmith, Jim},
	Journal = {Software Development Magazine},
	Keywords = {damiencbib},
	Month = aug,
	Number = 8,
	Pages = {29--30},
	Title = {The {Agile} Manifesto},
	Url = {http://agilemanifesto.org},
	Volume = 9,
	Year = {2001},
	Bdsk-Url-1 = {http://agilemanifesto.org}}

@article{Fowl01b,
	author = {Martin Fowler},
	title = {Reducing Coupling},
	journal ={IEEE Software},
	volume = {18},
	number = {4},
	issn = {0740-7459},
	year = {2001},
	pages = {102-104},
	doi = {10.1109/MS.2001.936226},
	publisher = {IEEE Computer Society},
	address = {Los Alamitos, CA, USA}}

@book{Fowl03a,
	Author = {Martin Fowler},
	Isbn = {0321193687},
	Keywords = {olit design scglib uml p2lit eselit},
	Publisher = {Addison Wesley},
	Title = {{UML} Distilled},
	Year = {2003}}

@misc{Fowl03b,
	Author = {Fowler, Martin},
	Keywords = {damiencbib umlmode uml},
	Month = may,
	Title = {{UML} Mode},
	Url = {http://www.martinfowler.com/bliki/UmlMode.html},
	Year = {2003},
	Bdsk-Url-1 = {http://www.martinfowler.com/bliki/UmlMode.html}}

@misc{Fowl03c,
	Author = {Fowler, Martin},
	Keywords = {damiencbib umlmode uml},
	Month = may,
	Title = {{UML} as programming language},
	Url = {http://www.martinfowler.com/bliki/UmlAsProgrammingLanguage.html},
	Year = {2003},
	Bdsk-Url-1 = {http://www.martinfowler.com/bliki/UmlAsProgrammingLanguage.html}}

@misc{Fowl03d,
	Author = {Fowler, Martin},
	Keywords = {damiencbib umlmode uml},
	Month = may,
	Title = {{UML} as sketch},
	Url = {http://www.martinfowler.com/bliki/UmlAsSketch.html},
	Year = {2003},
	Bdsk-Url-1 = {http://www.martinfowler.com/bliki/UmlAsSketch.html}}

@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},
	Bdsk-Url-1 = {http://www.webcitation.org/5wLOsI8ov}}

@book{Fowl05a,
	Address = {75 Arlington Street Suite 300, Boston MA, 02116 USA},
	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,
	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},
	Keywords = {damiencbib fluent interface},
	Title = {Fluent Interface},
	Url = {http://www.martinfowler.com/bliki/FluentInterface.html},
	Year = {2005},
	Bdsk-Url-1 = {http://www.martinfowler.com/bliki/FluentInterface.html}}

@inbook{Fowl05e,
	Author = {Martin Fowler},
	Chapter = {8.4: Other layering schemes},
	Publisher = {Addison Wesley},
	Title = {Patterns of Enterprise Application Architecture},
	Year = {2005}}

@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},
	Isbn = {0321712943},
	Keywords = {domain specific languages dsl damiencbib},
	Month = sep,
	Publisher = {Addison-Wesley Professional},
	Title = {Domain-Specific Languages},
	Year = {2010}}

@book{Fox97a,
  title={Applied regression analysis, linear models, and related methods.},
  author={Fox, John},
  year={1997},
  publisher={Sage Publications, Inc}
}

@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 = {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{Fran07a,
	author = {France, Robert and Rumpe, Bernhard},
	doi = {10.1109/FOSE.2007.14},
	isbn = {0-7695-2829-5},
	journal = {Future of Software Eng. (FOSE)},
	pages = {37--54},
	title = {{Model-driven Development of Complex Software: A Research Roadmap}},
	year = {2007}
}

@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}}

@inproceedings{Fras10a,
 author = {Fraser, Gordon and Zeller, Andreas},
 title = {Mutation-driven Generation of Unit Tests and Oracles},
 booktitle = {Proceedings of the 19th International Symposium on Software Testing and Analysis},
 series = {ISSTA '10},
 year = {2010},
 isbn = {978-1-60558-823-0},
 location = {Trento, Italy},
 pages = {147--158},
 numpages = {12},
 url = {http://doi.acm.org/10.1145/1831708.1831728},
 doi = {10.1145/1831708.1831728},
 acmid = {1831728},
 publisher = {ACM},
 address = {New York, NY, USA},
 keywords = {assertions, mutation analysis, mutation testing, search based testing, test case generation, test oracles, unit testing}}

@inproceedings{Fras13a,
 author = {Fraser, Gordon and Arcuri, Andrea and McMinn, Phil},
 title = {Test Suite Generation with Memetic Algorithms},
 booktitle = {Proceedings of the 15th Annual Conference on Genetic and Evolutionary Computation},
 series = {GECCO '13},
 year = {2013},
 isbn = {978-1-4503-1963-8},
 location = {Amsterdam, The Netherlands},
 pages = {1437--1444},
 numpages = {8},
 url = {http://doi.acm.org/10.1145/2463372.2463548},
 doi = {10.1145/2463372.2463548},
 acmid = {2463548},
 publisher = {ACM},
 address = {New York, NY, USA},
 keywords = {evolutionary testing, evosuite, object-oriented, search-based software engineering}
}

@article{Frat99a,
	Address = {New York, NY, USA},
	Author = {Piero Fraternali},
	Doi = {10.1145/331499.331502},
	Issn = {0360-0300},
	Journal = {ACM Computing Surveys},
	Number = {3},
	Pages = {227--263},
	Publisher = {ACM},
	Title = {Tools and approaches for developing data-intensive Web applications: a survey},
	Volume = {31},
	Year = {1999},
	Bdsk-Url-1 = {http://dx.doi.org/10.1145/331499.331502}}

@article{Fraz70a,
	Address = {New York, NY, USA},
	Author = {Frazer, W. D. and McKellar, A. C.},
	Doi = {10.1145/321592.321600},
	Issn = {0004-5411},
	Journal = {J. ACM},
	Month = jul,
	Number = {3},
	Pages = {496--507},
	Publisher = {ACM},
	Title = {Samplesort: A Sampling Approach to Minimal Storage Tree Sorting},
	Volume = {17},
	Year = {1970},
	Bdsk-Url-1 = {http://dx.doi.org/10.1145/321592.321600}}

@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,
	Address = {Portland, OR, USA},
	Author = {Freeman, Steve and Pryce, Nat},
	Booktitle = {OOPSLA'06: Companion to the 21st Symposium on Object-Oriented Programming Systems, Languages, and Applications},
	Doi = {10.1145/1176617.1176735},
	Isbn = {1-59593-491-X},
	Keywords = {jmock fluent interfaces damiencbib},
	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}}

@book{Free09a,
 author = {Freeman, Steve and Pryce, Nat},
 title = {Growing Object-Oriented Software, Guided by Tests},
 year = {2009},
 isbn = {0321503627, 9780321503626},
 edition = {1st},
 publisher = {Addison-Wesley Professional}
}

@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}}

@article{Fren14a,
	Author = {G.W. French and J.R. Kennaway and A.M. Day},
	Doi = {10.1002/spe.2182},
	Journal = {Software: Practice and Experience},
	Number = {8},
	Pages = {911--930},
	Publisher = {John Wiley & Sons, Ltd},
	Title = {Programs as visual, interactive documents},
	Volume = {4},
	Year = {2014}}

@article{Frie77a,
 author = {Friedman, Daniel P. and Wise, David S.},
 title = {Aspects of Applicative Programming for File Systems (Preliminary Version)},
 journal = {SIGSOFT Softw. Eng. Notes},
 issue_date = {March 1977},
 volume = {2},
 number = {2},
 month = mar,
 year = {1977},
 issn = {0163-5948},
 pages = {41--55},
 numpages = {15},
 url = {http://doi.acm.org/10.1145/390019.808310},
 doi = {10.1145/390019.808310},
 acmid = {808310},
 publisher = {ACM},
 address = {New York, NY, USA},
 keywords = {Functional combination, Real time, Recursive programming, Referential transparency, Shared file, Suspension, Text editor},
}
@incollection{Fris04a,
	Author = {Frisch, Alain and Cardelli, Luca},
	Booktitle = {Automata, Languages and Programming},
	Doi = {10.1007/978-3-540-27836-8\_53},
	Editor = {D\'{\i}az, Josep and Karhum\"{a}ki, Juhani and Lepist\"{o}, Arto and Sannella, Donald},
	Pages = {618--629},
	Publisher = {Springer Berlin Heidelberg},
	Series = {Lecture Notes in Computer Science},
	Title = {Greedy Regular Expression Matching},
	Volume = {3142},
	Year = {2004},
	Bdsk-Url-1 = {http://dx.doi.org/10.1007/978-3-540-27836-8%5C_53}}

@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,
	Author = {Daniel P. Friedman, Christopher T. Haynes and Eugene Kohlbecker},
	Booktitle = {Program Transformation and Programming Environments},
	Editor = {P. Pepper},
	Institution = {Indiana University},
	Month = nov,
	Number = {151},
	Pages = {263--274},
	Title = {Programming with Continuations},
	Year = {1984}}

@inproceedings{Frie85a,
 author = {Friedman, Daniel P. and Haynes, Christopher T.},
 title = {Constraining Control},
 booktitle = {Proceedings of the 12th ACM SIGACT-SIGPLAN Symposium on Principles of Programming Languages},
 series = {POPL '85},
 year = {1985},
 isbn = {0-89791-147-4},
 location = {New Orleans, Louisiana, USA},
 pages = {245--254},
 numpages = {10},
 url = {http://doi.acm.org/10.1145/318593.318654},
 doi = {10.1145/318593.318654},
 acmid = {318654},
 publisher = {ACM},
 address = {New York, NY, USA}
}

@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 scg10 jb11 snf10},
	Month = oct,
	Title = {{ECCrawler} --- Visualizations for {Eclipse}},
	Type = {Informatikprojekt},
	Url = {http://scg.unibe.ch/archive/projects/Frie10a.pdf},
	Year = {2010},
	Bdsk-Url-1 = {http://scg.unibe.ch/archive/projects/Frie10a.pdf}}

@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}}

@techreport{Fris18a,
	Title = {Security in {Android} {ICC}},
	Author = {Patrick Frischknecht},
	Abstract = {Android Inter-Component Communication (ICC) is
		complex, largely unconstrained, and hard for
		developers to understand. As a consequence, ICC is a
		common source of security vulnerability in Android
		apps. To promote secure programming practices, we have
		reviewed related research, and identified avoidable
		ICC vulnerabilities in Android-run devices and the
		security code smells that indicate their presence. We
		explain the vulnerabilities and their corresponding
		smells, and we discuss how they can be eliminated or
		mitigated during development. We present a lightweight
		static analysis tool on top of Android Lint that
		analyzes the code under development and provides
		just-in-time feedback within the integrated
		development environment (IDE) about the presence of
		such security smells in the code. Moreover, with the
		help of this tool we study the prevalence of security
		code smells in more than 700 open-source apps, and
		manually inspect around 15\% of these apps to assess
		the extent to which identifying such smells uncovers
		ICC security vulnerabilities.},
	Institution = {University of Bern},
	Keywords = {scg-bp snf-asa2 scg18 jb18},
	Type = {Bachelor's thesis},
	Url = {http://scg.unibe.ch/archive/projects/Fris18a.pdf},
	Month = jun,
	Year = {2018}
}

@mastersthesis{Fris21a,
	Title = {Detection of Cybersquatted Domains},
	Author = {Patrick Frischknecht},
	Abstract = {Domain names, or short domains, are memorable identifiers for
		websites, however their affiliation is not always clear.
		Cybersquatters register domains that closely resemble existing ones
		or well known trademarks for their own profit and therefore misuse
		the trust of a brand. The focus of this thesis is to support security
		personnel in the accurate detection of cybersquatted domains. Our
		goal is to identify such domains that have been crafted in bad faith
		based on the content present on the website, and therefore
		effectively reduce the number of websites that would otherwise
		require a manual review. We developed a tool based on logo matching
		with image hashing that can, given a target domain, report
		cybersquatted domains in global-scale domain lists that consist of
		several hundred million entries. For our case study we selected the
		websites of nine well known luxury and apparel trademarks from the
		Forbes Top 100 most valuable brands list that we fed to our tool. We
		performed a manual evaluation on more than 5 000 reported websites to
		determine whether the automatically assigned label, harmless or
		malicious, was correct. We realized that cybersquatting is still a
		relevant issue for selected brands as they try to protect themselves
		against this threat. Furthermore, we could identify 1 433 domains
		that host malicious content, including 639 fake web shops. Finally,
		we realized that image hashing algorithms are preferably not used in
		such scenarios, because logos on squatted domains are altered in a
		way that causes large differences in their similarity scores although
		they remain visually similar. We conclude that logos are indeed a
		typical feature used in many websites of cybersquatted domains and
		that our tool can report domains missed by existing tools and
		services.},
	Keywords = {scg-msc snf-asa3 scg21 jb21},
	School = {University of Bern},
	Type = {Masters thesis},
	Url = {http://scg.unibe.ch/archive/masters/Fris21a.pdf},
	Month = jul,
	Year = {2021}
}

@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{Frit10a,
	Acmid = {1806828},
	Address = {New York, NY, USA},
	Author = {Fritz, Thomas and Murphy, Gail C.},
	Booktitle = {Proceedings of the 32nd ACM/IEEE International Conference on Software Engineering - Volume 1},
	Doi = {10.1145/1806799.1806828},
	Isbn = {978-1-60558-719-6},
	Keywords = {human-centric software engineering, information fragments, programming tools, dev-questions},
	Location = {Cape Town, South Africa},
	Numpages = {10},
	Pages = {175--184},
	Publisher = {ACM},
	Series = {ICSE '10},
	Title = {Using information fragments to answer the questions developers ask},
	Url = {http://doi.acm.org/10.1145/1806799.1806828},
	Year = {2010},
	Bdsk-Url-1 = {http://doi.acm.org/10.1145/1806799.1806828},
	Bdsk-Url-2 = {http://dx.doi.org/10.1145/1806799.1806828}}

@inproceedings{Fritz14a,
	 author = {Fritz, Thomas and Shepherd, David C. and Kevic, Katja and Snipes, Will and Br\"{a}unlich, Christoph},
	 title = {Developers' Code Context Models for Change Tasks},
	 booktitle = {Proceedings of the 22Nd ACM SIGSOFT International Symposium on Foundations of Software Engineering},
	 series = {FSE 2014},
	 year = {2014},
	 isbn = {978-1-4503-3056-5},
	 location = {Hong Kong, China},
	 pages = {7--18},
	 numpages = {12},
	 url = {http://doi.acm.org/10.1145/2635868.2635905},
	 doi = {10.1145/2635868.2635905},
	 acmid = {2635905},
	 publisher = {ACM},
	 address = {New York, NY, USA},
	 keywords = {Context models, change task, navigation, search, user study}
}

@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{Fros89,
	Acmid = {63412},
	Address = {Oxford, UK},
	Author = {Richard Frost and John Launchbury},
	Doi = {10.1093/comjnl/32.2.108},
	Issn = {0010-4620},
	Issue_Date = {April 1989},
	Journal = {Comput. J.},
	Month = apr,
	Number = {2},
	Numpages = {14},
	Pages = {108--121},
	Publisher = {Oxford University Press},
	Title = {Constructing natural language interpreters in a lazy functional language},
	Url = {https://courses.cit.cornell.edu/ling4424/frost-launchbury.pdf},
	Volume = {32},
	Year = {1989},
	Bdsk-Url-1 = {https://courses.cit.cornell.edu/ling4424/frost-launchbury.pdf},
	Bdsk-Url-2 = {http://dx.doi.org/10.1093/comjnl/32.2.108}}

@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}}

@article{Fros96a,
	Author = {Frost, Richard A. and Szydlowski, Barbara},
	Doi = {10.1016/0167-6423(96)00014-7},
	Issn = {01676423},
	Journal = {Science of Computer Programming},
	Month = nov,
	Number = {3},
	Pages = {263--288},
	Title = {Memoizing purely functional top-down backtracking language processors},
	Volume = {27},
	Year = {1996},
	Bdsk-Url-1 = {http://dx.doi.org/10.1016/0167-6423(96)00014-7}}

@article{Fros06a,
	Acmid = {1149988},
	Address = {New York, NY, USA},
	Author = {Frost, Richard A. and Hafiz, Rahmatullah},
	Doi = {10.1145/1149982.1149988},
	Issn = {0362-1340},
	Issue_Date = {May 2006},
	Journal = {SIGPLAN Not.},
	Keywords = {backtracking, left-recursion, memoization, parser combinators, top-down parsing},
	Month = may,
	Number = {5},
	Numpages = {9},
	Pages = {46--54},
	Publisher = {ACM},
	Title = {A new top-down parsing algorithm to accommodate ambiguity and left recursion in polynomial time},
	Url = {http://doi.acm.org/10.1145/1149982.1149988},
	Volume = {41},
	Year = {2006},
	Bdsk-Url-1 = {http://doi.acm.org/10.1145/1149982.1149988},
	Bdsk-Url-2 = {http://dx.doi.org/10.1145/1149982.1149988}}

@inproceedings{Fros07a,
	Acmid = {1621425},
	Address = {Stroudsburg, PA, USA},
	Author = {Frost, Richard A. and Hafiz, Rahmatullah and Callaghan, Paul C.},
	Booktitle = {Proceedings of the 10th International Conference on Parsing Technologies},
	Isbn = {978-1-932432-90-9},
	Location = {Prague, Czech REpublic},
	Numpages = {12},
	Pages = {109--120},
	Publisher = {Association for Computational Linguistics},
	Series = {IWPT '07},
	Title = {Modular and efficient top-down parsing for ambiguous left-recursive grammars},
	Url = {http://dl.acm.org/citation.cfm?id=1621410.1621425},
	Year = {2007},
	Bdsk-Url-1 = {http://dl.acm.org/citation.cfm?id=1621410.1621425}}

@article{Fruc91a,
	Address = {New York, NY, USA},
	Author = {Fruchterman, Thomas M. J. and Reingold, Edward M.},
	Doi = {10.1002/spe.4380211102},
	Issn = {0038-0644},
	Issue_Date = {Nov. 1991},
	Journal = {Softw. Pract. Exper.},
	Keywords = {force-directed placement, graph drawing, multi-level techniques, simulated annealing},
	Month = nov,
	Number = {11},
	Numpages = {36},
	Pages = {1129--1164},
	Publisher = {John Wiley \& Sons, Inc.},
	Title = {Graph drawing by force-directed placement},
	Url = {http://dx.doi.org/10.1002/spe.4380211102},
	Volume = {21},
	Year = {1991},
	Bdsk-Url-1 = {http://dx.doi.org/10.1002/spe.4380211102}}

@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}}

@misc{FsharpSpec,
	Key = {F\#},
	Note = {http://fsharp.org/specs/language-spec/},
	Title = {{F\# Specification}}}

@inproceedings{Fu07a,
  title={Exception-chain analysis: Revealing exception handling architecture in Java server applications},
  author={Fu, Chen and Ryder, Barbara G},
  booktitle={29th International Conference on Software Engineering (ICSE'07)},
  pages={230--239},
  year={2007},
  organization={IEEE}
}

@inproceedings{Fu13a,
  title={Why people hate your app: Making sense of user feedback in a mobile app store},
  author={Fu, Bin and Lin, Jialiu and Li, Lei and Faloutsos, Christos and Hong, Jason and Sadeh, Norman},
  booktitle={Proceedings of the 19th ACM SIGKDD international conference on Knowledge discovery and data mining},
  pages={1276--1284},
  year={2013}
}

@article{Fu16a,
  title={Tuning for software analytics: Is it really necessary?},
  author={Fu, Wei and Menzies, Tim and Shen, Xipeng},
  journal={Information and Software Technology},
  volume={76},
  pages={135--146},
  year={2016},
  publisher={Elsevier}
}

@inproceedings{Fucc19a,
  title={On using machine learning to identify knowledge in {API} reference documentation},
  author={Fucci, Davide and Mollaalizadehbahnemiri, Alireza and Maalej, Walid},
  booktitle={Proceedings of the 2019 27th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering},
  pages={109--119},
  year={2019}
}

@techreport{Fuch17a,
	Title = {Recognising structural patterns in code --- A parser based approach},
	Author = {Mathias Fuchs},
	Abstract = {Software complexity increases over time. This makes the
	analysis of systems increasingly difficult. If we want to
	analyze a software system and focus on the structure, we
	require the creation of models. Agile Modeling tries to
	simplify this task. However, to create these models we need a
	parser for the source. This parser is sometimes missing or it
	requires a great deal of effort to create, especially when we
	are confronted with legacy code, unknown data formats,
	unknown domain specific languages and sometimes files with
	mixed languages and log files. To be able to model fast, in
	the spirit of Agile Modeling, we need to build parsers fast.
	In this thesis we therefore investigate the possibility to
	automatically infer parsers of data serialization formats
	(e.g., JSON, XML) and output the structure of the given
	source. To do this we created five grammar based building
	blocks (List, String, KeyValuePair, Command and Tag). These
	blocks can be combined in various ways to create the needed
	parser. This raises writing parsers one level higher, away
	from the "token" level and also enables us to automate the
	process. We can successfully infer structure of formats such
	as JSON, XML and CSS. Our approach works particularly well on
	XML files, with an average f-measure of 1. However it
	sometimes struggles with CSS, with an average f-measure of
	0.88. This is due a problem with the building blocks. They
	are based on island grammars and ignore the parts of the code
	that we do not care about. However it does not skip all the
	code that we want it to skip.},
	Institution = {University of Bern},
	Keywords = {scg-bp snf-asa2 scg17 jb17},
	Type = {Bachelor's thesis},
	Url = {http://scg.unibe.ch/archive/projects/Fuch17a.pdf},
	Month = may,
	Year = {2017}
}

@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{Furn87a,
  title={The vocabulary problem in human-system communication},
  author={Furnas, George W. and Landauer, Thomas K. and Gomez, Louis M. and Dumais, Susan T.},
  journal={Communications of the ACM},
  volume={30},
  number={11},
  pages={964--971},
  year={1987},
  publisher={ACM}
}

@inproceedings{Furr09a,
 author = {Furr, Michael and An, Jong-hoon (David) and Foster, Jeffrey S. and Hicks, Michael},
 title = {Static Type Inference for {Ruby}},
 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 = {1859--1866},
 numpages = {8},
 url = {http://doi.acm.org/10.1145/1529282.1529700},
 doi = {10.1145/1529282.1529700},
 acmid = {1529700},
 publisher = {ACM},
 address = {New York, NY, USA},
 keywords = {Ruby, contracts, dynamic typing, type inference}
}

@phdthesis{Furr09b,
	Author = {Michael Furr},
	School = {University of Maryland},
	Title = {Combining Static and Dynamic Typing in {Ruby}},
	Url = {https://www.cs.umd.edu/~jfoster/papers/thesis-furr.pdf},
	Year = {2009}
}

@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}}

@inproceedings{Gabe10a,
  title={A study of the uniqueness of source code},
  author={Gabel, Mark and Su, Zhendong},
  booktitle={Proceedings of the eighteenth ACM SIGSOFT international symposium on Foundations of software engineering},
  pages={147--156},
  year={2010},
  organization={ACM}
}

@article{Gabr88a,
	Address = {New York, NY, USA},
	Author = {Richard P. Gabriel},
	Doi = {10.1145/1317250.1317252},
	Issn = {1045-3563},
	Journal = {SIGPLAN Lisp Pointers},
	Keywords = {pl-lit-lambda calculus},
	Number = {2},
	Pages = {15--25},
	Publisher = {ACM},
	Title = {The why of {Y}},
	Url = {http://www.dreamsongs.com/Files/WhyOfY.pdf},
	Volume = {2},
	Year = {1988},
	Bdsk-Url-1 = {http://www.dreamsongs.com/Files/WhyOfY.pdf},
	Bdsk-Url-2 = {http://dx.doi.org/10.1145/1317250.1317252}}

@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{Gadi17a,
	Title = {Security in {Android} Applications},
	Author = {Pascal Gadient},
	Abstract = {The ubiquity of smartphones, and their very broad capabilities and usage, make the security of these devices tremendously important. Unfortunately, despite all progress in security and privacy mechanisms, vulnerabilities continue to proliferate. Research has shown that many vulnerabilities are due to insecure programming practices. However, each study has often dealt with a specific issue, making the results less actionable for practitioners. To promote secure programming practices, we have reviewed related research, and identified avoidable vulnerabilities in Android-run devices and the security code smells that indicate their presence. In particular, we explain the vulnerabilities, their corresponding smells, and we discuss how they could be eliminated or mitigated during development. Moreover, we develop a lightweight static analysis tool and discuss the extent to which it successfully detects several vulnerabilities in about 46,000 apps hosted by the official Android market.},
	School = {University of Bern},
	Keywords = {scg-msc snf-asa2 scg17 jb18},
	Type = {Masters thesis},
	Url = {http://scg.unibe.ch/archive/projects/Gadi17.pdf},
	Month = aug,
	Year = {2017}}

@article{Gadi18a,
	author = {Gadient, Pascal and Ghafari, Mohammad and Frischknecht, Patrick and Nierstrasz, Oscar},
	title = {Security Code Smells in {Android} {ICC}},
	editor = {De Roover, Coen and Zhao, Jianjun and Lo, David},
	journal = {Empirical Software Engineering},
	volume = {24},
	issue = {5},
	year = {2019},
	pages = {3046--3076},
	keywords = {scg-pub security snf-asa3 scg18 jb19; Security code smells; Vulnerability; Static analysis; Android},
	Annote = {internationaljournal},
	medium = {2},
	peerreview = {yes},
	publisher = {Springer US},
	doi = {10.1007/s10664-018-9673-y},
	abstract = {Android Inter-Component Communication (ICC) is complex, largely unconstrained, and hard for developers to understand. As a consequence, ICC is a common source of security vulnerability in Android apps. To promote secure programming practices, we have reviewed related research, and identified avoidable ICC vulnerabilities in Android-run devices and the security code smells that indicate their presence. We explain the vulnerabilities and their corresponding smells, and we discuss how they can be eliminated or mitigated during development. We present a lightweight static analysis tool on top of Android Lint that analyzes the code under development and provides just-in-time feedback within the IDE about the presence of such smells in the code. Moreover, with the help of this tool we study the prevalence of security code smells in more than 700 open-source apps, and manually inspect around 15% of the apps to assess the extent to which identifying such smells uncovers ICC security vulnerabilities.},
	url = {http://scg.unibe.ch/archive/papers/Gadi18a.pdf}}

@inproceedings{Gadi20a,
	author={Gadient, Pascal and Ghafari, Mohammad and Tarnutzer, Marc-Andrea and Nierstrasz, Oscar},
	booktitle={27th edition of the IEEE International Conference on Software Analysis, Evolution and Reengineering (SANER)},
	title={Web {APIs} in {Android} through the Lens of Security},
	year={2020},
	Annote    = {internationalconference},
	PeerReview = {yes},
	Medium = {2},
	abstract={Web communication has become an indispensable characteristic of mobile apps. However, it is not clear what data the apps transmit, to whom, and what consequences such transmissions have. We analyzed the web communications found in mobile apps from the perspective of security. We first manually studied 160 Android apps to identify the commonly-used communication libraries, and to understand how they are used in these apps. We then developed a tool to statically identify web API URLs used in the apps, and restore the JSON data schemas including the type and value of each parameter. We extracted 9,714 distinct web API URLs that were used in 3,376 apps. We found that developers often use the java.net package for network communication, however, third-party libraries like OkHttp are also used in many apps. We discovered that insecure HTTP connections are seven times more prevalent in closed-source than in open-source apps, and that embedded SQL and JavaScript code is used in web communication in more than 500 different apps. This finding is devastating; it leaves billions of users and API service providers vulnerable to attack.},
	keywords={scg-pub security snf-asa3 scg20 jb20 snf-imad},
	doi = {10.1109/SANER48275.2020.9054850},
	month=mar,
	Url={http://scg.unibe.ch/archive/papers/Gadi20a.pdf}
}

@inproceedings{Gadi21a,
	author={Gadient, Pascal and Tarnutzer, Marc-Andrea and Nierstrasz, Oscar and Ghafari, Mohammad},
	booktitle={ACM / IEEE International Symposium on Empirical Software Engineering and Measurement (ESEM)},
	title={Security Smells Pervade Mobile App Servers},
	year={2021},
	Annote    = {internationalconference},
	PeerReview = {yes},
	Medium = {2},
	abstract={[Background] Web communication is universal in cyberspace, and security risks in this domain are devastating. [Aims] We analyzed the prevalence of six security smells in mobile app servers, and we investigated the consequence of these smells from a security perspective. [Method] We used an existing dataset that includes 9,714 distinct URLs used in 3,376 Android mobile apps. We exercised these URLs twice within 14 months and investigated the HTTP headers and bodies. [Results] We found that more than 69% of tested apps suffer from three kinds of security smells, and that unprotected communication and misconfigurations are very common in servers. Moreover, source-code and version leaks, or the lack of update policies expose app servers to security risks. [Conclusions] Poor app server maintenance greatly hampers security.},
	keywords={scg-pub security snf-asa3 scg21 jb22},
	doi = {10.1145/3475716.3475780},
	month=oct,
	Url={http://scg.unibe.ch/archive/papers/Gadi21a.pdf}
}

@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 = {scg-none 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 scg-none 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 scg-none 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 scg-none 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 scg-none 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 scg-none 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},
	url2 = {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 scg-none jb-none skip-doi gaelli},
	Misc = {gaelli},
	Month = sep,
	Title = {Composing Unit Tests},
	url = {http://scg.unibe.ch/archive/papers/Gael05bComposingUnitTests.pdf},
	url2 = {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 scg-none 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 = {skip-doi scg-phd gaelli scg-none 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},
	Doi = {10.5381/jot.2007.6.9.a4},
	Keywords = {scg07 scg-pub skip-doi snf07 jb08 gaelli},
	Medium = {2},
	Month = oct,
	Pages = {71--86},
	Peerreview = {yes},
	Title = {Composing Tests from Examples},
	url = {http://www.jot.fm/issues/issue_2007_10/paper4.pdf},
	url2 = {http://www.jot.fm/contents/issue_2007_10/paper4.html},
	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,
	Address = {Zurich, Switzerland},
	Author = {Gajos, Krzysztof and Fox, Harold and Shrobe, Howard},
	Booktitle = {Pervasive'02: Proceedings of the 1st International Conference on Pervasive Computing},
	Month = aug,
	Pages = {134--140},
	Title = {End User Empowerment in Human Centered Pervasive Computing},
	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{Gal09a,
	Acmid = {1542528},
	Address = {New York, NY, USA},
	Author = {Gal, Andreas and Eich, Brendan and Shaver, Mike and Anderson, David and Mandelin, David and Haghighat, Mohammad R. and Kaplan, Blake and Hoare, Graydon and Zbarsky, Boris and Orendorff, Jason and Ruderman, Jesse and Smith, Edwin W. and Reitmaier, Rick and Bebenita, Michael and Chang, Mason and Franz, Michael},
	Booktitle = {Proceedings of the 2009 ACM SIGPLAN conference on Programming language design and implementation},
	Date-Added = {2012-05-08 15:04:30 +0200},
	Date-Modified = {2012-05-08 15:08:01 +0000},
	Doi = {10.1145/1542476.1542528},
	Isbn = {978-1-60558-392-1},
	Keywords = {vm},
	Location = {Dublin, Ireland},
	Numpages = {14},
	Pages = {465--478},
	Publisher = {ACM},
	Rating = {4},
	Series = {PLDI '09},
	Title = {Trace-based just-in-time type specialization for dynamic languages},
	Url = {http://doi.acm.org/10.1145/1542476.1542528},
	Year = {2009},
	Bdsk-Url-1 = {http://doi.acm.org/10.1145/1542476.1542528},
	Bdsk-Url-2 = {http://dx.doi.org/10.1145/1542476.1542528}}

@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 = {Washington, DC, USA},
	Author = {Gall, Harald and Jazayeri, Mehdi and Krajewski, Jacek},
	Booktitle = {Proceedings of the 6th International Workshop on Principles of Software Evolution},
	Isbn = {0-7695-1903-2},
	Pages = {13--},
	Publisher = {IEEE Computer Society},
	Series = {IWPSE '03},
	Title = {CVS Release History Data for Detecting Logical Couplings},
	Url = {http://dl.acm.org/citation.cfm?id=942803.943741},
	Year = {2003},
	Bdsk-Url-1 = {http://dl.acm.org/citation.cfm?id=942803.943741}}

@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}}

@article{Gall08a,
	Abstract = {An approach using semantic metrics to provide insight into software quality early in the
				design phase of software development by automatically analysing natural language (NL) design
				specifications for object-oriented systems is presented. Semantic metrics are based on the meaning
				of software within the problem domain. In this paper, we extend semantic metrics to analyse design
				specifications. Since semantic metrics can now be calculated from early in design through software
				maintenance, they provide a consistent and seamless type of metric that can be collected through the
				entire lifecycle. We discuss our semMet system, an NL-based program comprehension tool we have expanded
				to calculate semantic metrics from design specifications. To validate semantic metrics from design
				specifications and to illustrate their seamless nature across the software lifecycle, we compare
				semantic metrics from different phases of the lifecycle, and we also compare them to syntactically
				oriented metrics calculated from the source code. Results indicate semantic metrics calculated from
				design specifications can give insight into the quality of the source code based on that design. Also,
				these results illustrate that semantic metrics provide a consistent and seamless type of metric that can
				be collected through the entire lifecycle.},
	Author = {Gall, C.S. and Lukins, S. and Etzkorn, L. and Gholston, S. and Farrington, P. and Utley, D. and Fortune, J. and Virani, S.},
	Doi = {10.1049/iet-sen:20070109},
	Issn = {1751-8806},
	Journal = {Software, IET},
	Keywords = {natural language design specifications;object-oriented systems;oriented metrics;semMet system;semantic software metrics;software development phase;software maintenance;source code;natural languages;software engineering;software metrics;},
	Month = feb,
	Number = {1},
	Pages = {17-26},
	Title = {Semantic software metrics computed from natural language design specifications},
	Volume = {2},
	Year = {2008},
	Bdsk-Url-1 = {http://dx.doi.org/10.1049/iet-sen:20070109}}

@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,
	Author = {Harald C. Gall and Beat Fluri and Martin Pinzger},
	Journal = {IEEE Software},
	Month = jan,
	Number = {1},
	Pages = {26--33},
	Title = {Change Analysis with {Evolizer} and {ChangeDistiller}},
	Volume = {26},
	Year = {2009}}

@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,
	Address = {Reading, Mass.},
	Author = {Gamma, Erich and Helm, Richard and Johnson, Ralph and Vlissides, John},
	Isbn = {978-0201633610},
	Keywords = {olit-oose design-patterns reuse book scglib sclit oorp gang of four GOF damiencbib p2lit},
	Publisher = {Addison Wesley Professional},
	Title = {Design Patterns: Elements of Reusable Object-Oriented Software},
	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{Gane17a,
  author        = {Ganea, George and Verebi, Ioana and Marinescu, Radu},
  title         = {Continuous quality assessment with inCode},
  journal       = {Science of Computer Programming},
  date          = {2017-02-01},
  year          = {2017},
  series        = {6th issue of Experimental Software and Toolkits (EST-6)},
  volume        = {134},
  pages         = {19--36},
  issn          = {0167-6423},
  doi           = {10.1016/j.scico.2015.02.007},
  url           = {http://www.sciencedirect.com/science/article/pii/S0167642315000520},
  urldate       = {2017-08-09},
  abstract      = {In spite of the progress that has been made over the last ten years in the research fields of software evolution and quality assessment, developers still do not take full advantage of the benefits of new assessment techniques that have been proposed by researchers. Beyond social factors, we believe that there are at least two main elements that contribute to this lack of adoption: (i) the insufficient integration of existing techniques in mainstream IDEs and (ii) the lack of support for a continuous (daily) usage of QA tools. In this context this paper introduces inCode, an Eclipse plugin aimed at transforming quality assessment and code inspections from a standalone activity, into a continuous process, fully integrated in the development life-cycle. But inCode not only assesses continuously the quality of Java systems; it also assists developers in taking restructuring decisions, and even supports them in triggering non-standard, complex refactorings. This paper introduces inCode's differentiating features, it presents the design goals that shaped our construction decisions, and describes a controlled experiment designed to validate the usability of the tool. The experiment has indicated that developers using inCode are more efficient in refactoring design fragments affected by design flaws.},
  keywords      = {code smells, Design problems, Design quality, Quality assessment, Software metrics (was Gane15a)},
  shortjournal  = {Science of Computer Programming}
}

@article{Ganek03a,
	Address = {Riverton, NJ, USA},
	Author = {Ganek, Alan G. and Corbi, Thomas A.},
	Doi = {10.1147/sj.421.0005},
	Issn = {0018-8670},
	Journal = {IBM Systems Journal},
	Keywords = {damiencbib},
	Number = {1},
	Pages = {5--18},
	Publisher = {IBM Corp.},
	Title = {The dawning of the autonomic computing era},
	Volume = {42},
	Year = {2003},
	Bdsk-Url-1 = {http://dx.doi.org/10.1147/sj.421.0005}}

@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}}

@article{Gann77a,
 author = {Gannon, J. D.},
 title = {An Experimental Evaluation of Data Type Conventions},
 journal = {Commun. ACM},
 issue_date = {Aug. 1977},
 volume = {20},
 number = {8},
 month = aug,
 year = {1977},
 issn = {0001-0782},
 pages = {584--595},
 numpages = {12},
 url = {http://doi.acm.org/10.1145/359763.359800},
 doi = {10.1145/359763.359800},
 acmid = {359800},
 publisher = {ACM},
 address = {New York, NY, USA},
 keywords = {data types, experimentation, language design, redundancy, reliable software}
}

@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}}

@book{Gant16a,
  title={Conceptual exploration},
  author={Ganter, Bernhard and Obiedkov, Sergei A and Rudolph, Sebastian and Stumme, Gerd},
  year={2016},
  publisher={Springer},
  ISBN = {978-3-662-49291-8}
}

@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}}

@article{Gao07a,
  title={A comprehensive empirical study of count models for software fault prediction},
  author={Gao, Kehan and Khoshgoftaar, Taghi M},
  journal={IEEE Transactions on Reliability},
  volume={56},
  number={2},
  pages={223--236},
  year={2007},
  publisher={IEEE}
}

@article{Gao2011a,
  title={Choosing software metrics for defect prediction: an investigation on feature selection techniques},
  author={Gao, Kehan and Khoshgoftaar, Taghi M and Wang, Huanjing and Seliya, Naeem},
  journal={Software: Practice and Experience},
  volume={41},
  number={5},
  pages={579--606},
  year={2011},
  publisher={Wiley Online Library}
}

@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,
	Address = {Zagreb, Croatia},
	Author = {Garbinato, Beno\^it and Rupp, Philippe},
	Booktitle = {ConTEL'03: Proceedings of the 7th International Conference on Telecommunications},
	Doi = {10.1109/CONTEL.2003.176903},
	Keywords = {flea market damiencbib ubiquitous},
	Month = jun,
	Pages = {145--149},
	Title = {From ad hoc networks to ad hoc applications},
	Year = {2003},
	Bdsk-Url-1 = {http://dx.doi.org/10.1109/CONTEL.2003.176903}}

@inproceedings{Garc09a,
	title = {A visual analytics tool for software project structure and relationships among classes},
	author = {Garc{\'\i}a, Juan and Torres, Antonio Gonz{\'a}lez and Aguilar, Diego Alonso G{\'o}mez and Ther{\'o}n, Roberto and Pe{\~n}alvo, Francisco J Garc{\'\i}a},
	booktitle = {Smart Graphics},
	pages = {203--212},
	year = {2009},
	organization = {Springer}}

@inproceedings{Garc09b,
	author = {Garcia, Joshua and Popescu, Daniel and Edwards, George and Medvidovic, Nenad},
	title = {Identifying Architectural Bad Smells},
	booktitle = {Proceedings of the 2009 European Conference on Software Maintenance and Reengineering},
	series = {CSMR '09},
	year = {2009},
	isbn = {978-0-7695-3589-0},
	pages = {255--258},
	numpages = {4},
	url = {https://doi.org/10.1109/CSMR.2009.59},
	doi = {10.1109/CSMR.2009.59},
	acmid = {1545447},
	publisher = {IEEE Computer Society},
	address = {Washington, DC, USA},
	keywords = {Software Maintenance, Software Architecture, Architectural Bad Smells, Architectural Refactoring}
}

@techreport{Garc10a,
	Author = {R. Garcia and R. Wolff and E. Tanter and J. Aldrich},
	Institution = {Carnegie Mellon University},
	Month = jul,
	Number = {CMU-ISR-10-115},
	Title = {Featherweight Typestate},
	Year = {2010}}

@article{Garc11a,
	Address = {New York, NY, USA},
	Author = {Garcia-Molina, Hector and Koutrika, Georgia and Parameswaran, Aditya},
	Doi = {10.1145/2018396.2018423},
	Issn = {0001-0782},
	Issue_Date = {November 2011},
	Journal = {Commun. ACM},
	Month = nov,
	Number = {11},
	Numpages = {10},
	Pages = {121--130},
	Publisher = {ACM},
	Title = {Information seeking: convergence of search, recommendations, and advertising},
	Url = {http://doi.acm.org/10.1145/2018396.2018423},
	Volume = {54},
	Year = {2011},
	Bdsk-Url-1 = {http://doi.acm.org/10.1145/2018396.2018423},
	Bdsk-Url-2 = {http://dx.doi.org/10.1145/2018396.2018423}}

@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{Garl94a,
	 author = {Garlan, David and Krueger, Charles W. and Lerner, Barbara Staudt},
	 title = {TransformGen: Automating the Maintenance of Structure-oriented Environments},
	 journal = {ACM Trans. Program. Lang. Syst.},
	 issue_date = {May 1994},
	 volume = {16},
	 number = {3},
	 month = may,
	 year = {1994},
	 issn = {0164-0925},
	 pages = {727--774},
	 numpages = {48},
	 url = {http://doi.acm.org/10.1145/177492.177697},
	 doi = {10.1145/177492.177697},
	 acmid = {177697},
	 publisher = {ACM},
	 address = {New York, NY, USA},
	 keywords = {schema evolution, structure-oriented environments, type evolution}
}

@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},
	Institution = {Carnegie Mellon University},
	Keywords = {aesop damiencbib},
	Month = jul,
	Title = {An introduction to the {Aesop} System},
	Year = {1995}}

@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,
	Address = {Toronto, Ontario, Canada},
	Author = {Garlan, David and Monroe, Robert T. and Wile, David},
	Booktitle = {CASCON'97: Proceedings of the 7th Conference of the Centre for Advanced Studies on Collaborative Research},
	Doi = {10.1145/782010.782017},
	Keywords = {damiencbib architecture acme},
	Month = nov,
	Pages = {169--183},
	Title = {{ACME}: An Architecture Description Interchange Language},
	Year = {1997},
	Bdsk-Url-1 = {http://dx.doi.org/10.1145/782010.782017}}

@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,
	Address = {New York, NY, USA},
	Author = {Garlan, David},
	Booktitle = {Proceedings of the Conference on The Future of Software Engineering},
	Doi = {10.1145/336512.336537},
	Isbn = {1-58113-253-0},
	Keywords = {software architecture, software design, software engineering},
	Location = {Limerick, Ireland},
	Numpages = {11},
	Pages = {91--101},
	Publisher = {ACM},
	Series = {ICSE '00},
	Title = {Software architecture: a roadmap},
	Url = {http://doi.acm.org/10.1145/336512.336537},
	Year = {2000},
	Bdsk-Url-1 = {http://doi.acm.org/10.1145/336512.336537},
	Bdsk-Url-2 = {http://dx.doi.org/10.1145/336512.336537}}

@article{Garl02a,
	Address = {Los Alamitos, CA, USA},
	Author = {Garlan, David and Siewiorek, Daniel P. and Smailagic, Asim and Steenkiste, Peter},
	Doi = {10.1109/MPRV.2002.1012334},
	Journal = {IEEE Pervasive Computing},
	Keywords = {damiencbib},
	Pages = {22--31},
	Publisher = {IEEE Computer Society},
	Title = {Project {AURA}: Toward Distraction-Free Pervasive Computing},
	Volume = {1},
	Year = {2002},
	Bdsk-Url-1 = {http://dx.doi.org/10.1109/MPRV.2002.1012334}}

@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,
	Author = {Tony Garnock-Jones},
	Key = {GitForSqueak},
	Note = {http://www.squeaksource.com/Git},
	Title = {Git for {Squeak}},
	Url = {http://www.squeaksource.com/Git},
	Bdsk-Url-1 = {http://www.squeaksource.com/Git}}

@article{Garo10a,
	Author = {Vahid Garousi and Tan Varma},
	Doi = {10.1016/j.jss.2010.07.012},
	Issn = {0164-1212},
	Journal = {Journal of Systems and Software},
	Keywords = {testing-practices},
	Number = {11},
	Pages = {2251 - 2262},
	Title = {A replicated survey of software testing practices in the Canadian province of Alberta: What has changed from 2004 to 2009?},
	Url = {http://softqual.ucalgary.ca/projects/2009/software_testing_practices_in_AB/STPA_2009.pdf},
	Volume = {83},
	Year = {2010},
	Bdsk-Url-1 = {http://softqual.ucalgary.ca/projects/2009/software_testing_practices_in_AB/STPA_2009.pdf},
	Bdsk-Url-2 = {http://dx.doi.org/10.1016/j.jss.2010.07.012}}

@inproceedings{Garo13a,
  author    = {Golara Garousi and
               Vahid Garousi and
               Mahmood Moussavi and
               G{\"{u}}nther Ruhe and
               Brian Smith},
  editor    = {Fabio Q. B. da Silva and
               Natalia Juristo Juzgado and
               Guilherme Horta Travassos},
  title     = {Evaluating usage and quality of technical software documentation:
               an empirical study},
  booktitle = {17th International Conference on Evaluation and Assessment in Software Engineering, {EASE} '13, Porto de Galinhas, Brazil, April 14-16, 2013},
  pages     = {24--35},
  publisher = {{ACM}},
  year      = {2013},
  Keywords =  {comment-quality-slr},
  url       = {https://doi.org/10.1145/2460999.2461003},
  doi       = {10.1145/2460999.2461003},
  timestamp = {Tue, 06 Nov 2018 11:07:28 +0100},
  biburl    = {https://dblp.org/rec/conf/ease/GarousiGMRS13.bib},
  bibsource = {dblp computer science bibliography, https://dblp.org}
}

@article{Garo15a,
  title={Usage and usefulness of technical software documentation: An industrial case study},
  author={Garousi, Golara and Garousi-Yusifo{\u{g}}lu, Vahid and Ruhe, Guenther and Zhi, Junji and Moussavi, Mahmoud and Smith, Brian},
  journal={Information and Software Technology},
  volume={57},
  pages={664--682},
  year={2015},
  publisher={Elsevier}
}

@inproceedings{Garo16a,
  author    = {Vahid Garousi and
               Michael Felderer and
               Mika V. M{\"{a}}ntyl{\"{a}}},
  editor    = {Sarah Beecham and
               Barbara A. Kitchenham and
               Stephen G. MacDonell},
  title     = {The need for multivocal literature reviews in software engineering:
               complementing systematic literature reviews with grey literature},
  booktitle = {Proceedings of the 20th International Conference on Evaluation and
               Assessment in Software Engineering, {EASE} 2016, Limerick, Ireland,
               June 01 - 03, 2016},
  pages     = {26:1--26:6},
  publisher = {{ACM}},
  year      = {2016},
  url       = {https://doi.org/10.1145/2915970.2916008},
  doi       = {10.1145/2915970.2916008},
  timestamp = {Tue, 06 Nov 2018 11:07:28 +0100},
  biburl    = {https://dblp.org/rec/conf/ease/GarousiFM16.bib},
  bibsource = {dblp computer science bibliography, https://dblp.org}
}

@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}}

@techreport{Gart07a,
  Author = {Simon Mingay},
  Institution = {Garner},
  Title = {Green IT: The New Industry Shockwave},
  Year = {2007},
  url = {ftp://ftp.software.ibm.com/software/it/events/future_runs_on_systems_z/green-it-a-new-Industry-shockwave-gartner.pdf}
}

@inproceedings{Gase07a,
  title={On metamodeling in megamodels},
  author={Ga{\v{s}}evi{\'c}, Dragan and Kaviani, Nima and Hatala, Marek},
  booktitle={International Conference on Model Driven Engineering Languages and Systems},
  pages={91--105},
  year={2007},
  organization={Springer},
  doi={10.1007/978-3-540-75209-7_7},
  url={https://link.springer.com/content/pdf/10.1007%2F978-3-540-75209-7_7.pdf},
  keywords = {megamodels}
}

@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{Gasi11a,
	Acmid = {1960303},
	Address = {New York, NY, USA},
	Author = {Vaidas Gasiunas and Lucas Satabin and Mira Mezini and Angel N\'{u}\~{n}ez and Jacques Noy{\'e}},
	Booktitle = {Proceedings of the tenth international conference on Aspect-oriented software development},
	Doi = {10.1145/1960275.1960303},
	Isbn = {978-1-4503-0605-8},
	Keywords = {aspect-oriented programming, event-driven programming},
	Location = {Porto de Galinhas, Brazil},
	Numpages = {14},
	Pages = {227--240},
	Publisher = {ACM},
	Series = {AOSD '11},
	Title = {EScala: modular event-driven object interactions in scala},
	Url = {http://doi.acm.org/10.1145/1960275.1960303},
	Year = {2011},
	Bdsk-Url-1 = {http://doi.acm.org/10.1145/1960275.1960303},
	Bdsk-Url-2 = {http://dx.doi.org/10.1145/1960275.1960303}}

@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{Gasp08a,
	Author = {Gasparis, Epameinondas and Nicholson, Jonathan and Eden, AmnonH.},
	Booktitle = {Diagrammatic Representation and Inference},
	Doi = {10.1007/978-3-540-87730-1_37},
	Editor = {Stapleton, Gem and Howse, John and Lee, John},
	Isbn = {978-3-540-87729-5},
	Pages = {364-367},
	Publisher = {Springer Berlin Heidelberg},
	Series = {Lecture Notes in Computer Science},
	Title = {LePUS3: An Object-Oriented Design Description Language},
	Url = {http://dx.doi.org/10.1007/978-3-540-87730-1_37},
	Volume = {5223},
	Year = {2008},
	Bdsk-Url-1 = {http://dx.doi.org/10.1007/978-3-540-87730-1_37}}

@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},
	Booktitle = {FASE'11: Proceedings of the 14th European Conference on Fundamental Approaches to Software Engineering},
	Keywords = {diaspec damiencbib},
	Month = may,
	Note = {to appear},
	Publisher = {Springer-Verlag},
	Title = {A Step-wise Approach for Integrating {QoS} throughout Software Development},
	Year = {2011}}

@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}}

@inproceedings{Ge12a,
	Acmid = {2337249},
	Address = {Piscataway, NJ, USA},
	Author = {Ge, Xi and DuBose, Quinton L. and Murphy-Hill, Emerson},
	Booktitle = {Proceedings of the 2012 International Conference on Software Engineering},
	Isbn = {978-1-4673-1067-3},
	Location = {Zurich, Switzerland},
	Numpages = {11},
	Pages = {211--221},
	Publisher = {IEEE Press},
	Series = {ICSE 2012},
	Title = {Reconciling manual and automatic refactoring},
	Url = {http://dl.acm.org/citation.cfm?id=2337223.2337249},
	Year = {2012},
	Bdsk-Url-1 = {http://dl.acm.org/citation.cfm?id=2337223.2337249}}

@mastersthesis{Gece20a,
	Title = {Debugging {Spark} Applications --- A Study on Debugging Techniques of {Spark} Developers},
	Author = {Melike Ge\c{c}er},
	Abstract = {Debugging is the main activity to investigate software failures, identify
		their root causes, and eventually fix them. Debugging distributed systems
		in particular is burdensome, due to the challenges of managing numerous
		devices and concurrent operations, detecting the problematic node,
		lengthy log files, and real-world data being inconsistent. Apache Spark
		is a distributed framework which is used to run analyses on large-scale
		data. Debugging Apache Spark applications is difficult as no tool, apart
		from log files, is available on the market. However, an application may
		produce a lengthy log file, which is challenging to examine. In this
		thesis, we aim to investigate various techniques used by developers on a
		distributed system. In order to achieve that, we interviewed Spark
		application developers, presented them with buggy applications, and
		observed their debugging behaviors. We found that most of the time, they
		formulate hypotheses to allay their suspicions and check the log files as
		the first thing to do after obtaining an exception message. Afterwards,
		we use these findings to compose a debugging flow that can help us to
		understand the way developers debug a project.},
	Keywords = {scg-msc snf-asa3 scg20 jb20},
	School = {University of Bern},
	Type = {Masters thesis},
	Url = {http://scg.unibe.ch/archive/masters/Gece20a.pdf},
	Month = may,
	Year = {2020}
}

@inproceedings{Geel06a,
	 author = {Geels, Dennis and Altekar, Gautam and Shenker, Scott and Stoica, Ion},
	 title = {Replay Debugging for Distributed Applications},
	 booktitle = {Proceedings of the Annual Conference on USENIX '06 Annual Technical Conference},
	 series = {ATEC '06},
	 year = {2006},
	 location = {Boston, MA},
	 pages = {27--27},
	 numpages = {1},
	 url = {http://dl.acm.org/citation.cfm?id=1267359.1267386},
	 acmid = {1267386},
	 publisher = {USENIX Association},
	 address = {Berkeley, CA, USA}
}

@inproceedings{Geer16s,
  title={Domain expert ranking for finding domain authoritative users on community question answering sites},
  author={Geerthik, S and Gandhi, K Rajiv and Venkatraman, S},
  booktitle={2016 IEEE International Conference on Computational Intelligence and Computing Research (ICCIC)},
  pages={1--5},
  year={2016},
  organization={IEEE}
}

@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}}

@inproceedings{Geet08a,
	title = {Reverse Engineering in the World of Enterprise SOA},
	author = {Van Geet, Joris},
	booktitle = {Reverse Engineering, 2008. WCRE'08. 15th Working Conference on},
	pages = {311--314},
	year = {2008},
	organization = {IEEE}
}

@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{Geig06a,
	Author = {Reto Geiger and Beat Fluri and Harald C. Gall and Martin Pinzger},
	Booktitle = {Proceedings of the 9th International Conference of Fundamental Approaches to Software Engineering},
	Month = mar,
	Number = {3922},
	Pages = {411-425},
	Publisher = {Springer},
	Series = {Lecture Notes in Computer Science},
	Title = {Relation of Code Clones and Change Couplings},
	Year = {2006}}

@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}}

@inproceedings{Geis20a,
  title={Leveraging Machine Learning for Software Redocumentation},
  author={Geist, Verena and Moser, Michael and Pichler, Josef and Beyer, Stefanie and Pinzger, Martin},
  booktitle={2020 IEEE 27th International Conference on Software Analysis, Evolution and Reengineering (SANER)},
  pages={622--626},
  year={2020},
  organization={IEEE}
}

@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},
	Bdsk-Url-1 = {http://seaside.gemstone.com/docs/GS64-ProgGuide-2.2.pdf}}

@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}}

@misc{GenericsBracha,
	Author = {Gilad Bracha},
	Key = {Generics},
	Month = jul,
	Note = {java.sun.com/j2se/1.5/pdf/generics-tutorial.pdf},
	Title = {Generics in the Java Programming Language},
	Year = {2004}}

@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 scg-none 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 scg-none 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}}

@inproceedings{Geor07a,
	Acmid = {1297033},
	Address = {New York, NY, USA},
	Author = {Georges, Andy and Buytaert, Dries and Eeckhout, Lieven},
	Booktitle = {Proceedings of the 22nd annual ACM SIGPLAN conference on Object-oriented programming systems and applications},
	Doi = {10.1145/1297027.1297033},
	Isbn = {978-1-59593-786-5},
	Keywords = {benchmarking, data analysis, java, methodology, statistics},
	Location = {Montreal, Quebec, Canada},
	Numpages = {20},
	Pages = {57--76},
	Publisher = {ACM},
	Series = {OOPSLA '07},
	Title = {Statistically rigorous {Java} performance evaluation},
	Url = {http://doi.acm.org/10.1145/1297027.1297033},
	Year = {2007},
	Bdsk-Url-1 = {http://doi.acm.org/10.1145/1297027.1297033},
	Bdsk-Url-2 = {http://dx.doi.org/10.1145/1297027.1297033}}

@article{Geor07b,
	Acmid = {1297033},
	Address = {New York, NY, USA},
	Author = {Georges, Andy and Buytaert, Dries and Eeckhout, Lieven},
	Doi = {10.1145/1297105.1297033},
	Issn = {0362-1340},
	Issue_Date = {October 2007},
	Journal = {SIGPLAN Not.},
	Keywords = {benchmarking, data analysis, java, methodology, statistics},
	Month = oct,
	Number = {10},
	Numpages = {20},
	Pages = {57--76},
	Publisher = {ACM},
	Title = {Statistically rigorous java performance evaluation},
	Url = {http://doi.acm.org/10.1145/1297105.1297033},
	Volume = {42},
	Year = {2007},
	Bdsk-Url-1 = {http://doi.acm.org/10.1145/1297105.1297033},
	Bdsk-Url-2 = {http://dx.doi.org/10.1145/1297105.1297033}}

@inproceedings{Geor08a,
 author = {Georges, Andy and Eeckhout, Lieven and Buytaert, Dries},
 title = {Java Performance Evaluation Through Rigorous Replay Compilation},
 booktitle = {Proceedings of the 23rd ACM SIGPLAN Conference on Object-oriented Programming Systems Languages and Applications},
 series = {OOPSLA '08},
 year = {2008},
 isbn = {978-1-60558-215-3},
 location = {Nashville, TN, USA},
 pages = {367--384},
 numpages = {18},
 url = {http://doi.acm.org/10.1145/1449764.1449794},
 doi = {10.1145/1449764.1449794},
 acmid = {1449794},
 publisher = {ACM},
 address = {New York, NY, USA},
 keywords = {benchmarking, java, matched-pair comparison, performance evaluation, replay compilation, virtual machine}
}

@book{Geor11a,
	Author = {George, Lars},
	Publisher = {O'Reilly Media, Inc.},
	Title = {HBase: the definitive guide},
	Year = {2011}}

@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}}

@techreport{Geri20a,
	Title = {Investigating Phishing on Demand},
	Author = {Pascal Gerig},
	Abstract = {Gathering protected information by disguising an attacker
		as a trustworthy contact in electronic communication, also
		known as ``phishing,'' is the primary technique attackers
		use to steal sensitive data. Phishing websites are mainly
		static and barely synchronize with the original website.
		We investigate ``Phishing on Demand'', a technique to
		dynamically replicate any website for phishing purposes.
		The replicas are available with a few clicks and are
		always in sync with the original web pages. Our studies
		with a proof of concept show that this phishing technique
		is highly effective. For instance, we could successfully
		run phishing campaigns against major Swiss e-banking
		websites with two-factor authentication. With this thesis,
		we show that there is a demand for more robust visual
		similarity algo- rithms for websites that are able to
		track changes applied to original sites such as insertions
		of banners, rewritings of text, or alterations to graphics.},
	Institution = {University of Bern},
	Keywords = {scg-bp snf-asa3 scg20 jb20},
	Type = {Bachelor's thesis},
	Url = {http://scg.unibe.ch/archive/projects/Geri20a.pdf},
	Month = may,
	Year = {2020}
}

@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{Germ10a,
	Abstract = {The reuse of free and open source software ({FOSS}) components is becoming more prevalent. One of the major challenges in finding the right component is finding one that has a license that is e for its intended use. The license of a {FOSS} component is determined by the licenses of its source code files. In this paper, we describe the challenges of identifying the license under which source code is made available, and propose a sentence-based matching algorithm to automatically do it. We demonstrate the feasibility of our approach by implementing a tool named Ninka. We performed an evaluation that shows that Ninka outperforms other methods of license identification in precision and speed. We also performed an empirical study on 0.8 million source code files of Debian that highlight interesting facts about the manner in which licenses are used by {FOSS}},
	Address = {New York, NY, USA},
	Author = {German, Daniel M. and Manabe, Yuki and Inoue, Katsuro},
	Booktitle = {Proceedings of the IEEE/ACM International Conference on Automated Software Engineering},
	Doi = {10.1145/1858996.1859088},
	Isbn = {978-1-4503-0116-9},
	Location = {Antwerp, Belgium},
	Pages = {437--446},
	Publisher = {ACM},
	Series = {ASE '10},
	Title = {A Sentence-matching Method for Automatic License Identification of Source Code Files},
	Year = {2010},
	Bdsk-Url-1 = {http://dx.doi.org/10.1145/1858996.1859088}}

@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 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{Gest04a,
	title = {Jive: Java interactive visualization environment},
	author = {Gestwicki, Paul V and Jayaraman, Bharat},
	booktitle = {Companion to the 19th annual ACM SIGPLAN conference on Object-oriented programming systems, languages, and applications},
	pages = {226--228},
	year = {2004},
	organization = {ACM}
}

@inproceedings{Geth10a,
	Acmid = {1913295},
	Address = {Washington, DC, USA},
	Author = {Gethers, Malcom and Poshyvanyk, Denys},
	Booktitle = {Proceedings of the 2010 IEEE International Conference on Software Maintenance},
	Doi = {10.1109/ICSM.2010.5609687},
	Isbn = {978-1-4244-8630-4},
	Month = sep,
	Numpages = {10},
	Pages = {1--10},
	Publisher = {IEEE Computer Society},
	Series = {ICSM '10},
	Title = {Using Relational Topic Models to capture coupling among classes in object-oriented software systems},
	Year = {2010},
	Bdsk-Url-1 = {http://dx.doi.org/10.1109/ICSM.2010.5609687}}

@inproceedings{Geth12a,
	Author = {Malcom Gethers, Amir Aryani and Denys Poshyvanyk},
	Booktitle = {12th International Working Conference on Source Code Analysis and Manipulation},
	Doi = {10.1109/SCAM.2012.27},
	Month = sep,
	Pages = {144-153},
	Publisher = {IEEE Computer Society Press},
	Series = {ICSM '10},
	Title = {Combining Conceptual and Domain-Based Couplings to Detect Database and Code Dependencies},
	Year = {2012},
	Bdsk-Url-1 = {http://dx.doi.org/10.1109/SCAM.2012.27}}

@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{Ghaf14a,
	 author = {Ghafari, Mohammad and Ghezzi, Carlo and Mocci, Andrea and Tamburrelli, Giordano},
	 title = {Mining Unit Tests for Code Recommendation},
	 booktitle = {Proceedings of the 22Nd International Conference on Program Comprehension},
	 series = {ICPC 2014},
	 year = {2014},
 	isbn = {978-1-4503-2879-1},
	 location = {Hyderabad, India},
	 pages = {142--145},
	 numpages = {4},
	 url = {http://doi.acm.org/10.1145/2597008.2597789},
	 doi = {10.1145/2597008.2597789},
	 acmid = {2597789},
	 publisher = {ACM},
 	address = {New York, NY, USA},
 	keywords = {Code recommendation, unit tests, usage examples}
}

@article{Ghaf17a,
	author = {Ghafari, Mohammad and Rubinov, Konstantin and Pourhashem K., Mohammad Mehdi},
	title = {Mining unit test cases to synthesize {API} usage examples},
	journal = {Journal of Software: Evolution and Process},
	issn = {2047-7481},
	volume = {29},
	number = {12},
	PeerReview = {yes},
	Medium = {2},
	url = {https://www.researchgate.net/profile/Mohammad_Ghafari3/publication/312669557_Mining_unit_test_cases_to_synthesize_API_usage_examples/links/5a0ab38c45851551b78d51c9/Mining-unit-test-cases-to-synthesize-API-usage-examples.pdf},
	doi = {10.1002/smr.1841},
	pages = {e1841--n/a},
	keywords = {scg-pub snf-asa2 scg17 jb17},
	year = {2017},
	note = {e1841 smr.1841},
	abstract = {Software developers study and reuse existing source code to understand how to properly use application programming interfaces (APIs). However, manually finding sufficient and adequate code examples for a given API is a difficult and a time-consuming activity. Existing approaches to find or generate examples assume availability of a reasonable set of client code that uses the API. This assumption does not hold for newly released API libraries, non-widely used APIs, nor private ones.In this work we reuse the important information that is naturally present in test code to circumvent the lack of usage examples for an API when other sources of client code are not available. We propose an approach for automatically identifying the most representative API uses within each unit test case. We then develop an approach to synthesize API usage examples by extracting relevant statements representing the usage of such APIs. We compare the output of a prototype implementation of our approach to both human-written examples and to a state-of-the-art approach. The obtained results are encouraging; the examples automatically generated with our approach are superior to the state-of-the-art approach and highly similar to the manually constructed examples.}
}

@inproceedings{Ghaf17b,
author={Ghafari, Mohammad and Moradi, Hamidreza},
booktitle={2017 IEEE 24th International Conference on Software Analysis, Evolution and Reengineering (SANER)},
title={A framework for classifying and comparing source code recommendation systems},
year={2017},
PeerReview = {yes},
Medium = {2},
pages={555-556},
abstract={The use of Application Programming Interfaces (APIs) is pervasive in software systems; it makes the development of new software much easier, but remembering large APIs with sophisticated usage protocol is arduous for software developers. Code recommendation systems alleviate this burden by providing developers with a ranked list of API usages that are estimated to be most useful to their development tasks. The promise of these systems has motivated researchers to invest considerable effort to develop many of them over the past decade, yet the achievements are not evident. To assess the state of the art in code recommendation, we propose a framework for classifying and comparing these systems. We hope the framework will help the community to conduct a systematic study to gain insight into how much code recommendation has so far achieved, in both research and practice.},
keywords={scg-pub snf-none scg17 jb17},
doi={10.1109/SANER.2017.7884674},
url = {http://dx.doi.org/10.1109/SANER.2017.7884674}
}

@inproceedings{Ghaf17c,
author={Ghafari, Mohammad and Gadient, Pascal and Nierstrasz, Oscar},
booktitle={17th IEEE International Working Conference on Source Code Analysis and Manipulation (SCAM)},
title={Security Smells in {Android}},
year={2017},
Annote    = {internationalconference},
PeerReview = {yes},
Medium = {2},
abstract={The ubiquity of smartphones, and their very broad capabilities and usage, make the security of these devices tremendously important. Unfortunately, despite all progress in security and privacy mechanisms, vulnerabilities continue to proliferate. Research has shown that many vulnerabilities are due to insecure programming practices. However, each study has often dealt with a specific issue, making the results less actionable for practitioners. To promote secure programming practices, we have reviewed related research, and identified avoidable vulnerabilities in Android-run devices and the security code smells that indicate their presence. In particular, we explain the vulnerabilities, their corresponding smells, and we discuss how they could be eliminated or mitigated during development. Moreover, we develop a lightweight static analysis tool and discuss the extent to which it successfully detects several vulnerabilities in about 46,000 apps hosted by the official Android market.},
keywords={scg-pub security snf-asa2 scg17 jb18},
doi = {10.1109/SCAM.2017.24},
pages = {121-130},
month=sep,
Url={http://scg.unibe.ch/archive/papers/Ghaf17c.pdf}
}

@inproceedings{Ghaf19a,
	author={M. {Ghafari} and M. {Eggiman} and O. {Nierstrasz}},
	booktitle={2019 ACM/IEEE International Symposium on Empirical Software Engineering and Measurement (ESEM)},
	title={Testability First!},
	year={2019},
	pages={1-6},
	abstract={Background: The pivotal role of testing in
		high-quality software production has driven a significant
		effort in evaluating and assessing testing practices. Aims:
		We explore the state of testing in a large industrial
		project over an extended period. Method: We study the
		interplay between bugs in the project and its test cases,
		and interview developers and stakeholders to uncover
		reasons underpinning our observations. Results: We realized
		that testing is not well adopted, and that
		testability(i.e., ease of testing) is low. We found that
		developers tended to abandon writing tests when they
		assessed the effort to be high. Frequent changes in
		requirements and pressure to add new features also hindered
		developers from writing tests. Conclusions: Regardless of
		the debates on test first or later, we hypothesize that the
		underlying reasons for poor test quality are rooted in a
		lack of attention to testing early in the development of a
		software component, leading to poor testability of the
		component. However, testability is usually overlooked in
		research that studies the impact of testing practices, and
		should be explicitly taken into account.},
	keywords = {scg-pub snf-asa3 scg19 jb19},
	doi={10.1109/ESEM.2019.8870170},
	url = {http://scg.unibe.ch/archive/papers/Ghaf19a-TestabilityFirst.pdf},
	medium = {2},
	peerreview = {yes},
    Annote = {internationalconference},
	ISSN={1949-3770},
	month={sep}
}

@techreport{Ghar95a,
	Author = {Kourosh Gharachorloo},
	Institution = {DEC},
	Title = {Memory Consistency Models for Shared-Memory Multiprocessors},
	Year = {1995}}

@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},
	Bibsource = {DBLP, http://dblp.uni-trier.de},
	Ee = {http://www.idealibrary.com/links/doi/10.1006/inco.2001.2943},
	Journal = {Inf. Comput.},
	Number = {1},
	Pages = {50-75},
	Title = {Foundations for Extensible Objects with Roles},
	Volume = {175},
	Year = {2002}}

@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}}

@book{Ghez02a,
 author = {Ghezzi, Carlo and Jazayeri, Mehdi and Mandrioli, Dino},
 title = {Fundamentals of Software Engineering},
 year = {2002},
 isbn = {0133056996},
 edition = {2nd},
 publisher = {Prentice Hall PTR},
 address = {Upper Saddle River, NJ, USA},
 keywords = {eselit}
}

@incollection{Ghez10a,
	Author = {Giacomo Ghezzi and Harald C. Gall},
	Booktitle = {Collaborative Software Engineering},
	Chapter = {12},
	Editor = {Ivan Mistrik and John Grundy and Jim Whitehead and Andr{\`e} van der Hoek},
	Month = jan,
	Publisher = {Springer-Verlag},
	Title = {Distributed and Collaborative Software Analysis},
	Year = {2010}}

@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{Ghot15a,
  title={Revisiting the impact of classification techniques on the performance of defect prediction models},
  author={Ghotra, Baljinder and McIntosh, Shane and Hassan, Ahmed E},
  booktitle={Proceedings of the 37th International Conference on Software Engineering-Volume 1},
  pages={789--800},
  year={2015},
  organization={IEEE Press}
}

@inproceedings{Ghot17a,
 author = {Ghotra, Baljinder and Mcintosh, Shane and Hassan, Ahmed E.},
 title = {A Large-scale Study of the Impact of Feature Selection Techniques on Defect Classification Models},
 booktitle = {Proceedings of the 14th International Conference on Mining Software Repositories},
 series = {MSR '17},
 year = {2017},
 isbn = {978-1-5386-1544-7},
 location = {Buenos Aires, Argentina},
 pages = {146--157},
 numpages = {12},
 url = {https://doi.org/10.1109/MSR.2017.18},
 doi = {10.1109/MSR.2017.18},
 acmid = {3104208},
 publisher = {IEEE Press},
 address = {Piscataway, NJ, USA}
}

@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}}

@techreport{Gieh15a,
	Abstract = {Zeeguu is a user based learning platform which enables the
	user to expand his vocabulary and receive feedback about his progress
	while he is reading about topics he loves. To reach the best efficiency
	possible, the user should be able to access the Platform from as many devices
	as possible, all connected with one single account. This way Zeeguu supports
	the user when he is reading foreign languages, monitors his progress of those
	languages and gives him further possibilities to improve the language
	everywhere and at any time. This paper introduces an Android application as an
	extension for the Zeeguu ecosystem and since Android is the leading mobile
	operating system, this work represents an important step towards getting
	Zeeguu into the daily life of the users.},
	Author = {Pascal Giehl},
	Institution = {University of Bern},
	Keywords = {snf-none scg-bp scg15 jb16},
	Month = aug,
	Title = {{Zeeguu} Translate Application --- Extending the {Zeeguu} Platform to the {Android} Device},
	Type = {Bachelor's thesis},
	Url = {http://scg.unibe.ch/archive/projects/Gieh15a.pdf},
	Year = {2015}
}

@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/}}

@article{Gies07a,
title = {Classifying architectural constraints as a basis for software quality assessment },
journal = {Advanced Engineering Informatics },
volume = {21},
number = {2},
pages = {169 - 179},
year = {2007},
note = {Ontology of Systems and Software Engineering; Techniques to Support Collaborative Engineering Environments },
issn = {1474-0346},
doi = {10.1016/j.aei.2006.11.002},
url = {http://www.sciencedirect.com/science/article/pii/S1474034606000681},
author = {Simon Giesecke and Wilhelm Hasselbring and Matthias Riebisch}}

@book{Giff98a,
	Author = {Dwayne Gifford et al.},
	Keywords = {db scglib book},
	Publisher = {Sams},
	Title = {Access 97 Unleashed},
	Year = {1998}}

@inproceedings{Gige11a,
  title={Comparing fine-grained source code changes and code churn for bug prediction},
  author={Giger, Emanuel and Pinzger, Martin and Gall, Harald C},
  booktitle={Proceedings of the 8th Working Conference on Mining Software Repositories},
  pages={83--92},
  year={2011},
  organization={ACM}
}

@inproceedings{Gige12a,
  title={Method-level bug prediction},
  author={Giger, Emanuel and D'Ambros, Marco and Pinzger, Martin and Gall, Harald C},
  booktitle={Proceedings of the ACM-IEEE international symposium on Empirical software engineering and measurement},
  pages={171--180},
  year={2012},
  organization={ACM}
}

@inproceedings{Gige12b,
  title={Can we predict types of code changes? an empirical analysis},
  author={Giger, Emanuel and Pinzger, Martin and Gall, Harald C},
  booktitle={Mining Software Repositories (MSR), 2012 9th IEEE Working Conference on},
  pages={217--226},
  year={2012},
  organization={IEEE}
}

@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.},
	Doi = {10.1109/2.660196},
	Issn = {0018-9162},
	Journal = {IEEE Computer},
	Keywords = {abstraction;design patterns;idioms;language design;programming language mechanisms;high level languages;software engineering;},
	Month = mar,
	Number = {3},
	Pages = {118 -120},
	Title = {Design patterns and language design},
	Volume = {31},
	Year = {1998},
	Bdsk-Url-1 = {http://dx.doi.org/10.1109/2.660196}}

@inproceedings{Gil11a,
	Acmid = {2048201},
	Address = {New York, NY, USA},
	Author = {Gil, Joseph (Yossi) and Shimron, Yuval},
	Booktitle = {Proceedings of the ACM International Conference Companion on Object Oriented Programming Systems Languages and Applications Companion},
	Doi = {10.1145/2048147.2048201},
	Isbn = {978-1-4503-0942-4},
	Keywords = {bloat, hashmap, java, memory compaction, software, treemap},
	Location = {Portland, Oregon, USA},
	Numpages = {2},
	Pages = {191--192},
	Publisher = {ACM},
	Series = {SPLASH '11},
	Title = {Smaller Footprint for Java Collections},
	Url = {http://doi.acm.org/10.1145/2048147.2048201},
	Year = {2011},
	Bdsk-Url-1 = {http://doi.acm.org/10.1145/2048147.2048201},
	Bdsk-Url-2 = {http://dx.doi.org/10.1145/2048147.2048201}}

@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}}

@article{Gill95a,
  title={Happy: the parser generator for Haskell},
  author={Gill, Andy and Marlow, Simon},
  journal={University of Glasgow},
  year={1995}
}

@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 scg-none 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 scg-none 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.},
	Acceptnum = {38},
	Accepttotal = {122},
	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 scg-none jb05},
	Location = {Illinois, USA},
	Misc = {acceptance rate: 38/122 = 31\%},
	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 scg-none 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.},
	Acceptnum = {33},
	Accepttotal = {81},
	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 scg-none jb05 moose-pub},
	Misc = {acceptance rate: 33/81 = 41 \%},
	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.},
	Acceptnum = {13},
	Accepttotal = {54},
	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 scg-none jb06 moose-pub chronia akuhn},
	Location = {Lisbon, Portugal},
	Misc = {acceptance rate: 13/54 = 24\%},
	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 = {skip-doi scg-phd evolution girba scg-none 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 scg-none 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 snf-none evolution fca girba jb08 metrics moose-pub norex07 stefPub akuhn},
	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 scg-none 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}}

@misc{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},
	Url = {http://www.themoosebook.org/book},
	Year = {2010},
	Bdsk-Url-1 = {http://www.themoosebook.org/book}}

@incollection{Girb13a,
	Author = {Tudor G\^irba and Alexandre Bergel and Damien Cassou and St\'ephane Ducasse and Jannik Laval},
	Booktitle = {Deep Into Pharo},
	Isbn = {978-3-9523341-6-4},
	Keywords = {Smalltalk, Pharo, Object-Oriented Programming, Live Programming,Tudor Girba, girba},
	Month = sep,
	Pages = {191--207},
	Publisher = {Square Bracket Associates},
	Title = {Glamour},
	Year = {2013}}

@article{Girb15a,
	Author = {Tudor G\^irba},
	Journal = {NDC Magazine},
	Keywords = {girba},
	Month = may,
	Number = {1},
	Volume = {1},
	Title = {The emergent nature of software architecture},
	Year = {2015},
        Keywords = {Tudor Girba, girba},
	Pages = {50--55}}

@inproceedings{Girb15b,
	Abstract = {A picture tells a thousand words. We all know that. Then why are our development tools showing mainly text with so much obstinacy? Even when visualizations do make it into our tools, they typically do not make it past the periphery. Something is deeply wrong. We argue that visualizations must become pervasive in software development, and to accommodate this goal, the integrated development environments must change significantly.},
	Author = {G\^irba, Tudor and Chi\c{s}, Andrei},
	Booktitle = {Proceedings of 3rd IEEE Working Conference on Software Visualization},
	pages = {1--5},
	Publisher = {{IEEE}},
	Series = {VISSOFT'15},
	Title = {{Pervasive Software Visualizations}},
	Doi={10.1109/VISSOFT.2015.7332409},
	peerReview = {yes},
	medium = {2},
	month=sep,
	Year = {2015},
	keywords = {scg-pub scg15 jb16 snf-asa1, Andrei Chis, Tudor Girba, girba},
	url = {http://scg.unibe.ch/archive/papers/Girb15b-PervasiveSoftwareVisualizations.pdf}}

@techreport{Girb17a,
    Author  = {Tudor G\^irba},
    Title   = {Humane assessment by example},
    Institution = {feenk.com},
    Url = {http://humane-assessment.com/res/humane-assessment-case-studies-a4.pdf},
    keywords = {girba, Tudor Girba},
    Year    = {2017}
}

@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}}

@inproceedings{Gler09a,
	 author = {Glerum, Kirk and Kinshumann, Kinshuman and Greenberg, Steve and Aul, Gabriel and Orgovan, Vince and Nichols, Greg and Grant, David and Loihle, Gretchen and Hunt, Galen},
	 title = {Debugging in the (Very) Large: Ten Years of Implementation and Experience},
	 booktitle = {Proceedings of the ACM SIGOPS 22Nd Symposium on Operating Systems Principles},
	 series = {SOSP '09},
	 year = {2009},
	 isbn = {978-1-60558-752-3},
	 location = {Big Sky, Montana, USA},
	 pages = {103--116},
	 numpages = {14},
	 url = {http://doi.acm.org/10.1145/1629575.1629586},
	 doi = {10.1145/1629575.1629586},
	 acmid = {1629586},
	 publisher = {ACM},
	 address = {New York, NY, USA},
	 keywords = {blue screen of death, bucketing, classifying, error reports, labeling, minidump, statistics-based debugging.}
}

@inproceedings{Glin02a,
    author = {Martin Glinz},
    title = {Statecharts For Requirements Specification --- As Simple As Possible, As Rich As Needed},
	booktitle = {ICSE 2002 International Workshop on Scenarios and State Machines: Models, Algorithms and Tools},
	address = {Orlando},
    year = {2002},
	url = {https://files.ifi.uzh.ch/rerg/arvo/ftp/papers/SCESM2002.pdf}
}

@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{Gobe13a,
	title = {Understanding schema evolution as a basis for database reengineering},
	author = {Gobert, Maxime and Maes, J{\'e}r{\^o}me and Cleve, Anthony and Weber, Jens},
	booktitle = {Software Maintenance (ICSM), 2013 29th IEEE International Conference on},
	pages = {472--475},
	year = {2013},
	organization = {IEEE}}

@article{Gobl16a,
  author =	{Carole Goble and James Howison and Claude Kirchner and Oscar Nierstrasz and Jurgen J. Vinju},
  title =	{{Engineering Academic Software (Dagstuhl Perspectives Workshop 16252)}},
  abstract = {This report documents the program and the outcomes of Dagstuhl Perspectives Workshop 16252 ``Engineering Academic Software''.},
  pages =	{62--87},
  journal =	{Dagstuhl Reports},
  ISSN =	{2192-5283},
  year =	{2016},
  volume =	{6},
  number =	{6},
  editor =	{},
  publisher =	{Schloss Dagstuhl--Leibniz-Zentrum fuer Informatik},
  address =	{Dagstuhl, Germany},
  URL =		{http://drops.dagstuhl.de/opus/volltexte/2016/6755},
  URN =		{urn:nbn:de:0030-drops-67557},
  doi =		{10.4230/DagRep.6.6.62},
  annote =	{Keywords: Scientific Software, Data Science, Software Engineering},
  PeerReview = {no},
  Medium = {1},
  Url = {http://scg.unibe.ch/archive/papers/Gobl16a.pdf},
  keywords = {scg-pub snf-none scg16 jb17}
}

@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}}

@article{Godf08a,
  title={Future of mining software archives: A roundtable},
  author={Godfrey, Michael W and Hassan, Ahmed E and Herbsleb, James and Murphy, Gail C and Robillard, Martin and Devanbu, Prem and Mockus, Audris and Perry, Dewayne E and Notkin, David},
  journal={IEEE Software},
  volume={26},
  number={1},
  pages={67--70},
  year={2008},
  publisher={IEEE}
}

@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}}

@phdthesis{Goel91a,
	Address = {Berkeley, CA, USA},
	Annote = {UMI Order No. GAX92-28664},
	Author = {Goel, Vinod},
	School = {University of California at Berkeley},
	Title = {{Sketches of thought: a study of the role of sketching in design problem-solving and its implications for the computational theory of the mind}},
	Year = {1991}}

@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,
	Author = {Lukas Renggli},
	Key = {Gofer},
	Note = {Gofer is a tool on top of Monticello that performs versioning operations as clean as possible on Monticello packages.},
	Title = {Gofer},
	Url = {http://www.lukas-renggli.ch/blog/gofer},
	Bdsk-Url-1 = {http://www.lukas-renggli.ch/blog/gofer}}

@inproceedings{Goff16,
 author = {Goffi, Alberto and Gorla, Alessandra and Ernst, Michael D. and Pezz\`{e}, Mauro},
 title = {Automatic Generation of Oracles for Exceptional Behaviors},
 booktitle = {Proceedings of the 25th International Symposium on Software Testing and Analysis},
 series = {ISSTA 2016},
 year = {2016},
 isbn = {978-1-4503-4390-9},
 location = {Saarbr\&\#252;cken, Germany},
 pages = {213--224},
 numpages = {12},
 url = {http://doi.acm.org/10.1145/2931037.2931061},
 doi = {10.1145/2931037.2931061},
 acmid = {2931061},
 publisher = {ACM},
 address = {New York, NY, USA},
 keywords = {Testing, automatic test oracle, oracle generation, oracle problem}}

@inproceedings{Gogo16a,
	author={Gogolla, Martin and Cabot, Jordi},
	editor={Milazzo, Paolo and Varr{\'o}, D{\'a}niel and Wimmer, Manuel},
	title={Continuing a Benchmark for UML and OCL Design and Analysis Tools},
	booktitle={Software Technologies: Applications and Foundations},
	year={2016},
	publisher={Springer International Publishing},
	address={Cham},
	pages={289--302},
	abstract={UML and OCL are frequently employed languages in model-based engineering. OCL is supported by a variety of design and analysis tools having different scopes, aims and technological corner stones. The spectrum ranges from treating issues concerning formal proof techniques to testing approaches, from validation to verification, and from logic programming and rewriting to SAT-based technology.},
	isbn={978-3-319-50230-4}
}

@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}}

@article{Gola08a,
 author = {Golab, Lukasz and Karloff, Howard and Korn, Flip and Srivastava, Divesh and Yu, Bei},
 title = {On Generating Near-optimal Tableaux for Conditional Functional Dependencies},
 journal = {Proc. VLDB Endow.},
 issue_date = {August 2008},
 volume = {1},
 number = {1},
 month = aug,
 year = {2008},
 issn = {2150-8097},
 pages = {376--390},
 numpages = {15},
 url = {http://www.vldb.org/pvldb/1/1453900.pdf},
 doi = {10.14778/1453856.1453900},
 acmid = {1453900},
 publisher = {VLDB Endowment},
 keywords = {schema-inference, conditional functional dependencies}
}

@inproceedings{Golan93,
	Author = {Golan, Michael and Hanson, David R.},
	Booktitle = {USENIX Winter},
	Keywords = {dblp},
	Pages = {107-118},
	Title = {DUEL --- A Very High-Level Debugging Language.},
	Year = {1993}}

@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 cclit},
	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}}

@article{Gold87a,
	author={A. Goldberg},
	journal={IEEE Software},
	title={Programmer as Reader},
	year={1987},
	volume={4},
	number={5},
	pages={62-70},
	keywords={Programming;Training},
	doi={10.1109/MS.1987.231775},
	ISSN={0740-7459},
	month=sep
}

@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}}

@article{Gold09,
	 author = {Goldman, Max and Miller, Robert C.},
	 title = {Codetrail: Connecting Source Code and Web Resources},
	 journal = {J. Vis. Lang. Comput.},
	 issue_date = {August, 2009},
	 volume = {20},
	 number = {4},
	 month = aug,
	 year = {2009},
	 issn = {1045-926X},
	 pages = {223--235},
	 numpages = {13},
	 url = {http://dx.doi.org/10.1016/j.jvlc.2009.04.003},
	 doi = {10.1016/j.jvlc.2009.04.003},
	 acmid = {1568906},
	 publisher = {Academic Press, Inc.},
	 address = {Orlando, FL, USA},
	 keywords = {Development environment, Human-computer interaction, Software development, Web browser}
}

@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 = {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}}

@inproceedings{Gome10a,
	Address = {Beverly, MA, USA},
	Author = {G{\'o}mez, Ver{\'o}nica Uquillas and Ducasse, St{\'e}phane and D'Hondt, Theo},
	Booktitle = {WCRE'10: Proceedings of the 17th International Working Conference on Reverse Engineering},
	Doi = {10.1109/WCRE.2010.15},
	Issn = {1095-1350},
	Month = oct,
	Pages = {55--64},
	Publisher = {IEEE Computer Society},
	Title = {Visually Supporting Source Code Changes Integration: The {Torch} Dashboard},
	Year = {2010},
	Bdsk-Url-1 = {http://dx.doi.org/10.1109/WCRE.2010.15}}

@inproceedings{Gome19a,
  title={No Accounting for Taste: Supporting Developers' Individual Choices of Coding Styles},
  author={Gomes, Isaac Moreira Medeiros and Coutinho, Daniel and Schots, Marcelo},
  booktitle={2019 19th International Working Conference on Source Code Analysis and Manipulation (SCAM)},
  pages={86--91},
  year={2019},
  organization={IEEE}
}

@book{Gonc10a,
	Author = {Goncalves, Antonio},
	Edition = {second},
	Isbn = {978-1430228899},
	Keywords = {damiencbib criteria jee j2ee},
	Month = aug,
	Publisher = {Apress},
	Title = {Beginning {Java EE 6} with {GlassFish 3}},
	Year = {2010}}

@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{Gond08a,
	Author = {Gondra, Iker},
	Journal = {Journal of Systems and Software},
	Number = {2},
	Pages = {186--195},
	Publisher = {Elsevier},
	Title = {Applying machine learning to software fault-proneness prediction},
	Volume = {81},
	Year = {2008}}

@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 scg-none 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}}

@article{Gonz08a,
	Author = {Sebasti{\'a}n Gonz{\'a}lez and Kim Mens and Alfredo C{\'a}diz},
	Date-Added = {2010-05-04 17:11:24 +0200},
	Date-Modified = {2013-05-03 11:33:12 +0000},
	Issn = {0948-6968},
	Journal = {Journal of Universal Computer Science},
	Keywords = {context-oriented; mobile},
	Number = {20},
	Pages = {3307{\textendash}3332},
	Rating = {2},
	Title = {{Context-Oriented Programming} with the {Ambient Object System}},
	Volume = {14},
	Year = {2008}}

@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}}

@article{Gonz12a,
author={Gonz{\'a}lez-Barahona, Jes{\'u}s M.  and Robles, Gregorio},
title={On the reproducibility of empirical software engineering studies based on data retrieved from development repositories},
journal={Empirical Software Engineering},
year={2012},
volume={17},
number={1},
pages={75--89},
abstract={Among empirical software engineering studies, those based on data retrieved from development repositories (such as those of source code management, issue tracking or communication systems) are specially suitable for reproduction. However their reproducibility status can vary a lot, from easy to almost impossible to reproduce. This paper explores which elements can be considered to characterize the reproducibility of a study in this area, and how they can be analyzed to better understand the type of reproduction studies they enable or obstruct. One of the main results of this exploration is the need of a systematic approach to asses the reproducibility of a study, due to the complexity of the processes usually involved, and the many details to be taken into account. To address this need, a methodology for assessing the reproducibility of studies is also presented and discussed, as a tool to help to raise awareness about research reproducibility in this field. The application of the methodology in practice has shown how, even for papers aimed to be reproducible, a systematic analysis raises important aspects that render reproduction difficult or impossible. We also show how, by identifying elements and attributes related to reproducibility, it can be better understood which kind of reproduction can be done for a specific study, given the description of datasets, methodologies and parameters it uses.},
issn={1573-7616},
doi={10.1007/s10664-011-9181-9},
url={http://dx.doi.org/10.1007/s10664-011-9181-9}}

@inproceedings{Gonz13a,
	Acmid = {2451461},
	Address = {New York, NY, USA},
	Author = {Gonz\'{a}lez, Sebasti\'{a}n and Mens, Kim and Colacioiu, Marius and Cazzola, Walter},
	Booktitle = {Proceedings of the 12th annual international conference on Aspect-oriented software development},
	Doi = {10.1145/2451436.2451461},
	Isbn = {978-1-4503-1766-5},
	Keywords = {context-oriented programming, dynamic composition, run-time behaviour adaptation, software traits},
	Location = {Fukuoka, Japan},
	Numpages = {12},
	Pages = {209--220},
	Publisher = {ACM},
	Series = {AOSD '13},
	Title = {Context traits: dynamic behaviour adaptation through run-time trait recomposition},
	Url = {http://doi.acm.org/10.1145/2451436.2451461},
	Year = {2013},
	Bdsk-Url-1 = {http://doi.acm.org/10.1145/2451436.2451461},
	Bdsk-Url-2 = {http://dx.doi.org/10.1145/2451436.2451461}}

@article{Good75a,
	 author = {Goodenough, John B.},
	 title = {Exception Handling: Issues and a Proposed Notation},
	 journal = {Commun. ACM},
	 issue_date = {Dec. 1975},
	 volume = {18},
	 number = {12},
	 month = dec,
	 year = {1975},
	 issn = {0001-0782},
	 pages = {683--696},
	 numpages = {14},
	 url = {http://doi.acm.org/10.1145/361227.361230},
	 doi = {10.1145/361227.361230},
	 acmid = {361230},
	 publisher = {ACM},
	 address = {New York, NY, USA},
	 keywords = {ON conditions, error conditions, goto statement, multilevel exit, programming languages, structured programming}
	}

@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}}

@misc{Goog20a,
	key = {Google Style Guidelines},
	url = {https://google.github.io/styleguide/},
	note = {verified on July 2021},
	year = {2020},
	Title = {Google Style Guidelines}}

@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}}

@book{Gord98b,
  title={Basic Interviewing Skills},
  author={Gorden, R.L.},
  isbn={9781577660200},
  lccn={91076456},
  year={1998},
  publisher={Waveland PressInc}
}

@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}}

@inproceedings{Gors10a,
 author = {Gorschek, Tony and Tempero, Ewan and Angelis, Lefteris},
 title = {A Large-scale Empirical Study of Practitioners' Use of Object-oriented Concepts},
 booktitle = {Proceedings of the 32Nd ACM/IEEE International Conference on Software Engineering - Volume 1},
 series = {ICSE '10},
 year = {2010},
 isbn = {978-1-60558-719-6},
 location = {Cape Town, South Africa},
 pages = {115--124},
 numpages = {10},
 url = {http://doi.acm.org/10.1145/1806799.1806820},
 doi = {10.1145/1806799.1806820},
 acmid = {1806820},
 publisher = {ACM},
 address = {New York, NY, USA},
 keywords = {encapsulation, inheritance depth, number of methods, survey}
}

@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}}

@article{Gott10a,
 author = {Gottlob, Georg and Senellart, Pierre},
 title = {Schema Mapping Discovery from Data Instances},
 journal = {J. ACM},
 issue_date = {January 2010},
 volume = {57},
 number = {2},
 month = feb,
 year = {2010},
 issn = {0004-5411},
 pages = {6:1--6:37},
 articleno = {6},
 numpages = {37},
 doi = {10.1145/1667053.1667055},
 acmid = {1667055},
 publisher = {ACM},
 address = {New York, NY, USA},
 keywords = {Schema mapping, complexity, data exchange, instance, match schema-inference},
 url = {https://hal.inria.fr/file/index/docid/537238/filename/paper.pdf}
}

@inproceedings{Gott12a,
 author = {Gottschlich, Justin E. and Herlihy, Maurice P. and Pokam, Gilles A. and Siek, Jeremy G.},
 title = {Visualizing Transactional Memory},
 booktitle = {Proceedings of the 21st International Conference on Parallel Architectures and Compilation Techniques},
 series = {PACT '12},
 year = {2012},
 isbn = {978-1-4503-1182-3},
 location = {Minneapolis, Minnesota, USA},
 pages = {159--170},
 numpages = {12},
 url = {http://doi.acm.org/10.1145/2370816.2370842},
 doi = {10.1145/2370816.2370842},
 acmid = {2370842},
 publisher = {ACM},
 address = {New York, NY, USA},
 keywords = {profiler, transactional memory, visualization}
}

@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{Gous14a,
 author = {Gousios, Georgios and Pinzger, Martin and van Deursen, Arie},
 title = {An Exploratory Study of the Pull-based Software Development Model},
 booktitle = {Proceedings of ICSE'14 the 36th International Conference on Software Engineering},
 series = {ICSE 2014},
 year = {2014},
 isbn = {978-1-4503-2756-5},
 location = {Hyderabad, India},
 pages = {345--355},
 numpages = {11},
 url = {http://doi.acm.org/10.1145/2568225.2568260},
 doi = {10.1145/2568225.2568260},
 acmid = {2568260},
 publisher = {ACM},
 address = {New York, NY, USA},
 keywords = {Pull-based development, distributed software development, empirical software engineering, pull request}
}

@inproceedings{Gous15a,
	author={Gousios, G. and Zaidman, A. and Storey, M.-A. and van Deursen, A.},
	booktitle={Software Engineering (ICSE), 2015 IEEE/ACM 37th IEEE International Conference on},
	title={Work Practices and Challenges in Pull-Based Development: The Integrator's Perspective},
	year={2015},
	volume={1},
	pages={358-368},
	doi={10.1109/ICSE.2015.55},
	month=may}

@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},
	Keywords = {uni-refl},
	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},
	Year = {1996}}

@misc{GraceSpec,
	Key = {Grace specification rev 1303},
	Note = {http://gracelang.org/documents/grace-spec031303.pdf},
	Title = {Grace}}

@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}}

@inproceedings{Gral17a,
author={P. Gralka and C. Schulz and G. Reina and D. Weiskopf and T. Ertl},
booktitle={EEE Working Conference on Software Visualization (VISSOFT)},
title={Visual Exploration of Memory Traces and Call Stacks},
year={2017},
pages={54-63},
doi={10.1109/VISSOFT.2017.15},
ISSN={},
month=sep
}

@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}}

@incollection{Grat13a,
	Author = {Grathwohl, Niels Bj{\o}rn Bugge and Henglein, Fritz and Nielsen, Lasse and Rasmussen, Ulrik Terp},
	Booktitle = {Implementation and Application of Automata},
	Doi = {10.1007/978-3-642-39274-0\_7},
	Editor = {Konstantinidis, Stavros},
	Pages = {60--71},
	Publisher = {Springer Berlin Heidelberg},
	Series = {Lecture Notes in Computer Science},
	Title = {{Two-Pass} Greedy Regular Expression Parsing},
	Volume = {7982},
	Year = {2013},
	Bdsk-Url-1 = {http://dx.doi.org/10.1007/978-3-642-39274-0%5C_7}}

@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}}

@inproceedings{Grav89b,
 author = {Graver, Justin O. and Johnson, Ralph E.},
 title = {A Type System for {Smalltalk}},
 booktitle = {Proceedings of the 17th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages},
 series = {POPL '90},
 year = {1990},
 isbn = {0-89791-343-4},
 location = {San Francisco, California, USA},
 pages = {136--150},
 numpages = {15},
 url = {http://doi.acm.org/10.1145/96709.96722},
 doi = {10.1145/96709.96722},
 acmid = {96722},
 publisher = {ACM},
 address = {New York, NY, USA}
}

@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}}

@article{Grav01a,
	Acmid = {367020},
	Address = {New York, NY, USA},
	Author = {Graves, Todd L. and Harrold, Mary Jean and Kim, Jung-Min and Porter, Adam and Rothermel, Gregg},
	Doi = {10.1145/367008.367020},
	Issn = {1049-331X},
	Issue_Date = {April 2001},
	Journal = {ACM TOSEM},
	Keywords = {testing-practices},
	Month = apr,
	Number = {2},
	Numpages = {25},
	Pages = {184--208},
	Publisher = {ACM},
	Title = {An empirical study of regression test selection techniques},
	Url = {http://laser.cs.umass.edu/courses/cs521-621/papers/p184-graves.pdf},
	Volume = {10},
	Year = {2001},
	Bdsk-Url-1 = {http://laser.cs.umass.edu/courses/cs521-621/papers/p184-graves.pdf},
	Bdsk-Url-2 = {http://dx.doi.org/10.1145/367008.367020}}

@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}}

@misc{Gray85a,
    author = {Jim Gray},
    title = {Why Do Computers Stop And What Can Be Done About It?},
    year = {1985}
}

@article{Gray92a,
	 author = {Gray, Robert W. and Levi, Steven P. and Heuring, Vincent P. and Sloane, Anthony M. and Waite, William M.},
	 title = {Eli: A Complete, Flexible Compiler Construction System},
	 journal = {Commun. ACM},
	 issue_date = {Feb. 1992},
	 volume = {35},
	 number = {2},
	 month = feb,
	 year = {1992},
	 issn = {0001-0782},
	 pages = {121--130},
	 numpages = {10},
	 url = {http://doi.acm.org/10.1145/129630.129637},
	 doi = {10.1145/129630.129637},
	 acmid = {129637},
	 publisher = {ACM},
	 address = {New York, NY, USA},
	 keywords = {compiler generators, language design, text processors}
}

@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{Grec10a,
 author = {Grechanik, Mark and McMillan, Collin and DeFerrari, Luca and Comi, Marco and Crespi, Stefano and Poshyvanyk, Denys and Fu, Chen and Xie, Qing and Ghezzi, Carlo},
 title = {An Empirical Investigation into a Large-scale {Java} Open Source Code Repository},
 booktitle = {Proceedings of the 2010 ACM-IEEE International Symposium on Empirical Software Engineering and Measurement},
 series = {ESEM '10},
 year = {2010},
 isbn = {978-1-4503-0039-1},
 location = {Bolzano-Bozen, Italy},
 pages = {11:1--11:10},
 articleno = {11},
 numpages = {10},
 url = {http://doi.acm.org/10.1145/1852786.1852801},
 doi = {10.1145/1852786.1852801},
 acmid = {1852801},
 publisher = {ACM},
 address = {New York, NY, USA},
 keywords = {empirical study, large-scale software, mining software repositories, open source, patterns, practice, software repository}
}

@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.},
	Acceptnum = {33},
	Accepttotal = {81},
	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 scg-none jb05 recast05 stefPub Feature Feature-Traces Dynamic Analysis Evolution moose-pub},
	Location = {Manchester, United Kingdom},
	Misc = {acceptance rate: 33/81 = 41\%},
	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 scg-none 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.},
	Acceptnum = {55},
	Accepttotal = {180},
	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 scg-none jb06 stefPub Features Feature-Traces Dynamic-Analysis Evolution history moose-pub recast06 listic},
	Misc = {acceptance rate: 55/180 = 31\%},
	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 scg-none 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 scg-none 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 scg-none 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 scg-none 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.},
	Acceptnum = {38},
	Accepttotal = {132},
	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\%},
	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 scg-none 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,
	Acmid = {1526501},
	Address = {New York, NY, USA},
	Author = {Gregersen, Allan Raundahl and J{\/o}rgensen, Bo N{\/o}rregaard},
	Doi = {10.1002/smr.v21:2},
	Issn = {1532-060X},
	Issue = {2},
	Journal = {J. Softw. Maint. Evol.},
	Keywords = {dynamic update, software evolution, software maintenance},
	Month = {mar},
	Numpages = {32},
	Pages = {81--112},
	Publisher = {John Wiley \& Sons, Inc.},
	Title = {Dynamic update of {Java} applications --- balancing change flexibility vs programming transparency},
	Url = {http://portal.acm.org/citation.cfm?id=1526497.1526501},
	Volume = {21},
	Year = {2009},
	Bdsk-Url-1 = {http://portal.acm.org/citation.cfm?id=1526497.1526501},
	Bdsk-Url-2 = {http://dx.doi.org/10.1002/smr.v21:2}}

@inproceedings{Greg11b,
	Author = {Allan Raundahl Gregersen and Bo N{\/o}rregaard J{\/o}rgensen},
	Bibsource = {DBLP, http://dblp.uni-trier.de},
	Booktitle = {EVOL/IWPSE},
	Date-Added = {2011-10-28 16:10:26 +0200},
	Date-Modified = {2011-11-23 19:49:34 +0100},
	Ee = {http://doi.acm.org/10.1145/2024445.2024448},
	Keywords = {dsu; case-study; software-evolution},
	Pages = {6-15},
	Rating = {4},
	Title = {Run-time phenomena in dynamic software updating: causes and effects},
	Year = {2011}}

@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}}

@inproceedings{Grei12a,
	Author = {Greiler, M. and van Deursen, A. and Storey, M.},
	Booktitle = {Software Engineering (ICSE), 2012 34th International Conference on},
	Doi = {10.1109/ICSE.2012.6227189},
	Issn = {0270-5257},
	Keywords = {testing-practices},
	Month = jun,
	Pages = {244 -254},
	Title = {Test confessions: A study of testing practices for plug-in systems},
	Year = {2012},
	Bdsk-Url-1 = {http://dx.doi.org/10.1109/ICSE.2012.6227189}}

@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}}

@book{Grif08a,
  address = {Farnham},
  author = {Griffiths, Dawn},
  isbn = {9780596527587 0596527586},
  publisher = {O'Reilly},
  title = {Head first statistics},
  year = {2008}
}

@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},
	Bdsk-Url-1 = {http://dx.doi.org/10.1145/1035582.1035584}}

@inproceedings{Grim06a,
	Author = {Robert Grimm},
	Booktitle = {PLDI 2006},
	Keywords = {packrat parsing},
	Organization = {ACM},
	Pages = {38--51},
	Title = {Better extensibility through modular syntax},
	Year = {2006}}

@techreport{Gris89a,
  author = {Ralph E. Griswold and Gregg M. Townsend},
  Institution = {The University of Arizona},
  Month = dec,
  Number = {TR 89-30},
  Title = {The Visualization of Dynamic Memory Management in the Icon Programming Language},
  Year = {1989}
}

@phdthesis{Gris92a,
 author = {Griswold, William G.},
 title = {Program Restructuring As an Aid to Software Maintenance},
 year = {1992},
 note = {UMI Order No. GAX92-03258},
 school = {University of Washington},
 address = {Seattle, WA, USA}
}

@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}}

@article{Gris06a,
	Acmid = {1110730},
	Address = {Los Alamitos, CA, USA},
	Author = {Griswold, William G. and Sullivan, Kevin and Song, Yuanyuan and Shonle, Macneil and Tewari, Nishit and Cai, Yuanfang and Rajan, Hridesh},
	Doi = {10.1109/MS.2006.24},
	Issn = {0740-7459},
	Issue_Date = {January 2006},
	Journal = {IEEE Softw.},
	Keywords = {aspect-oriented, aspect-oriented, preconditions, postconditions, postconditions, preconditions},
	Month = jan,
	Number = {1},
	Numpages = {10},
	Pages = {51--60},
	Publisher = {IEEE Computer Society Press},
	Title = {Modular Software Design with Crosscutting Interfaces},
	Url = {http://dx.doi.org/10.1109/MS.2006.24},
	Volume = {23},
	Year = {2006},
	Bdsk-Url-1 = {http://dx.doi.org/10.1109/MS.2006.24}}

@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}}

@misc{Groovy,
	Key = {Groovy},
	Keywords = {groovy scripting},
	Note = {\url{http://groovy.codehaus.org/}},
	Title = {Groovy}}

@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}}

@techreport{Gros20a,
	Title = {Threats to Validity in {TDD} Research},
	Author = {Timm Gross},
	Abstract = {Context: Test driven development (TDD) is an iterative
		software development technique where unit tests are
		defined before production code. Recent quantitative
		empirical investigations into the effects of TDD have been
		contrasting and inconclusive. Additionally studies have
		shown that TDD is not as widely used as expected. At the
		same time the body of research contains anecdotal evidence
		about the usefulness of TDD in practice. This makes it
		difficult for decision makers in development teams to use
		the research as the basis for the decision of whether or
		not to apply TDD. Objective: We present a study designed
		to uncover the threats to validity in previous studies
		that prevent them being usable in decision making
		processes. In order to do that we first studied what
		values practitioners associate with software testing.
		Method: We first conducted 15 hours of ethnographically
		informed qualitative interviews with a small development
		team to capture the perceived benefits of testing. Then we
		analysed the threats to validity mentioned in the body of
		research in a literature review. Results: The interviewed
		developers put equal emphasis on quality related aspects
		(i.e. productivity, internal and external code quality)
		and non quality related aspects (i.e. collaboration,
		confidence, knowledge transfer, etc.) of testing. In
		contrast the analyzed research papers focus almost
		exclusively on quality related aspects of TDD. In addition
		we identified the common threats to validity in the
		following areas: participants selection, task selection,
		context of the study, threats to validity regarding
		quality, length of observation, amount of iteration,
		comparisons to other techniques, measuring the adherence
		to TDD and a lack of qualitative research. Conclusion:
		Contrasting the views of practitioners on testing and the
		common threats to validity in TDD research allows us to
		highlight opportunities for further research. Especially
		for researchers aiming to provide scientific support for
		decision making processes of how and when to apply TDD in
		practice, this study summarizes important aspects to
		consider.},
	Institution = {University of Bern},
	Keywords = {scg-bp snf-asa3 scg20 jb20},
	Type = {Bachelor's thesis},
	Url = {http://scg.unibe.ch/archive/projects/Gros20a.pdf},
	Month = may,
	Year = {2020}
}

@article{Gros20b,
  author    = {David Gros and
               Hariharan Sezhiyan and
               Prem Devanbu and
               Zhou Yu},
  title     = {Code to Comment "Translation": Data, Metrics, Baselining {\&}
               Evaluation},
  journal   = {CoRR},
  volume    = {abs/2010.01410},
  year      = {2020},
  url       = {https://arxiv.org/abs/2010.01410},
  archivePrefix = {arXiv},
  eprint    = {2010.01410},
  keywords =  {comment-quality-slr},
  timestamp = {Mon, 12 Oct 2020 17:53:10 +0200},
  biburl    = {https://dblp.org/rec/journals/corr/abs-2010-01410.bib},
  bibsource = {dblp computer science bibliography, https://dblp.org}
}

@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}}

@inproceedings{Grov95a,
	Acmid = {217848},
	Address = {New York, NY, USA},
	Author = {Grove, David and Dean, Jeffrey and Garrett, Charles and Chambers, Craig},
	Booktitle = {Proceedings of the tenth annual conference on Object-oriented programming systems, languages, and applications},
	Doi = {10.1145/217838.217848},
	Isbn = {0-89791-703-0},
	Location = {Austin, Texas, United States},
	Numpages = {16},
	Pages = {108--123},
	Publisher = {ACM},
	Series = {OOPSLA '95},
	Title = {Profile-guided receiver class prediction},
	Year = {1995},
	Bdsk-Url-1 = {http://dx.doi.org/10.1145/217838.217848}}

@article{Grov97a,
 author = {Grove, David and DeFouw, Greg and Dean, Jeffrey and Chambers, Craig},
 title = {Call Graph Construction in Object-oriented Languages},
 journal = {SIGPLAN Not.},
 issue_date = {Oct. 1997},
 volume = {32},
 number = {10},
 month = oct,
 year = {1997},
 issn = {0362-1340},
 pages = {108--124},
 numpages = {17},
 url = {http://doi.acm.org/10.1145/263700.264352},
 doi = {10.1145/263700.264352},
 acmid = {264352},
 publisher = {ACM},
 address = {New York, NY, USA}}

@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{Grun14a,
	Author = {Stefan Gruner},
	Journal = {TD : The Journal for Transdisciplinary Research in Southern Africa},
	Number = {1},
	Page = {37--66},
	Title = {On the historical semantics of the notion of software architecture},
	Url = {http://reference.sabinet.co.za/document/EJC152785},
	Volume = {10},
	Year = {July 2014},
	Bdsk-Url-1 = {http://reference.sabinet.co.za/document/EJC152785}}

@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 cccorelit},
	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}}

@inbook{Grun08b,
	Author = {Dick Grune and Ceriel J.H. Jacobs},
	Chapter = {11.2: Generalized LL Parsing},
	Crossref = {Grun08a},
	Pages = {391-398},
	Publisher = {Springer},
	Series = {Parsing Techniques --- A Practical Guide},
	Volume = {1},
	Year = {2008}}

@inbook{Grun08c,
	Author = {Dick Grune and Ceriel J.H. Jacobs},
	Chapter = {8: Deterministic Top-Down Parsing},
	Crossref = {Grun08a},
	Pages = {235-361},
	Publisher = {Springer},
	Series = {Parsing Techniques --- A Practical Guide},
	Volume = {1},
	Year = {2008}}

@inbook{Grun08d,
	Author = {Dick Grune and Ceriel J.H. Jacobs},
	Chapter = {6.7: Definite Clause Grammars},
	Pages = {188-192},
	Publisher = {Springer},
	Title = {Parsing Techniques --- A Practical Guide},
	Volume = {1},
	Year = {2008}}

@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{Gu09a,
 author = {Gu, Xiaoming and Li, Xiao-Feng and Cheng, Buqi and Huang, Eric},
 title = {Virtual Reuse Distance Analysis of SPECjvm2008 Data Locality},
 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 = {182--191},
 numpages = {10},
 url = {http://doi.acm.org/10.1145/1596655.1596684},
 doi = {10.1145/1596655.1596684},
 acmid = {1596684},
 publisher = {ACM},
 address = {New York, NY, USA},
 keywords = {SPECjvm2008, data locality, managed runtime, reuse distance}
}

@inproceedings{Gu16a,
 author = {Gu, Xiaodong and Zhang, Hongyu and Zhang, Dongmei and Kim, Sunghun},
 title = {Deep API Learning},
 booktitle = {Proceedings of the 2016 24th ACM SIGSOFT International Symposium on Foundations of Software Engineering},
 series = {FSE 2016},
 year = {2016},
 isbn = {978-1-4503-4218-6},
 location = {Seattle, WA, USA},
 pages = {631--642},
 numpages = {12},
 url = {http://doi.acm.org/10.1145/2950290.2950334},
 doi = {10.1145/2950290.2950334},
 acmid = {2950334},
 publisher = {ACM},
 address = {New York, NY, USA},
 keywords = {API, API usage, RNN, code search, deep learning}
}

@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,
	Acmid = {1713203},
	Address = {Hingham, MA, USA},
	Author = {Gu\'{e}h\'{e}neuc, Yann-Ga\"{e}l and Guyomarc'H, Jean-Yves and Sahraoui, Houari},
	Doi = {10.1007/s11219-009-9082-y},
	Issn = {0963-9314},
	Issue = {1},
	Journal = {Software Quality Control},
	Keywords = {Design patterns, Explanation-based constraint programming, Exploratory study, Metrics, Program understanding},
	Month = mar,
	Numpages = {30},
	Pages = {145--174},
	Publisher = {Kluwer Academic Publishers},
	Title = {Improving design-pattern identification: a new approach and an exploratory study},
	Volume = {18},
	Year = {2010},
	Bdsk-Url-1 = {http://dx.doi.org/10.1007/s11219-009-9082-y}}

@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 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 scg-none snf-none 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}}

@techreport{Gugg15a,
	Title = {Automatic Token Classification --- An attempt to mine useful information for parsing},
	Author = {Jo\"{e}l Guggisberg},
	Abstract = {Developers need software models to make decisions while
		developing software systems. Static software models are commonly imported by
		parsing source code. But building a custom parser is a difficult task in most
		programming languages. To build such a custom parser the grammar of the programming
		language is needed. If the grammar is not available, which is the case for many
		languages and notably dialects, it has to be inferred from the source code.
		Automatically finding the keywords of those languages can help the process of
		inferring a grammar because many keywords identify beginnings and endings of the
		basic building blocks of programs. We tested four heuristics of finding keywords in
		source code of unknown languages: i) the most common words are keywords; ii) words
		that occur in most of the files are keywords; iii) words at the first position of
		the line before an indent are keywords; and iv) words at the beginning of a line
		are keywords. With our third method we achieved the best results. It found 26 of
		the 50 Java keywords, 10 out of 17 of the Shell keywords and 9 out of 20 of the
		Haskell keywords. Our data suggests that the more source code is available the more
		precise the results get. Adding more source code produced the most improvements
		when using the first or second method. },
	Institution = {University of Bern},
	Keywords = {scg-bp snf-asa1 scg15 jb16},
	Type = {Bachelor's thesis},
	Url = {http://scg.unibe.ch/archive/projects/Gugg15a.pdf},
	Month = dec,
	Year = {2015}
}

@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{Gujr18a,
  title={Empirical Analysis of the Logging Questions on the {Stack Overflow} Website},
  author={Gujral, Harshit and Sharma, Abhinav and Lal, Sangeeta and Kaur, Amanpreet and Kumar, A and Sureka, Ashish},
  booktitle={2018 Conference On Software Engineering \& Data Sciences (CoSEDS)(in-press)},
  Keywords = {dev-questions},
  year={2018}
}

@book{Gulc03a,
  title={The complete log4j manual},
  author={G{\"u}lc{\"u}, Ceki and Stark, Scott},
  year={2003},
  publisher={QOS. ch}}

@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}}

@inproceedings{Guo04a,
	Author = {Guo, Lan and Ma, Yan and Cukic, Bojan and Singh, Harshinder},
	Booktitle = {Software Reliability Engineering, 2004. ISSRE 2004. 15th International Symposium on},
	Organization = {IEEE},
	Pages = {417--428},
	Title = {Robust prediction of fault-proneness by random forests},
	Year = {2004}}

@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,
	Acmid = {133152},
	Address = {New York, NY, USA},
	Author = {Gupta, Aloke and Hwu, Wen-Mei W.},
	Booktitle = {Proceedings of the 1992 ACM SIGMETRICS joint international conference on Measurement and modeling of computer systems},
	Doi = {10.1145/133057.133152},
	Isbn = {0-89791-507-0},
	Location = {Newport, Rhode Island, United States},
	Numpages = {2},
	Pages = {253--254},
	Publisher = {ACM},
	Series = {SIGMETRICS '92/PERFORMANCE '92},
	Title = {{Xprof}: profiling the execution of {X} {Window} programs},
	Url = {http://doi.acm.org/10.1145/133057.133152},
	Year = {1992},
	Bdsk-Url-1 = {http://doi.acm.org/10.1145/133057.133152},
	Bdsk-Url-2 = {http://dx.doi.org/10.1145/133057.133152}}

@article{Gupt96a,
	Acmid = {229586},
	Address = {Piscataway, NJ, USA},
	Author = {Gupta, Deepak and Jalote, Pankaj and Barua, Gautam},
	Doi = {10.1109/32.485222},
	Issn = {0098-5589},
	Journal = {IEEE Trans. Softw. Eng.},
	Keywords = {On-line software version change, validity of change, process, state, reachable state, data flow analysis, functional enhancement.},
	Number = {2},
	Numpages = {12},
	Pages = {120--131},
	Publisher = {IEEE Press},
	Title = {A Formal Framework for On-line Software Version Change},
	Url = {http://portal.acm.org/citation.cfm?id=229583.229586},
	Volume = {22},
	Year = {1996},
	Bdsk-Url-1 = {http://portal.acm.org/citation.cfm?id=229583.229586},
	Bdsk-Url-2 = {http://dx.doi.org/10.1109/32.485222}}

@article{Gupt19a,
  title={Natural language processing in mining unstructured data from software repositories: a review},
  author={Gupta, Som and Gupta, SK},
  journal={S{\=a}dhan{\=a}},
  volume={44},
  number={12},
  pages={244},
  year={2019},
  publisher={Springer}
}

@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}}

@inproceedings{Gurg14a,
	Acmid = {2577087},
	Address = {New York, NY, USA},
	Author = {Gurgel, Alessandro and Macia, Isela and Garcia, Alessandro and von Staa, Arndt and Mezini, Mira and Eichberg, Michael and Mitschke, Ralf},
	Booktitle = {Proceedings of the 13th International Conference on Modularity},
	Doi = {10.1145/2577080.2577087},
	Isbn = {978-1-4503-2772-5},
	Keywords = {architectural degradation, design rules, reuse},
	Location = {Lugano, Switzerland},
	Numpages = {12},
	Pages = {61--72},
	Publisher = {ACM},
	Series = {MODULARITY '14},
	Title = {Blending and Reusing Rules for Architectural Degradation Prevention},
	Url = {http://doi.acm.org/10.1145/2577080.2577087},
	Year = {2014},
	Bdsk-Url-1 = {http://doi.acm.org/10.1145/2577080.2577087},
	Bdsk-Url-2 = {http://dx.doi.org/10.1145/2577080.2577087}}

@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 scg11 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},
	Bdsk-Url-1 = {http://scg.unibe.ch/archive/masters/Gurt11a.pdf}}

@book{Gusf97a,
	Author = {Dan Gusfield},
	Keywords = {scglib},
	Publisher = {Cambridge University Press},
	Title = {Algorithms on Strings, Trees, and Sequences},
	Year = {1997}}

@inproceedings{Gust03a,
	Acmid = {943566},
	Address = {Washington, DC, USA},
	Author = {Gustavsson, Jens},
	Booktitle = {Proceedings of the International Conference on Software Maintenance},
	Date-Added = {2011-11-25 15:35:57 +0100},
	Date-Modified = {2011-11-25 15:52:52 +0100},
	Isbn = {0-7695-1905-9},
	Keywords = {classic; software-evolution; dsu; changebox; java; classification},
	Pages = {4--},
	Publisher = {IEEE Computer Society},
	Rating = {4},
	Series = {ICSM '03},
	Title = {A Classification of Unanticipated Runtime Software Changes in Java},
	Url = {http://dl.acm.org/citation.cfm?id=942800.943566},
	Year = {2003},
	Bdsk-Url-1 = {http://dl.acm.org/citation.cfm?id=942800.943566}}

@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}}

@inproceedings{Guye06a,
 author = {Guyer, Samuel Z. and McKinley, Kathryn S. and Frampton, Daniel},
 title = {Free-Me: A Static Analysis for Automatic Individual Object Reclamation},
 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 = {364--375},
 numpages = {12},
 url = {http://doi.acm.org/10.1145/1133981.1134024},
 doi = {10.1145/1133981.1134024},
 acmid = {1134024},
 publisher = {ACM},
 address = {New York, NY, USA},
 keywords = {adaptive, compiler-assisted, copying, generational, liveness, locality, mark-sweep, pointer analysis}
}

@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}}

@inproceedings{Guzm13a,
	title = {Visualizing emotions in software development projects},
	author = {Guzman, Emitza},
	booktitle = {Software Visualization (VISSOFT), 2013 First IEEE Working Conference on},
	pages = {1--4},
	year = {2013},
	organization = {IEEE}
}

@inproceedings{Guzz11a,
	title = {Collective code bookmarks for program comprehension},
	author = {Guzzi, Anja and Hattori, Lile and Lanza, Michele and Pinzger, Martin and van Deursen, Arie},
	booktitle = {Program Comprehension (ICPC), 2011 IEEE 19th International Conference on},
	pages = {101--110},
	year = {2011},
	organization = {IEEE}}

@inproceedings{Guzz13a,
  title={Communication in open source software development mailing lists},
  author={Guzzi, Anja and Bacchelli, Alberto and Lanza, Michele and Pinzger, Martin and van Deursen, Arie},
  booktitle={Proceedings of the 10th Working Conference on Mining Software Repositories},
  pages={277--286},
  year={2013},
  organization={IEEE Press}
}

@inproceedings {Guzz15a,
	Author = {Anja Guzzi and Alberto Bacchelli and Yann Riche and Arie van Deursen},
	Booktitle = {Proceedings of CSCW 2015 (18th ACM conference on Computer-Supported Cooperative Work and Social Computing)},
	Title = {Supporting Developers' Coordination in The {IDE}},
	Pages = {to appear},
	Year = {2015}
}

@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.},
	Annote = {internationalconference},
	Author = {Florian S. Gysin},
	Booktitle = {Proceedings International Conference on Software Engineering, ICSE '10, Student Research Competition},
	Doi = {10.1145/1810295.1810457},
	Keywords = {codesearch scg-pub scg10 jb10 snf10},
	Medium = {2},
	Peerreview = {yes},
	Title = {Improved Social Trustability of Code Search Results},
	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.},
	Annote = {internationalworkshop},
	Author = {Florian S. Gysin and Adrian Kuhn},
	Booktitle = {ICSE Workshop on Search-Driven Development-Users, Infrastructure, Tools and Evaluation, 2010. SUITE '10.},
	Doi = {10.1145/1809175.1809186},
	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},
	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 scg10 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{Hack12a,
 author = {Hackett, Brian and Guo, Shu-yu},
 title = {Fast and Precise Hybrid Type Inference for {J}ava{S}cript},
 booktitle = {Proceedings of the 33rd ACM SIGPLAN Conference on Programming Language Design and Implementation},
 series = {PLDI '12},
 year = {2012},
 isbn = {978-1-4503-1205-9},
 location = {Beijing, China},
 pages = {239--250},
 numpages = {12},
 url = {http://doi.acm.org/10.1145/2254064.2254094},
 doi = {10.1145/2254064.2254094},
 acmid = {2254094},
 publisher = {ACM},
 address = {New York, NY, USA},
 keywords = {hybrid, just-in-time compilation, type inference}
}

@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},
	url2 = {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 scg09 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}}

@inproceedings{Haen13a,
	Annote = {internationalworkshop},
	Abstract = {We present the results of an investigation into the nature of the information needs of software developers who work in projects that are part of larger ecosystems. In an open-question survey we asked framework and library developers about their information needs with respect to both their upstream and downstream projects. We investigated what kind of information is required, why is it necessary, and how the developers obtain this information.
	The results show that the downstream needs are grouped into three categories roughly corresponding to the different stages in their relation with an upstream: selection, adoption, and co-evolution. The less numerous upstream needs are grouped into two categories: project statistics and code usage.
	The current practices part of the study shows that to satisfy many of these needs developers use non-specific tools and ad hoc methods. We believe that this is a largely unexplored area of research.},
	Author = {Haenni, Nicole and Lungu, Mircea and Schwarz, Niko and Nierstrasz, Oscar},
	Booktitle = {Proceedings of the 1st Workshop on Ecosystem Architectures},
	Keywords = {ecosystems scg-pub snf-asa1 scg13 skip-doi jb14 dev-questions},
	Medium = {2},
	Pages = {1--5},
	Peerreview = {yes},
	Title = {Categorizing Developer Information Needs in Software Ecosystems},
	Url = {http://scg.unibe.ch/archive/papers/Haen13a-EcosystemInformationNeeds.pdf},
	Year = {2013},
	Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Haen13a-EcosystemInformationNeeds.pdf}}

@inproceedings{Haen14a,
	Annote = {internationalworkshop},
	Abstract = {We present the results of an investigation into the nature of information needs of software developers who work in projects that are part of larger ecosystems. This work is based on a quantitative survey of 75 professional software developers. We corroborate the results identified in the sur- vey with needs and motivations proposed in a previous sur- vey and discover that tool support for developers working in an ecosystem context is even more meager than we thought: mailing lists and internet search are the most popular tools developers use to satisfy their ecosystem-related information needs.},
	Author = {Haenni, Nicole and Lungu, Mircea and Schwarz, Niko and Nierstrasz, Oscar},
	Booktitle = {Proceedings of the 2nd Workshop on Ecosystem Architectures (WEA'14)},
	Keywords = {ecosystems scg-pub snf-asa1 scg14 jb14 dev-questions},
	Medium = {2},
	Pages = {1--6},
	Peerreview = {yes},
	Title = {A Quantitative Analysis of Developer Information Needs in Software Ecosystems},
	Url = {http://scg.unibe.ch/archive/papers/Haen14a-QuantitativeEcosystemInformationNeeds.pdf},
	Doi = {10.1145/2642803.2642815},
	Year = {2014},
	Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Haen14a-QuantitativeEcosystemInformationNeeds.pdf}}

@mastersthesis{Haen14b,
	Abstract = {Today's open-source software repositories support a world-wide
	networked collabo- ration and inter-dependence among independent developers.
	Due to the co-existance and co-evolution of projects that depend and rely on each
	other, these software ecosystems have led to an increased importance in large-scale
	software engineering. At present little is known about the interworking of developers
	and the needs they have to acquire for projects they are not familiar with. To
	explore this, we conducted an investigation into the nature of the information needs
	of software developers working on projects that are part of larger ecosystems. In an
	open-question survey we asked framework and library developers about their
	information needs with respect to both their upstream (i.e., providing code to a code
	base) and downstream (i.e., using code) projects. Our research focuses on the type of
	information needed, why is it necessary, and how developers obtain this information.
	Our findings show a high discrepancy between developers depending on whether they are
	working in an upstream or downstream context. The downstream needs are grouped into
	three categories roughly corresponding to the different stages in their relation with
	an upstream: selection, adoption, and co-evolution. The less numerous upstream needs
	are grouped into two categories: project statistics and code usage. Based on a
	concluding closed-question survey we strengthen our findings in respect to their
	relevance. Current practices are that developers use non-specific tools and ad hoc
	methods for information gathering. The contribution of our work is an empirical
	investigation with an analytical comparison of the practices and state-of-the art in
	program comprehension research. Our research provides a starting point to understand
	information needs in distributed software development. Our findings reveal that
	current tools lag far behind the needs of developers. A key contribution of this
	thesis is the identification of requirements for an ecosystem-aware tool support.},
	Author = {Nicole Haenni},
	Keywords = {ecosystems scg-msc snf-asa1 scg14 jb15},
	Month = sep,
	School = {University of Bern},
	Title = {Information Needs in Software Ecosystems Development --- A Contribution to Improve Tool Support Across Software Systems},
	Type = {Masters thesis},
	Url = {http://scg.unibe.ch/archive/masters/Haen14b.pdf},
	Year = {2014}}

@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 scg10 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},
	Bdsk-Url-1 = {http://scg.unibe.ch/archive/masters/Haer10a.pdf}}

@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{Hage06a,
 author = {Hage, Jurriaan and Heeren, Bastiaan},
 title = {Heuristics for Type Error Discovery and Recovery},
 booktitle = {Proceedings of the 18th International Conference on Implementation and Application of Functional Languages},
 series = {IFL'06},
 year = {2007},
 isbn = {978-3-540-74129-9},
 location = {Budapest, Hungary},
 pages = {199--216},
 numpages = {18},
 url = {http://dl.acm.org/citation.cfm?id=1757028.1757040},
 acmid = {1757040},
 publisher = {Springer-Verlag},
 address = {Berlin, Heidelberg},
 keywords = {constraints, error messages, error recovery, heuristics, type graph, type inferencing}
}

@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},
	Bdsk-Url-1 = {http://www.webcitation.org/5wMtsAZbs}}

@inproceedings{Haid08a,
 author = {Haiduc, Sonia and Marcus, Andrian},
 title = {On the Use of Domain Terms in Source Code},
 booktitle = {Proceedings of the 2008 The 16th IEEE International Conference on Program Comprehension},
 series = {ICPC '08},
 year = {2008},
 isbn = {978-0-7695-3176-2},
 pages = {113--122},
 numpages = {10},
 url = {https://doi.org/10.1109/ICPC.2008.29},
 doi = {10.1109/ICPC.2008.29},
 acmid = {1438596},
 publisher = {IEEE Computer Society},
 address = {Washington, DC, USA},
 keywords = {domain terms, source code, identifiers, comments}}

@inproceedings{Haid10a,
  title={On the Use of Automated Text Summarization Techniques for Summarizing Source Code},
  author={Haiduc, Sonia and Aponte, Jairo and Moreno, Laura and Marcus, Andrian},
  booktitle={2010 17th Working Conference on Reverse Engineering},
  pages={35--44},
  year={2010},
  organization={IEEE}
}

@article{Haig10a,
	Acmid = {1825309},
	Address = {Hingham, MA, USA},
	Author = {Haigh, Maria},
	Doi = {10.1007/s11219-010-9098-3},
	Issn = {0963-9314},
	Issue_Date = {September 2010},
	Journal = {Software Quality Control},
	Month = sep,
	Number = {3},
	Numpages = {25},
	Pages = {361--385},
	Publisher = {Kluwer Academic Publishers},
	Title = {Software quality, non-functional software requirements and {IT}-business alignment},
	Url = {http://dx.doi.org/10.1007/s11219-010-9098-3},
	Volume = {18},
	Year = {2010},
	Bdsk-Url-1 = {http://dx.doi.org/10.1007/s11219-010-9098-3}}

@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{Hain00a,
	Abstract = {Data Reverse Engineering is a specific information system engineering
			domain aiming at rebuilding the documentation of legacy databases.
			The paper explores this domain by presenting the basic problems (such as
			the implicit construct recovery problem) as well as techniques and tools for
			solving them. Two main phases are described, namely data structure extraction,
			through which the complete logical schema is elicited, and data structure conceptualization,
			that interpret them in conceptual terms. The paper describes and discusses a reference
			process model that identifies the main classes of problems, their solving techniques and
			tools that support the processes.},
	Author = {Hainaut, Jean L. and Henrard, Jean and Hick, Jean M. and Roland, Didier and Englebert, Vincent},
	Booktitle = {Proc. of Data Reverse Engineering Workshop 2000 (DRE'2000)},
	Keywords = {bibtex-import, fundp, precise},
	Priority = {1},
	Publisher = {Zurich Univ. Publish.},
	Title = {The Nature of Data Reverse Engineering},
	Url = {http://www.fundp.ac.be/recherche/publications/fr/39185.html},
	Year = {2000},
	Bdsk-Url-1 = {http://www.fundp.ac.be/recherche/publications/fr/39185.html}}

@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 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{Hale09a,
	Address = {Los Alamitos, CA, USA},
	Author = {Alon Halevy and Peter Norvig and Fernando Pereira},
	Doi = {10.1109/MIS.2009.36},
	Issn = {1541-1672},
	Journal = {IEEE Intelligent Systems},
	Pages = {8-12},
	Publisher = {IEEE Computer Society},
	Title = {The Unreasonable Effectiveness of Data},
	Volume = {24},
	Year = {2009},
	Bdsk-Url-1 = {http://dx.doi.org/10.1109/MIS.2009.36}}

@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{Hall00a,
  title={Correlation-based Feature Selection for Discrete and Numeric Class Machine Learning},
  author={Hall, Mark A},
  booktitle={Proceedings of the Seventeenth International Conference on Machine Learning},
  pages={359--366},
  year={2000},
  organization={Morgan Kaufmann Publishers Inc.}
}

@article{Hall03a,
  title={Benchmarking attribute selection techniques for discrete class data mining},
  author={Hall, Mark A and Holmes, Geoffrey},
  journal={IEEE transactions on knowledge and data engineering},
  volume={15},
  number={6},
  pages={1437--1447},
  year={2003},
  publisher={IEEE}
}

@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}}

@article{Hall09,
	Author = {Hall, Mark and Frank, Eibe and Holmes, Geoffrey and Pfahringer, Bernhard and Reutemann, Peter and Witten, Ian H},
	Journal = {ACM SIGKDD explorations newsletter},
	Number = {1},
	Pages = {10--18},
	Publisher = {ACM},
	Title = {The WEKA data mining software: an update},
	Volume = {11},
	Year = {2009}}

@article{Hall12a,
  title={A systematic literature review on fault prediction performance in software engineering},
  author={Hall, Tracy and Beecham, Sarah and Bowes, David and Gray, David and Counsell, Steve},
  journal={IEEE Transactions on Software Engineering},
  volume={38},
  number={6},
  pages={1276--1304},
  year={2012},
  publisher={IEEE}
}

@inproceedings{Hall12b,
  title={The state of machine learning methodology in software fault prediction},
  author={Hall, Tracy and Bowes, David},
  booktitle={Machine Learning and Applications (ICMLA), 2012 11th International Conference on},
  volume={2},
  pages={308--313},
  year={2012},
  organization={IEEE}
}

@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}}

@misc{Hamm08a,
	Author = {Jeffrey S. Hammond and Noel Yuhanna and M. Gilpin and D. D'silva},
	Month = oct,
	Publisher = {Forrester Research},
	Title = {Market Overview: Enterprise Data Modeling: A Steady State Market Prepares To Enter A Transformational New Phase},
	Year = {2008}}

@inproceedings{Hamm09a,
	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.},
	Author = {Hammad, M. and Collard, M.L. and Maletic, J.I.},
	Booktitle = {Program Comprehension, 2009. ICPC '09. IEEE 17th International Conference on},
	Doi = {10.1109/ICPC.2009.5090024},
	Issn = {1063-6897},
	Month = may,
	Pages = {20 -29},
	Title = {Automatically identifying changes that impact code-to-design traceability},
	Year = {2009},
	Bdsk-Url-1 = {http://dx.doi.org/10.1109/ICPC.2009.5090024}}

@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)},
	Doi = {10.1109/WCRE.2010.40},
	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},
	Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Hamo10aPCODA2010.pdf},
	Bdsk-Url-2 = {http://dx.doi.org/10.1109/WCRE.2010.40}}

@book{Han00a,
	Author = {Jiawei Han and Micheline Kamber},
	Keywords = {clustering},
	Publisher = {Morgan Kaufmann},
	Title = {Data Mining: Concepts and Techniques},
	Year = {2000}}

@inproceedings{Han00b,
 	Author = {Han, Jiawei and Pei, Jian and Yin, Yiwen},
 	Title = {Mining Frequent Patterns Without Candidate Generation},
 	Booktitle = {Proceedings of the 00nd ACM SIGMOD International Conference on Management of Data},
 	Series = {SIGMOD '00},
 	Year = {2000},
 	Isbn = {1-58113-217-4},
 	Location = {Dallas, Texas, USA},
 	Pages = {1--12},
 	Numpages = {12},
 	Url = {http://doi.acm.org/10.1145/342009.335372},
 	Doi = {10.1145/342009.335372},
 	Acmid = {335372},
 	Publisher = {ACM},
 	Address = {New York, NY, USA}}

@article{Han00c,
 	Author = {Han, Jiawei and Pei, Jian},
 	Title = {Mining Frequent Patterns by Pattern-growth: Methodology and Implications},
 	Journal = {SIGKDD Explor. Newsl.},
 	Issue_date = {Dec. 2000},
 	Volume = {2},
 	Number = {2},
 	Month = dec,
 	Year = {2000},
 	Issn = {1931-0145},
 	Pages = {14--20},
 	Numpages = {7},
 	Url = {http://doi.acm.org/10.1145/380995.381002},
 	Doi = {10.1145/380995.381002},
 	Acmid = {381002},
 	Publisher = {ACM},
 	Address = {New York, NY, USA},
 	Keywords = {associations, constraint-based mining, frequent patterns, scalable data mining methods and algorithms, sequential patterns}}

@book{Han12b,
	Author = {Jiawei Han and Micheline Kamber and Jian Pei},
	Keywords = {clustering},
	Publisher = {Morgan Kaufmann},
	Title = {Data Mining Concepts and Techniques (Third Edition)},
	Year = {2012}
}

@inproceedings{HanS12a,
	 author = {Han, Shi and Dang, Yingnong and Ge, Song and Zhang, Dongmei and Xie, Tao},
	 title = {Performance Debugging in the Large via Mining Millions of Stack Traces},
	 booktitle = {Proceedings of the 34th International Conference on Software Engineering},
	 series = {ICSE '12},
	 year = {2012},
	 isbn = {978-1-4673-1067-3},
	 location = {Zurich, Switzerland},
	 pages = {145--155},
	 numpages = {11},
	 url = {http://dl.acm.org/citation.cfm?id=2337223.2337241},
	 acmid = {2337241},
	 publisher = {IEEE Press},
	 address = {Piscataway, NJ, USA}
}

@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}}

@article{Hane10a,
	Acmid = {1869462},
	Address = {New York, NY, USA},
	Author = {Hanenberg, Stefan},
	Doi = {10.1145/1932682.1869462},
	Issn = {0362-1340},
	Issue_Date = {October 2010},
	Journal = {SIGPLAN Not.},
	Keywords = {dynamically typed languages, empirical study, programming languages, type systems},
	Month = oct,
	Number = {10},
	Numpages = {14},
	Pages = {22--35},
	Publisher = {ACM},
	Title = {An Experiment About Static and Dynamic Type Systems: Doubts About the Positive Impact of Static Type Systems on Development Time},
	Url = {http://doi.acm.org/10.1145/1932682.1869462},
	Volume = {45},
	Year = {2010},
	Bdsk-Url-1 = {http://doi.acm.org/10.1145/1932682.1869462},
	Bdsk-Url-2 = {http://dx.doi.org/10.1145/1932682.1869462}}

@inproceedings{Hane10b,
	Address = {Reno/Tahoe, NV, USA},
	Author = {Hanenberg, Stefan},
	Booktitle = {OOPSLA'10: Proceedings of the 25th International Conference on Object Oriented Programming Systems Languages and Applications},
	Doi = {10.1145/1869459.1869536},
	Isbn = {978-1-4503-0203-6},
	Keywords = {empirical research, programming language research, research methods, software engineering, damiencbib},
	Month = oct,
	Pages = {933--946},
	Publisher = {ACM},
	Title = {Faith, hope, and love: an essay on software science's neglect of human factors},
	Year = {2010},
	Bdsk-Url-1 = {http://dx.doi.org/10.1145/1869459.1869536}}

@article{Hane14a,
author={Hanenberg, Stefan and Kleinschmager, Sebastian
and Robbes, Romain
and Tanter, {\'E}ric
and Stefik, Andreas},
title={An empirical study on the impact of static typing on software maintainability},
journal={Empirical Software Engineering},
year={2014},
volume={19},
number={5},
pages={1335--1382},
abstract={Static type systems play an essential role in contemporary programming languages. Despite their importance, whether static type systems impact human software development capabilities remains open. One frequently mentioned argument in favor of static type systems is that they improve the maintainability of software systems---an often-used claim for which there is little empirical evidence. This paper describes an experiment that tests whether static type systems improve the maintainability of software systems, in terms of understanding undocumented code, fixing type errors, and fixing semantic errors. The results show rigorous empirical evidence that static types are indeed beneficial to these activities, except when fixing semantic errors. We further conduct an exploratory analysis of the data in order to understand possible reasons for the effect of type systems on the three kinds of tasks used in this experiment. From the exploratory analysis, we conclude that developers using a dynamic type system tend to look at different files more frequently when doing programming tasks---which is a potential reason for the observed differences in time.},
issn={1573-7616},
doi={10.1007/s10664-013-9289-1},
url={http://dx.doi.org/10.1007/s10664-013-9289-1}
}

@inproceedings{Hanj13a,
author={A. Hanjali\'{c}},
booktitle={2013 First IEEE Working Conference on Software Visualization (VISSOFT)},
title={ClonEvol: Visualizing software evolution with code clones},
year={2013},
pages={1-4},
doi={10.1109/VISSOFT.2013.6650525},
month=sep
}

@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,
	Acmid = {582436},
	Address = {New York, NY, USA},
	Author = {Hannemann, Jan and Kiczales, Gregor},
	Booktitle = {Proceedings of the 17th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications},
	Doi = {10.1145/582419.582436},
	Isbn = {1-58113-471-1},
	Keywords = {aspect-oriented programming, design patterns},
	Location = {Seattle, Washington, USA},
	Numpages = {13},
	Pages = {161--173},
	Publisher = {ACM},
	Series = {OOPSLA '02},
	Title = {Design pattern implementation in Java and aspectJ},
	Year = {2002},
	Bdsk-Url-1 = {http://dx.doi.org/10.1145/582419.582436}}

@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}}

@inproceedings{Hans97,
	Author = {David R. Hanson and Jeffrey L. Korn},
	Booktitle = {IN WINTER 1997 USENIX CONFERENCE},
	Pages = {173--184},
	Title = {A Simple and Extensible Graphical Debugger},
	Year = {1997}}

@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{Hans09a,
	title = {Maintenance and agile development: Challenges, opportunities and future directions},
	author = {Hanssen, Geir Kjetil and Yamashita, Aiko Fallas and Conradi, Reidar and Moonen, Leon},
	booktitle = {Software Maintenance, 2009. ICSM 2009. IEEE International Conference on},
	pages = {487--490},
	year = {2009},
	organization = {IEEE}}

@inproceedings{Hao13a,
 author = {Hao, Yiyang and Li, Ge and Mou, Lili and Zhang, Lu and Jin, Zhi},
 title = {MCT: A Tool for Commenting Programs by Multimedia Comments},
 booktitle = {Proceedings of the 2013 International Conference on Software Engineering},
 series = {ICSE '13},
 year = {2013},
 isbn = {978-1-4673-3076-3},
 location = {San Francisco, CA, USA},
 pages = {1339--1342},
 numpages = {4},
 url = {http://dl.acm.org/citation.cfm?id=2486788.2487000},
 acmid = {2487000},
 publisher = {IEEE Press},
 address = {Piscataway, NJ, USA}
}

@inproceedings{Haou11a,
  author    = {Dorsaf Haouari and
               Houari A. Sahraoui and
               Philippe Langlais},
  title     = {How Good is Your Comment? {A} Study of Comments in Java Programs},
  booktitle = {Proceedings of the 5th International Symposium on Empirical Software
               Engineering and Measurement, {ESEM} 2011, Banff, AB, Canada, September
               22-23, 2011},
  pages     = {137--146},
  publisher = {{IEEE} Computer Society},
  year      = {2011},
  url       = {https://doi.org/10.1109/ESEM.2011.22},
  Keywords =  {comment-quality-slr},
  doi       = {10.1109/ESEM.2011.22},
  timestamp = {Wed, 16 Oct 2019 14:14:52 +0200},
  biburl    = {https://dblp.org/rec/conf/esem/HaouariSL11.bib},
  bibsource = {dblp computer science bibliography, https://dblp.org}
}

@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}}

@misc{Happy,
	Key = {Happy},
	Note = {http://tfs.cs.tu-berlin.de/agg/index.html},
	Title = {{H}appy --- The Parser Generator for {Haskell}},
    Url = {https://www.haskell.org/happy/},
    year = {2010}
}

@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}}

@inproceedings{Hara11a,
	title = {Applying source code analysis techniques: A case study for a large mission-critical software system},
	author = {Haralambiev, Haralambi and Boychev, Stanimir and Lilov, Delyan and Kraichev, Kraicho},
	booktitle = {EUROCON-International Conference on Computer as a Tool (EUROCON), 2011 IEEE},
	pages = {1--2},
	year = {2011},
	organization = {IEEE}}

@article{Hare88a,
	Author = {David Harel},
	Journal = {CACM},
	Keywords = {visprog hypergraphs higraphs statecharts},
	Month = may,
	Number = {5},
	Pages = {514--530},
	Title = {On Visual Formalisms},
	Volume = {31},
	doi={10.1145/42411.42414},
	Year = {1988}
}

@article{Hare90a,
	Author = {David 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 hypergraphs 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},
	doi={10.1109/32.54292}
}

@inproceedings{Hare96a,
  author={David {Harel} and Eran {Gery}},
  booktitle={Proceedings of IEEE 18th International Conference on Software Engineering},
  title={Executable object modeling with {Statecharts}},
  year={1996},
  pages={246-257},
  keywords = {statecharts hypergraphs higraphs},
  doi = {10.1109/ICSE.1996.493420}
}

@article{Hare03a,
	author = {Harel, David
	and Marelly, Rami},
	title = {Specifying and executing behavioral requirements: the play-in/play-out approach},
	journal = {Software {\&} Systems Modeling},
	year = {2003},
	month = jul,
	day = {01},
	volume = {2},
	number = {2},
	pages = {82--107},
	abstract = {A powerful methodology for scenario-based specification of reactive systems
is described, in which the behavior is ``played in'' directly from the system's GUI or some
abstract version thereof, and can then be ``played out''. The approach is supported and
illustrated by a tool, which we call the play-engine. As the behavior is played in, the
play-engine automatically generates a formal version in an extended version of the language
of live sequence charts (LSCs). As they are played out, it causes the application to react
according to the universal (``must'') parts of the specification; the existential (``may'')
parts can be monitored to check their successful completion. Play-in is a user-friendly
high-level way of specifying behavior and play-out is a rather surprising way of working
with a fully operational system directly from its inter-object requirements. The ideas
appear to be relevant to many stages of system development, including requirements
engineering, specification, testing, analysis and implementation. },
	issn = {1619-1374},
	doi = {10.1007/s10270-002-0015-5},
	url = {https://doi.org/10.1007/s10270-002-0015-5},
  keywords = {hypergraphs, statecharts, higraphs, live sequence charts}
}

@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,
	Acmid = {1596528},
	Address = {New York, NY, USA},
	Articleno = {1},
	Author = {Harman, Mark and Binkley, David and Gallagher, Keith and Gold, Nicolas and Krinke, Jens},
	Doi = {10.1145/1596527.1596528},
	Issn = {0164-0925},
	Issue = {1},
	Journal = {ACM Trans. Program. Lang. Syst.},
	Keywords = {Dependence, program comprehension, program slicing},
	Month = nov,
	Numpages = {33},
	Pages = {1:1--1:33},
	Publisher = {ACM},
	Title = {Dependence clusters in source code},
	Volume = {32},
	Year = {2009},
	Bdsk-Url-1 = {http://dx.doi.org/10.1145/1596527.1596528}}

@article{Harm12a,
	Acmid = {2379787},
	Address = {New York, NY, USA},
	Articleno = {11},
	Author = {Harman, Mark and Mansouri, S. Afshin and Zhang, Yuanyuan},
	Doi = {10.1145/2379776.2379787},
	Issn = {0360-0300},
	Issue_Date = {November 2012},
	Journal = {ACM Comput. Surv.},
	Keywords = {Software engineering, search-based techniques, survey},
	Month = dec,
	Number = {1},
	Numpages = {61},
	Pages = {11:1--11:61},
	Publisher = {ACM},
	Title = {Search-based software engineering: Trends, techniques and applications},
	Url = {http://doi.acm.org/10.1145/2379776.2379787},
	Volume = {45},
	Year = {2012},
	Bdsk-Url-1 = {http://doi.acm.org/10.1145/2379776.2379787},
	Bdsk-Url-2 = {http://dx.doi.org/10.1145/2379776.2379787}}

@inproceedings{Harm14a,
  title={Less is more: Temporal fault predictive performance over multiple hadoop releases},
  author={Harman, Mark and Islam, Syed and Jia, Yue and Minku, Leandro L and Sarro, Federica and Srivisut, Komsan},
  booktitle={International Symposium on Search Based Software Engineering},
  pages={240--246},
  year={2014},
  organization={Springer}
}

@inproceedings{Harm16a,
 author = {Mark Harman and Afnan A. Al-Subaihin and Yue Jia and William Martin and Federica Sarro and Yuanyuan Zhang},
 title = {Mobile App and App Store Analysis, Testing and Optimisation},
 booktitle = {Proceedings of the International Conference on Mobile Software Engineering and Systems},
 series = {MOBILESoft '16},
 year = {2016},
 isbn = {978-1-4503-4178-3},
 location = {Austin, Texas},
 pages = {243--244},
 numpages = {2},
 url = {http://doi.acm.org/10.1145/2897073.2897076},
 doi = {10.1145/2897073.2897076},
 acmid = {2897076},
 publisher = {ACM},
 address = {New York, NY, USA},
 keywords = {app store analysis, app store mining, energy consumption, mining software repositories, software testing}
}

@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}}

@article{Harr00a,
 author = {Harrison, R. and Counsell, S. and Nithi, R.},
 title = {Experimental Assessment of the Effect of Inheritance on the Maintainability of Object-oriented Systems},
 journal = {J. Syst. Softw.},
 issue_date = {June 1 2000},
 volume = {52},
 number = {2-3},
 month = jun,
 year = {2000},
 issn = {0164-1212},
 pages = {173--179},
 numpages = {7},
 url = {http://dx.doi.org/10.1016/S0164-1212(99)00144-2},
 doi = {10.1016/S0164-1212(99)00144-2},
 acmid = {348052},
 publisher = {Elsevier Science Inc.},
 address = {New York, NY, USA},
 keywords = {empirical software engineering, inheritance, maintainability, object-oriented system}
}

@incollection{Harr01a,
	Acmid = {566121},
	Address = {New York, NY, USA},
	Annote = {The paper describes three approached to logging, including nested diagnostic contexts, like in log4j NDC},
	Author = {Harrison, Neil B.},
	Booktitle = {Design patterns in communications software},
	Chapter = {Patterns for logging diagnostic messages},
	Date-Added = {2013-02-04 07:07:29 +0000},
	Date-Modified = {2013-05-27 13:08:54 +0000},
	Editor = {Rising, Linda},
	Isbn = {0-521-79040-9},
	Keywords = {context-oriented; pattern},
	Numpages = {13},
	Pages = {173--185},
	Publisher = {Cambridge University Press},
	Title = {Design patterns in communications software},
	Url = {http://dl.acm.org/citation.cfm?id=566110.566121},
	Year = {2001},
	Bdsk-Url-1 = {http://dl.acm.org/citation.cfm?id=566110.566121}}

@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}}

@article{Harr06a,
author={W. Harrison},
journal={IEEE Software},
title={Eating Your Own Dog Food},
year={2006},
volume={23},
number={3},
pages={5-7},
keywords={Computer bugs;Feedback;Marketing management;Production;Quality assurance;Quality management;Software development management;Software engineering;Software quality;User interfaces},
doi={10.1109/MS.2006.72},
ISSN={0740-7459},
month=may}

@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}}

@incollection{Hart88a,
  title={Development of NASA-TLX (Task Load Index): Results of empirical and theoretical research},
  author={Hart, Sandra G and Staveland, Lowell E},
  booktitle={Advances in psychology},
  volume={52},
  pages={139--183},
  year={1988},
  publisher={Elsevier}
}

@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{Hart93a,
  title={Maintenance productivity: Observations based on an experience in a large system environment},
  author={Hartzman, Carl S and Austin, Charles F},
  booktitle={Proceedings of the 1993 conference of the Centre for Advanced Studies on Collaborative research: software engineering-Volume 1},
  pages={138--170},
  year={1993},
  organization={IBM Press}
}

@inproceedings{Hart06a,
	Address = {Montreux, Switzerland},
	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},
	Booktitle = {UIST'06: Proceedings of the 19th Symposium on User interface software and technology},
	Doi = {10.1145/1166253.1166300},
	Keywords = {damiencbib},
	Pages = {299--308},
	Publisher = {ACM},
	Title = {Reflective physical prototyping through integrated design, test, and analysis},
	Year = {2006},
	Bdsk-Url-1 = {http://dx.doi.org/10.1145/1166253.1166300}}

@inproceedings{Hart08a,
	Address = {Monterey, CA, USA},
	Author = {Hartmann, Bj{\"o}rn and Yu, Loren and Allison, Abel and Yang, Yeonsoo and Klemmer, Scott R.},
	Booktitle = {UIST'08: Proceedings of the 21st symposium on User Interface Software and Technology},
	Doi = {10.1145/1449715.1449732},
	Keywords = {juxtapose design alternatives design tools prototyping},
	Month = oct,
	Pages = {91--100},
	Title = {Design as exploration: creating interface alternatives through parallel authoring and runtime tuning},
	Year = {2008},
	Bdsk-Url-1 = {http://dx.doi.org/10.1145/1449715.1449732}}

@book{Harv94a,
	Author = {Brian Harvey and Matthew Wright},
	Publisher = {MIT Press},
	Title = {Simply {Scheme}: introducing computer science},
	Year = {1994}}

@inproceedings{Hasa16a,
 author = {Hasan, Samir and King, Zachary and Hafiz, Munawar and Sayagh, Mohammed and Adams, Bram and Hindle, Abram},
 title = {Energy Profiles of Java Collections Classes},
 booktitle = {Proceedings of the 38th International Conference on Software Engineering},
 series = {ICSE '16},
 year = {2016},
 isbn = {978-1-4503-3900-1},
 location = {Austin, Texas},
 pages = {225--236},
 numpages = {12},
 url = {http://doi.acm.org/10.1145/2884781.2884869},
 doi = {10.1145/2884781.2884869},
 acmid = {2884869},
 publisher = {ACM},
 address = {New York, NY, USA},
 keywords = {API, Java, collections, energy profile}
}

@misc{Haskel98,
	Key = {Haskel 98},
	Url = {https://www.haskell.org/onlinereport/index98.html},
	Title = {{Haskell 98 Report}}}

@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,
	Address = {Los Alamitos, CA, USA},
	Author = {Youssef Hassoun and Roger Johnson and Steve Counsell},
	Doi = {10.1109/CSMR.2004.1281436},
	Issn = {1534-5351},
	Journal = {Software Maintenance and Reengineering, European Conference on},
	Pages = {339},
	Publisher = {IEEE Computer Society},
	Title = {A Dynamic Runtime Coupling Metric for Meta-Level Architectures},
	Volume = {0},
	Year = {2004},
	Bdsk-Url-1 = {http://dx.doi.org/10.1109/CSMR.2004.1281436}}

@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}}

@article{Hass06a,
	Acmid = {1146487},
	Address = {Hingham, MA, USA},
	Author = {Hassan, Ahmed E. and Holt, Richard C.},
	Doi = {10.1007/s10664-006-9006-4},
	Issn = {1382-3256},
	Issue_Date = {September 2006},
	Journal = {Empirical Softw. Engg.},
	Keywords = {Change propagation, Historical co-change, Mining software repositories, Source control systems, Static dependency},
	Month = sep,
	Number = {3},
	Numpages = {33},
	Pages = {335--367},
	Publisher = {Kluwer Academic Publishers},
	Title = {Replaying development history to assess the effectiveness of change propagation tools},
	Url = {http://dx.doi.org/10.1007/s10664-006-9006-4},
	Volume = {11},
	Year = {2006},
	Bdsk-Url-1 = {http://dx.doi.org/10.1007/s10664-006-9006-4}}

@inproceedings{Hass08a,
  title={The road ahead for mining software repositories},
  author={Hassan, Ahmed E},
  booktitle={2008 Frontiers of Software Maintenance},
  pages={48--57},
  year={2008},
  organization={IEEE}
}

@inproceedings{Hass09a,
	Acmid = {1555024},
	Address = {Washington, DC, USA},
	Author = {Hassan, Ahmed E.},
	Booktitle = {Proceedings of the 31st International Conference on Software Engineering},
	Doi = {10.1109/ICSE.2009.5070510},
	Isbn = {978-1-4244-3453-4},
	Numpages = {11},
	Pages = {78--88},
	Publisher = {IEEE Computer Society},
	Series = {ICSE '09},
	Title = {Predicting faults using the complexity of code changes},
	Url = {http://dx.doi.org/10.1109/ICSE.2009.5070510},
	Year = {2009},
	Bdsk-Url-1 = {http://dx.doi.org/10.1109/ICSE.2009.5070510}}

@misc{Hast92a,
	Author = {Reed Hastings and Bob Joyce},
	Notes = {In Proceedings of the Winter USENIX Conference},
	Title = {Purify: Fast Detection of Memory Leaks and Access Errors},
	Year = {1992}}

@article{Hast05a,
  title={The elements of statistical learning: data mining, inference and prediction},
  author={Hastie, Trevor and Tibshirani, Robert and Friedman, Jerome and Franklin, James},
  journal={The Mathematical Intelligencer},
  volume={27},
  number={2},
  pages={83--85},
  year={2005},
  publisher={Springer}
}

@inproceedings{Hata12a,
	Acmid = {2337247},
	Address = {Piscataway, NJ, USA},
	Author = {Hata, Hideaki and Mizuno, Osamu and Kikuno, Tohru},
	Booktitle = {Proceedings of the 34th International Conference on Software Engineering},
	Isbn = {978-1-4673-1067-3},
	Location = {Zurich, Switzerland},
	Numpages = {11},
	Pages = {200--210},
	Publisher = {IEEE Press},
	Series = {ICSE '12},
	Title = {Bug Prediction Based on Fine-grained Module Histories},
	Url = {http://dl.acm.org/citation.cfm?id=2337223.2337247},
	Year = {2012},
	Bdsk-Url-1 = {http://dl.acm.org/citation.cfm?id=2337223.2337247}}

@inproceedings{Hata19a,
  title={9.6 Million Links in Source Code Comments: Purpose, Evolution, and Decay},
  author={Hata, Hideaki and Treude, Christoph and Kula, Raula Gaikovina and Ishio, Takashi},
  booktitle={Proceedings of the 41st International Conference on Software Engineering},
  pages={1211--1221},
  year={2019},
  keywords =  {comment-quality-slr},
  organization={IEEE Press}
}

@phdthesis{Hatc04a,
	Author = {Andrew Hatch},
	Month = mar,
	School = {Research Institute in Software Engineering, University of Durham},
	Title = {Software Architecture Visualisation},
	Year = {2004}}

@inproceedings{Hatt10a,
	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.},
	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)},
	Doi = {10.1145/1862372.1862379},
	Keywords = {lungu scg-pub snf-no jb11 scg10},
	Medium = {2},
	Month = oct,
	Pages = {13--22},
	Peerreview = {yes},
	Title = {Replaying past changes in multi-developer projects},
	Url = {http://www.inf.usi.ch/faculty/lanza/Downloads/Hatt2010c.pdf},
	Year = {2010},
	Bdsk-Url-1 = {http://www.inf.usi.ch/faculty/lanza/Downloads/Hatt2010c.pdf},
	Bdsk-Url-2 = {http://dx.doi.org/10.1145/1862372.1862379}}

@inproceedings{Hatt10b,
	Acmid = {1810339},
	Address = {New York, NY, USA},
	Author = {Hattori, Lile and Lanza, Michele},
	Booktitle = {Proceedings of the 32nd ACM/IEEE International Conference on Software Engineering - Volume 2},
	Doi = {10.1145/1810295.1810339},
	Isbn = {978-1-60558-719-6},
	Keywords = {Syde, awareness, change, collaboration, visualization},
	Location = {Cape Town, South Africa},
	Numpages = {4},
	Pages = {235--238},
	Publisher = {ACM},
	Series = {ICSE '10},
	Title = {Syde: a tool for collaborative software development},
	Url = {http://doi.acm.org/10.1145/1810295.1810339},
	Year = {2010},
	Bdsk-Url-1 = {http://doi.acm.org/10.1145/1810295.1810339},
	Bdsk-Url-2 = {http://dx.doi.org/10.1145/1810295.1810339}}

@inproceedings{Hatt11a,
	Abstract = {Developers often need to find answers to questions regarding the evolution of a system when working on its
  code base. While their information needs require data analysis spanning over different repository types, the source code
  repository has a pivotal role for program comprehension tasks. However, the coarse-grained nature of the data stored by
  commit-based software configuration management systems often makes it challenging for a developer to search for an answer.
  We present Replay, an Eclipse plug-in that allows one to explore the change history of a system by capturing the changes
  at a finer granularity level than commits, and by replaying the past changes chronologically inside the integrated
  development environment with the source code at hand. We conducted a controlled experiment to empirically assess whether
  Replay outperforms a baseline (SVN client in Eclipse) on helping developers to answer common questions related to software
  evolution. The experiment shows that Replay leads to a decrease in completion time with respect to a set of software
  evolution comprehension tasks.},
	Author = {Lile Hattori and Marco D'Ambros and Michele Lanza and Mircea Lungu},
	Booktitle = {Proceedings of the 19th International Conference on Program Comprehension},
	Doi = {10.1109/ICPC.2011.39},
	Keywords = {scg11 scg-pub jb12 snf11 ercim11},
	Medium = {2},
	Pages = {161-170},
	Peerreview = {Yes},
	Publisher = {IEEE Computer Society Press},
	Title = {Software Evolution Comprehension: Replay to the Rescue},
	Url = {http://inf.unisi.ch/faculty/lanza/Downloads/Hatt2011a.pdf},
	Year = {2011},
	Bdsk-Url-1 = {http://inf.unisi.ch/faculty/lanza/Downloads/Hatt2011a.pdf},
	Bdsk-Url-2 = {http://dx.doi.org/10.1109/ICPC.2011.39}}

@article{Hatt11b,
	Address = {Los Alamitos, CA, USA},
	Author = {Lile Hattori and Alberto Bacchelli and Michele Lanza and Mircea Lungu},
	Doi = {10.1109/CSEET.2011.5876154},
	Isbn = {978-1-4577-0349-2},
	Journal = {Software Engineering Education and Training, Conference on},
	Pages = {558},
	Publisher = {IEEE Computer Society},
	Title = {Erase and rewind -- Learning by replaying examples},
	Volume = {0},
	Year = {2011},
	Bdsk-Url-1 = {http://dx.doi.org/10.1109/CSEET.2011.5876154}}

@article{Hatt12a,
	title = {Refining code ownership with synchronous changes},
	author = {Hattori, Lile Palma and Lanza, Michele and Robbes, Romain},
	journal = {Empirical Software Engineering},
	volume = {17},
	number = {4-5},
	pages = {467--499},
	year = {2012},
	publisher = {Springer}}

@article{Hatt13a,
	Abstract = {Developers often need to find answers to questions regarding the evolution of a system when working on its code	 base. While their information needs require data analysis pertaining to different repository types, the source code repository	has a pivotal role for program comprehension tasks. However, the coarse-grained nature of the data stored by commit-based software configuration management systems often makes it challenging for a developer to search for an answer.We present Replay, an Eclipse plug-in that allows developers to explore the change history of a system by capturing the changes at a finer granularity level than commits, and by replaying the past changes chronologically inside the integrated development environment, with the source code at hand.},
	Author = {Lile Hattori and Marco D'Ambros and Michele Lanza and Mircea Lungu},
	Doi = {10.1016/j.infsof.2012.09.001},
	Issn = {0950-5849},
	Journal = {Information and Software Technology},
	Keywords = {scg-pub snf12 jb13 scg13 Software evolution Empirical evaluation Controlled experiment},
	Medium = {2},
	Month = {jan},
	Number = {4},
	Pages = {755 - 775},
	Peerreview = {yes},
	Title = {Answering software evolution questions: {An} empirical evaluation},
	Url = {http://www.sciencedirect.com/science/article/pii/S095058491200184X},
	Volume = {55},
	Year = {2013},
	Bdsk-Url-1 = {http://www.sciencedirect.com/science/article/pii/S095058491200184X},
	Bdsk-Url-2 = {http://dx.doi.org/10.1016/j.infsof.2012.09.001}}

@article{Haub10a,
title = {Compact and efficient strings for Java},
journal = {Science of Computer Programming},
volume = {75},
number = {11},
pages = {1077 - 1094},
year = {2010},
note = {Special Section on the Programming Languages Track at the 23rd \{ACM\} Symposium on Applied Computing \{ACM\} \{SAC\} 08},
issn = {0167-6423},
doi = {10.1016/j.scico.2010.04.010},
url = {http://www.sciencedirect.com/science/article/pii/S0167642310000791},
author = {Christian H\"aubl and Christian Wimmer and Hanspeter M\"ossenb\"ock}
}

@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}}

@inproceedings{Haug14a,
author={B. Haugen and J. Kurzak},
booktitle={Second IEEE Working Conference on Software Visualization},
title={Search Space Pruning Constraints Visualization},
year={2014},
pages={30-39},
doi={10.1109/VISSOFT.2014.15},
month=sep
}

@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},
	Doi = {10.1049/iet-sen.2007.0121},
	Journal = {IET Software},
	Keywords = {virtual machine architecture internal complexity service modules aspect-oriented programming aop techniques damiencbib},
	Number = {3},
	Pages = {201-218},
	Title = {Disentangling virtual machine architecture.},
	Volume = {3},
	Year = {2009},
	Bdsk-Url-1 = {http://dx.doi.org/10.1049/iet-sen.2007.0121}}

@inproceedings{Haus04a,
	Acmid = {1028998},
	Address = {New York, NY, USA},
	Author = {Hauswirth, Matthias and Sweeney, Peter F. and Diwan, Amer and Hind, Michael},
	Booktitle = {Proceedings of the 19th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications},
	Doi = {10.1145/1028976.1028998},
	Isbn = {1-58113-831-8},
	Keywords = {hardware performance monitors, perturbation, software performance monitors, vertical profiling, whole-system analysis},
	Location = {Vancouver, BC, Canada},
	Numpages = {19},
	Pages = {251--269},
	Publisher = {ACM},
	Series = {OOPSLA '04},
	Title = {Vertical profiling: understanding the behavior of object-priented applications},
	Url = {http://doi.acm.org/10.1145/1028976.1028998},
	Year = {2004},
	Bdsk-Url-1 = {http://doi.acm.org/10.1145/1028976.1028998},
	Bdsk-Url-2 = {http://dx.doi.org/10.1145/1028976.1028998}}

@inproceedings{Haus04b,
	Acmid = {1028682},
	Address = {New York, NY, USA},
	Author = {Hauswirth, Matthias and Sweeney, Peter F. and Diwan, Amer},
	Booktitle = {Companion to the 19th annual ACM SIGPLAN conference on Object-oriented programming systems, languages, and applications},
	Doi = {10.1145/1028664.1028682},
	Isbn = {1-58113-833-4},
	Keywords = {correlation, extensibility, performance explorer, vertical profiling, visualization},
	Location = {Vancouver, BC, CANADA},
	Numpages = {2},
	Pages = {31--32},
	Publisher = {ACM},
	Series = {OOPSLA '04},
	Title = {Performance explorer: understanding java application behavior},
	Url = {http://doi.acm.org/10.1145/1028664.1028682},
	Year = {2004},
	Bdsk-Url-1 = {http://doi.acm.org/10.1145/1028664.1028682},
	Bdsk-Url-2 = {http://dx.doi.org/10.1145/1028664.1028682}}

@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{Haus05b,
	Acmid = {1094834},
	Address = {New York, NY, USA},
	Author = {Hauswirth, Matthias and Diwan, Amer and Sweeney, Peter F. and Mozer, Michael C.},
	Booktitle = {Proceedings of the 20th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications},
	Doi = {10.1145/1094811.1094834},
	Isbn = {1-59593-031-0},
	Keywords = {hardware performance monitors, perturbation, software performance monitors, vertical profiling, whole-system analysis},
	Location = {San Diego, CA, USA},
	Numpages = {16},
	Pages = {281--296},
	Publisher = {ACM},
	Series = {OOPSLA '05},
	Title = {Automating vertical profiling},
	Url = {http://doi.acm.org/10.1145/1094811.1094834},
	Year = {2005},
	Bdsk-Url-1 = {http://doi.acm.org/10.1145/1094811.1094834},
	Bdsk-Url-2 = {http://dx.doi.org/10.1145/1094811.1094834}}

@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{Haya10a,
author={Hayashi, S. and Sekine, K. and Saeki, M.},
booktitle={Software Maintenance (ICSM), 2010 IEEE International Conference on},
title={iFL: An interactive environment for understanding feature implementations},
year={2010},
pages={1-5},
doi={10.1109/ICSM.2010.5609669},
ISSN={1063-6773},
month=sep}

@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},
	Booktitle = {HotSWUp},
	Title = {State Transfer for Clear and Efficient Runtime Updates},
	Year = {2011}}

@misc{Hayd12a,
	Acmid = {2384635},
	Address = {New York, NY, USA},
	Author = {Hayden, Christopher M. and Smith, Edward K. and Denchev, Michail and Hicks, Michael and Foster, Jeffrey S.},
	Booktitle = {Proceedings of the ACM international conference on Object oriented programming systems languages and applications},
	Doi = {10.1145/2384616.2384635},
	Isbn = {978-1-4503-1561-6},
	Keywords = {dynamic software updating},
	Location = {Tucson, Arizona, USA},
	Numpages = {16},
	Pages = {249--264},
	Publisher = {ACM},
	Series = {OOPSLA '12},
	Title = {Kitsune: efficient, general-purpose dynamic software updating for C},
	Url = {http://doi.acm.org/10.1145/2384616.2384635},
	Year = {2012},
	Bdsk-Url-1 = {http://doi.acm.org/10.1145/2384616.2384635},
	Bdsk-Url-2 = {http://dx.doi.org/10.1145/2384616.2384635}}

@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{Haye05a,
  title={Maintainability prediction: a regression analysis of measures of evolving systems},
  author={Hayes, Jane Huffman and Zhao, Liming},
  booktitle={21st IEEE International Conference on Software Maintenance (ICSM'05)},
  pages={601--604},
  year={2005},
  organization={IEEE}
}

@inproceedings{Hayn84a,
	Address = {New York, NY, USA},
	Author = {Haynes, Christopher T. and Friedman, Daniel P. and Wand, Mitchell},
	Booktitle = {LFP '84: Proceedings of the 1984 ACM Symposium on LISP and functional programming},
	Doi = {10.1145/800055.802046},
	Isbn = {0-89791-142-3},
	Location = {Austin, Texas, United States},
	Pages = {293--298},
	Publisher = {ACM},
	Title = {Continuations and coroutines},
	Year = {1984},
	Bdsk-Url-1 = {http://dx.doi.org/10.1145/800055.802046}}

@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}}

@book{Hayw09a,
	title={Domain-driven design using naked objects},
	author={Haywood, Dan},
	year={2009},
	publisher={Pragmatic Bookshelf}
}

@inproceedings{Hazh18a,
	Author    = {Mohammadreza Hazhirpasand and Mohammad Ghafari},
	abstract = {WebRTC provides browsers and mobile apps with rich realtime
communications capabilities, without the need for further software
components. Recently, however, it has been shown that WebRTC can
be triggered to fingerprint a web visitor, which may compromise the
user's privacy. We evaluate the feasibility of exploiting a WebRTC IP
leak to scan a user's private network ports and IP addresses from outside
their local network. We propose a web-based network scanner that
is both browser- and network-independent, and performs nearly as well
as system-based scanners. We experiment with various popular mobile
and desktop browsers on several platforms and show that adversaries
not only can exploit WebRTC to identify the real user identity behind a
web request, but also can retrieve sensitive information about the user's
network infrastructure. We discuss the potential security and privacy
consequences of this issue and present a browser extension that we developed
to inform the user about the prospect of suspicious activities. },
	location = {Paris, France},
	Keywords = {scg-pub security snf-asa2 scg18 jb18},
	DOI = {10.1007/978-3-319-94496-8_5},
	Peerreview = {yes},
	Medium = {2},
	Booktitle = {International Symposium on Engineering Secure Software and Systems (ESSoS 2018)},
    Annote    = {internationalconference},
	Url = {http://scg.unibe.ch/archive/papers/Hazh18a.pdf},
	Title = {One Leak is Enough to Expose Them All --- From a {WebRTC} {IP} Leak to Web-based Network Scanning},
	Pages = {61--76},
	Year = {2018}
}

@inproceedings{Hazh18b,
 author = {Mohammadreza Hazhirpasand},
 title = {MHEye: A Hybrid Android Security Assessment Tool for Ordinary Users},
 abstract = {Android users are often overwhelmed by security
    issues arising in the apps they use. Although malware
    analysis tools exist, they are challenging to
    adopt for average users. To avoid burdening mobile
    devices with complex and computationally
    expensive malware tools, we propose a hybrid approach
    that combines static and dynamic analyses,
    and distributes the analysis mainly on another device
    than the phone. We first review the Android
    architecture and several of the key security issues
    it faces, and we summarize existing approaches to
    malware detection. We conclude with a research
    plan to explore and develop a more user-friendly
    approach to malware detection for ordinary users. },
 booktitle = {SATTOSE},
 Annote = {internationalworkshop},
 PeerReview = {yes},
 Medium = {1},
 Keywords = {scg-pub skip-doi snf-asa2 scg18 jb18},
 series = {SATToSE '18},
 publisher={SATToSE},
 year = {2018},
 Url = {http://scg.unibe.ch/archive/papers/Hazh18b.pdf}
}

@inproceedings{Hazh19a,
	author={M. {Hazhirpasand} and M. {Ghafari} and S. {Kr\"{u}ger} and E. {Bodden} and O. {Nierstrasz}},
	booktitle={2019 ACM/IEEE International Symposium on Empirical Software Engineering and Measurement (ESEM)},
	title={The Impact of Developer Experience in Using {Java} Cryptography},
	year={2019},
	pages={1-6},
	abstract={Background: Previous research has shown that crypto APIs are
		hard for developers to understand and difficult for them to use. They
		consequently rely on unvalidated boilerplate code from online resources
		where security vulnerabilities are common.Aims and method: We analyzed
		2,324 open-source Java projects that rely on Java Cryptography
		Architecture (JCA) to understand how crypto APIs are used in practice, and
		what factors account for the performance of developers in using these
		APIs.Results: We found that, in general, the experience of developers in
		using JCA does not correlate with their performance. In particular, none
		of the factors such as the number or frequency of committed lines of code,
		the number of JCA APIs developers use, or the number of projects they are
		involved in correlate with developer performance in this
		domain.Conclusions: We call for qualitative studies to shed light on the
		reasons underlying the success of developers who are expert in using
		cryptography. Also, detailed investigation at API level is necessary to
		further clarify a developer obstacles in this domain.},
	doi={10.1109/ESEM.2019.8870184},
	ISSN={1949-3770},
	month={sep},
	Keywords = {scg-pub security snf-asa3 scg19 jb19},
	Peerreview = {yes},
	Medium = {2},
    Annote = {internationalconference},
	Url = {http://scg.unibe.ch/archive/papers/Hazh19aJCA-Impact.pdf}
}

@inproceedings{Hazh20a,
	author={Mohammadreza Hazhirpasand and Mohammad Ghafari and Oscar Nierstrasz},
	booktitle={27th edition of the IEEE International Conference on Software Analysis, Evolution and Reengineering (SANER)},
	title={{CryptoExplorer}: An Interactive Web Platform Supporting Secure Use of Cryptography {APIs}},
	year={2020},
	Annote    = {internationalconference},
	PeerReview = {yes},
	Medium = {2},
	abstract={Research has shown that cryptographic APIs are hard to use.
		Consequently, developers resort to using code examples available in
		online information sources that are often not secure. We have
		developed a web platform, named CryptoExplorer, stocked with
		numerous real-world secure and insecure examples that developers
		can explore to learn how to use cryptographic APIs properly. This
		platform currently provides 3 263 secure uses, and 5 897 insecure
		uses of Java Cryptography Architecture mined from 2 324 Java
		projects on GitHub. A preliminary study shows that CryptoExplorer
		provides developers with secure crypto API use examples instantly,
		developers can save time compared to searching on the internet for
		such examples, and they learn to avoid using certain algorithms in
		APIs by studying misused API examples. We have a pipeline to
		regularly mine more projects, and, on request, we offer our dataset
		to researchers.},
	keywords={scg-pub security snf-asa3 scg20 jb20 snf-imad},
	doi = {10.1109/SANER48275.2020.9054799},
	pages={632--636},
	month=mar,
	Url={http://scg.unibe.ch/archive/papers/Hazh20a.pdf}
}

@inproceedings{Hazh20b,
author = {Hazhirpasand, Mohammadreza and Ghafari, Mohammad and Nierstrasz, Oscar},
title = {Tricking {Johnny} into Granting Web Permissions},
PeerReview = {yes},
abstract={We studied the web permission API dialog box in popular mobile and desktop
	browsers, and found that it typically lacks measures to protect users
	from unwittingly granting web permission when clicking too fast. We
	developed a game that exploits this issue, and tricks users into granting
	webcam permission. We conducted three experiments, each with 40 different
	participants, on both desktop and mobile browsers. The results indicate
	that in the absence of a prevention mechanism, we achieve a considerably
	high success rate in tricking 95\% and 72\% of participants on mobile and
	desktop browsers, respectively. Interestingly, we also tricked 47\% of
	participants on a desktop browser where a prevention mechanism exists.},
year = {2020},
isbn = {9781450377317},
publisher = {Association for Computing Machinery},
address = {New York, NY, USA},
doi = {10.1145/3383219.3383248},
booktitle = {Proceedings of the Evaluation and Assessment in Software Engineering},
pages = {276--281},
numpages = {6},
keywords = {scg-pub security snf-asa3 scg20 jb20 snf-imad},
location = {Trondheim, Norway},
series = {EASE 2020},
Medium = {2},
Url={http://scg.unibe.ch/archive/papers/Hazh20b.pdf}
}

@inproceedings{Hazh20c,
	author={Hazhirpasand, Mohammadreza and Ghafari, Mohammad and Nierstrasz, Oscar},
	booktitle={Proceedings of the 14th ACM / IEEE International Symposium on Empirical Software Engineering and Measurement (ESEM)},
	title={Java Cryptography Uses in the Wild},
	year={2020},
	annote={internationalconference},
	peerreview={yes},
	medium={2},
	doi={10.1145/3382494.3422166},
	abstract={[Background] Previous research has shown that developers commonly misuse cryptography APIs. [Aim] We have conducted an exploratory study to find out how crypto APIs are used in open-source Java projects, what types of misuses exist, and why developers make such mistakes. [Method] We used a static analysis tool to analyze hundreds of open-source Java projects that rely on Java Cryptography Architecture, and manually inspected half of the analysis results to assess the tool results. We also contacted the maintainers of these projects by creating an issue on the GitHub repository of each project, and discussed the misuses with developers. [Results] We learned that 85\% of Cryptography APIs are misused, however, not every misuse has severe consequences. Developer feedback showed that security caveats in the documentation of crypto APIs are rare, developers may overlook misuses that originate in third-party code, and the context where a Crypto API is used should be taken into account. [Conclusion] We conclude that using Crypto APIs is still problematic for developers but blindly blaming them for such misuses may lead to erroneous conclusions.},
	numpages={6},
	keywords={scg-pub security snf-asa3 scg20 jb21 snf-imad},
	Url={http://scg.unibe.ch/archive/papers/Hazh20c.pdf}
}

@inproceedings{Hazh21a,
	author={Hazhirpasand, Mohammadreza and Ale Ebrahim, Arash and Nierstrasz, Oscar},
	booktitle={Proceedings of the 7th International Conference on Information Systems Security and Privacy - ICISSP},
	title={Stopping {DNS} Rebinding Attacks in the Browser},
	year={2021},
	annote={internationalconference},
	peerreview={yes},
	medium={2},
	doi={10.5220/0010310705960603},
	abstract={DNS rebinding attacks circumvent the same-origin policy of browsers and severely jeopardize user privacy. Although recent studies have shown that DNS rebinding attacks pose severe security threats to users, up to now little effort has been spent to assess the effectiveness of known solutions to prevent such attacks. We have carried out such a study to assess the protective measures proposed in prior studies. We found that none of the recommended techniques can entirely halt this attack due to various factors, e.g., network layer encryption renders packet inspection infeasible. Examining the previous problematic factors, we realize that a protective measure must be implemented at the browser-level. Therefore, we propose a defensive measure, a browser plug-in called Fail-rebind, that can detect, inform, and protect users in the event of an attack. Afterwards, we discuss the merits and limitations of our method compared to prior methods. Our findings suggest that Fail-rebind does not nec essitate expert knowledge, works on different OSes and smart devices, and is independent of networks and location.},
	numpages={8},
	keywords={scg-pub security snf-asa3 scg21 jb21 snf-imad},
	Url={http://scg.unibe.ch/archive/papers/Hazh21a.pdf}
}

@article{He14a,
	title = {A bidirectional-transformation-based framework for software visualization and visual editing},
	author = {He, Xiao and Hu, ChangJun and Ma, ZhiYi and Shao, WeiZhong},
	journal = {Science China Information Sciences},
	volume = {57},
	number = {5},
	pages = {1--23},
	year = {2014},
	publisher = {Springer}}

@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}}

@inproceedings{Hech15a,
author={G. Hecht and R. Rouvoy and N. Moha and L. Duchien},
booktitle={2015 2nd ACM International Conference on Mobile Software Engineering and Systems},
title={Detecting Antipatterns in {Android} Apps},
year={2015},
pages={148-149},
keywords={Android (operating system);mobile computing;object-oriented methods;software maintenance;software performance evaluation;software quality;Android application;Google Play Store;PAPRIKA approach;application refactoring;automatic antipattern detection;complex software systems;execution contexts;mobile application binaries;object-oriented-Android- specific antipattern detection;software evolution;software maintenance;software performance;software quality;user requirements;Androids;Humanoid robots;Java;Measurement;Mobile applications;Mobile communication;Software},
doi={10.1109/MobileSoft.2015.38},
month=may}

@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{Heck08a,
 author = {Heckman, Sarah and Williams, Laurie},
 title = {On Establishing a Benchmark for Evaluating Static Analysis Alert Prioritization and Classification Techniques},
 booktitle = {Proceedings of the Second ACM-IEEE International Symposium on Empirical Software Engineering and Measurement},
 series = {ESEM '08},
 year = {2008},
 isbn = {978-1-59593-971-5},
 location = {Kaiserslautern, Germany},
 pages = {41--50},
 numpages = {10},
 url = {http://doi.acm.org/10.1145/1414004.1414013},
 doi = {10.1145/1414004.1414013},
 acmid = {1414013},
 publisher = {ACM},
 address = {New York, NY, USA},
 keywords = {alert classification, alert prioritization, automated static analysis, benchmark creation, false positive mitigation}
}

@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}}

@article{Heer89,
	Acmid = {71607},
	Address = {New York, NY, USA},
	Author = {Heering, J. and Hendriks, P. R. H. and Klint, P. and Rekers, J.},
	Doi = {10.1145/71605.71607},
	Issn = {0362-1340},
	Issue_Date = {Nov. 1989},
	Journal = {SIGPLAN Not.},
	Month = nov,
	Number = {11},
	Numpages = {33},
	Pages = {43--75},
	Publisher = {ACM},
	Title = {The syntax definition formalism {SDF} -- reference manual--},
	Url = {http://doi.acm.org/10.1145/71605.71607},
	Volume = {24},
	Year = {1989},
	Bdsk-Url-1 = {http://doi.acm.org/10.1145/71605.71607},
	Bdsk-Url-2 = {http://dx.doi.org/10.1145/71605.71607}}

@inproceedings{Hegd08a,
	Acmid = {1642955},
	Address = {Washington, DC, USA},
	Author = {Hegde, R. and Dewan, P.},
	Booktitle = {Proceedings of the 2008 23rd IEEE/ACM International Conference on Automated Software Engineering},
	Doi = {10.1109/ASE.2008.28},
	Isbn = {978-1-4244-2187-9},
	Keywords = {program element, stand-alone programming environment, ad-hoc collaboration-centered design, user-interface, distributed developer, team member},
	Numpages = {10},
	Pages = {178--187},
	Publisher = {IEEE Computer Society},
	Series = {ASE '08},
	Title = {Connecting Programming Environments to Support Ad-Hoc Collaboration},
	Url = {http://dx.doi.org/10.1109/ASE.2008.28},
	Year = {2008},
	Bdsk-Url-1 = {http://dx.doi.org/10.1109/ASE.2008.28}}

@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}}

@article{Heil91a,
	title = {An efficient recognizer for the Boolean closure of context-free languages},
	journal = {Theoretical Computer Science},
	volume = {80},
	number = {1},
	pages = {53 - 75},
	year = {1991},
	issn = {0304-3975},
	doi = {10.1016/0304-3975(91)90205-G},
	url = {http://www.sciencedirect.com/science/article/pii/030439759190205G},
	author = {Stephan Heilbrunner and Lothar Schmitz},
	abstract = {The hci-grammars defined here generate the Boolean closure of the context-free languages. The improved Graham-Harrison-Ruzzo version of Earley's recognition algorithm is adapted to this grammar class and the resulting algorithm is proven correct.}
}

@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}}

@inproceedings{Hein14a,
 author = {Heinemann, Lars and Hummel, Benjamin and Steidl, Daniela},
 title = {Teamscale: Software Quality Control in Real-time},
 booktitle = {Companion Proceedings of the 36th International Conference on Software Engineering},
 series = {ICSE Companion 2014},
 year = {2014},
 isbn = {978-1-4503-2768-8},
 location = {Hyderabad, India},
 pages = {592--595},
 numpages = {4},
 url = {http://doi.acm.org/10.1145/2591062.2591068},
 doi = {10.1145/2591062.2591068},
 acmid = {2591068},
 publisher = {ACM},
 address = {New York, NY, USA},
 keywords = {Quality control, incremental, real-time, static analysis}
}

@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 scg-none 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 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{Held07a,
	title = {Scenario Explorer: Interactive Visualization of Use Cases},
	author = {Heldal, Rogardt and Samuelsson, Jenny and Sundin, Ola},
	booktitle = {Program Comprehension, 2007. ICPC'07. 15th IEEE International Conference on},
	pages = {241--252},
	year = {2007},
	organization = {IEEE}}

@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}}

@inproceedings{Hell17a,
 author = {Hellendoorn, Vincent J. and Devanbu, Premkumar},
 title = {Are Deep Neural Networks the Best Choice for Modeling Source Code?},
 booktitle = {Proceedings of the 2017 11th Joint Meeting on Foundations of Software Engineering},
 series = {ESEC/FSE 2017},
 year = {2017},
 isbn = {978-1-4503-5105-8},
 location = {Paderborn, Germany},
 pages = {763--773},
 numpages = {11},
 url = {http://doi.acm.org/10.1145/3106237.3106290},
 doi = {10.1145/3106237.3106290},
 acmid = {3106290},
 publisher = {ACM},
 address = {New York, NY, USA},
 keywords = {language models, naturalness, software tools}
}

@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}}

@article{Helm98a,
	Author = {Helman, David R. and Bader, David A. and J\'{a}j\'{a}, Joseph},
	Doi = {10.1006/jpdc.1998.1462},
	Issn = {07437315},
	Journal = {Journal of Parallel and Distributed Computing},
	Month = jul,
	Number = {1},
	Pages = {1--23},
	Title = {A Randomized Parallel Sorting Algorithm with an Experimental Study},
	Volume = {52},
	Year = {1998},
	Bdsk-Url-1 = {http://dx.doi.org/10.1006/jpdc.1998.1462}}

@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}}

@article{Henn94a,
  title={Using iterative refinement to find reusable software},
  author={Henninger, Scott},
  journal={IEEE software},
  volume={11},
  number={5},
  pages={48--59},
  year={1994},
  publisher={IEEE}
}

@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,
	Abstract = {The story behind this once-promising distributed
				  computing technology-why it fell short, and what we
				  can learn from it.},
	Author = {Henning, Michi},
	Doi = {10.1145/1378704.1378718},
	Journal = {ACM Queue},
	Keywords = {damiencbib architecture corba orb soa},
	Number = {5},
	Title = {{The Rise and Fall of CORBA}},
	Volume = {4},
	Year = {2006},
	Bdsk-Url-1 = {http://dx.doi.org/10.1145/1378704.1378718}}

@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,
	Address = {London, UK},
	Author = {Henricksen, Karen and Indulska, Jadwiga and Rakotonirainy, Andry},
	Booktitle = {Pervasive'02: Proceedings of the 1st International Conference on Pervasive Computing},
	Doi = {10.1007/3-540-45866-2_14},
	Isbn = {3-540-44060-7},
	Keywords = {damiencbib telephony ubiquitous},
	Month = aug,
	Pages = {167--180},
	Publisher = {Springer-Verlag},
	Title = {Modeling Context Information in Pervasive Computing Systems},
	Year = {2002},
	Bdsk-Url-1 = {http://dx.doi.org/10.1007/3-540-45866-2_14}}

@inproceedings{Henr02b,
	Abstract = {This paper describes and analyzes a series of strategies to migrate data-intensive applications
				from a legacy data management system to a modern DMS. Considering two ways to migrate the data and
				three ways to propagate the corresponding perturbation to the program code, the paper identifies six
				reference strategies that provide different levels of quality and induce different costs. Three of
				them are discussed in detail and illustrated by the conversion of COBOL files into a SQL database.},
	Author = {Henrard, J. and Hick, J.-M. and Thiran, P. and Hainaut, J.-L.},
	Booktitle = {Reverse Engineering, 2002. Proceedings. Ninth Working Conference on},
	Doi = {10.1109/WCRE.2002.1173079},
	Issn = {1095-1350},
	Keywords = {COBOL file conversion; DBMS; SQL database; costs; data reengineering strategies; data-intensive application migration; legacy data management system; perturbation propagation; program code; quality; COBOL; SQL; relational databases; systems re-engineering;},
	Pages = {211 - 220},
	Title = {Strategies for data reengineering},
	Year = {2002},
	Bdsk-Url-1 = {http://dx.doi.org/10.1109/WCRE.2002.1173079}}

@inproceedings{Henr04a,
	Address = {Washington, DC, USA},
	Author = {Henricksen, Karen and Indulska, Jadwiga},
	Booktitle = {PerCom'04: Proceedings of the 2nd International Conference on Pervasive Computing and Communications},
	Doi = {10.1109/PERCOM.2004.1276847},
	Keywords = {damiencbib},
	Pages = {77--86},
	Publisher = {IEEE Computer Society},
	Title = {A software engineering framework for context-aware pervasive computing},
	Year = {2004},
	Bdsk-Url-1 = {http://dx.doi.org/10.1109/PERCOM.2004.1276847}}

@article{Henr05,
	Author = {Henriques, P. R. and Pereira, M. J. V. and Mernik, M. and Lenic, M. and Gray, J. and Wu, H.},
	Booktitle = {Software, IEE Proceedings -},
	Doi = {10.1049/ip-sen:20041317},
	Journal = {Software, IEE Proceedings -},
	Keywords = {attribute\_grammars, grammars, lisa},
	Number = {2},
	Pages = {54--69},
	Posted-At = {2008-12-11 13:49:51},
	Priority = {2},
	Title = {{Automatic generation of language-based tools using the LISA system}},
	Url = {http://dx.doi.org/10.1049/ip-sen:20041317},
	Volume = {152},
	Year = {2005},
	Bdsk-Url-1 = {http://dx.doi.org/10.1049/ip-sen:20041317}}

@inproceedings{Henr07a,
	Abstract = {This paper presents an experience report on the migration of a COBOL system of
				over 2 million lines of code. The main goal of this project was to migrate a legacy
				CODA-SYL database towards a relational platform, while preserving the functionalities
				of the legacy application programs.},
	Author = {Henrard, J. and Roland, D. and Cleve, A. and Hainaut, J.-L.},
	Booktitle = {Software Maintenance, 2007. ICSM 2007. IEEE International Conference on},
	Doi = {10.1109/ICSM.2007.4362661},
	Issn = {1063-6773},
	Keywords = {COBOL system;legacy CODA-SYL database;legacy data-intensive system migration;COBOL;relational databases;software maintenance;},
	Month = oct,
	Pages = {473 -476},
	Title = {An Industrial Experience Report on Legacy Data-Intensive System Migration},
	Year = {2007},
	Bdsk-Url-1 = {http://dx.doi.org/10.1109/ICSM.2007.4362661}}

@incollection{Henr13a,
	Author = {St\'ephane Ducasse and Dale Henrichs and Mariano Martinez Peck and Alexandre Bergel and Damien Cassou and Jannik Laval},
	Booktitle = {Deep Into Pharo},
	Isbn = {978-3-9523341-6-4},
	Keywords = {Smalltalk, Pharo, Object-Oriented Programming, Live Programming},
	Month = sep,
	Pages = 42,
	Publisher = {Square Bracket Associates},
	Title = {Managing Projects with Metacello},
	Year = {2013}}

@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{Herb95a,
	Acmid = {1461773},
	Address = {Hillsdale, NJ, USA},
	Author = {Herbsleb, James D. and Klein, Helen and Olson, Gary M. and Brunner, Hans and Olson, Judith S. and Harding, Joe},
	Doi = {10.1207/s15327051hci1002\&3_4},
	Issn = {0737-0024},
	Issue = {2},
	Journal = {Hum.-Comput. Interact.},
	Month = sep,
	Numpages = {44},
	Pages = {249--292},
	Publisher = {L. Erlbaum Associates Inc.},
	Title = {Object-oriented analysis and design in software project teams},
	Volume = {10},
	Year = {1995},
	Bdsk-Url-1 = {http://dx.doi.org/10.1207/s15327051hci1002%5C&3_4}}

@inproceedings{Herb13a,
 author = {Herbold, Steffen},
 title = {Training Data Selection for Cross-project Defect Prediction},
 booktitle = {Proceedings of the 9th International Conference on Predictive Models in Software Engineering},
 series = {PROMISE '13},
 year = {2013},
 isbn = {978-1-4503-2016-0},
 location = {Baltimore, Maryland},
 pages = {6:1--6:10},
 articleno = {6},
 numpages = {10},
 url = {http://doi.acm.org/10.1145/2499393.2499395},
 doi = {10.1145/2499393.2499395},
 acmid = {2499395},
 publisher = {ACM},
 address = {New York, NY, USA},
 keywords = {cross-project prediction, defect-prediction, machine learning}
}

@inproceedings{Herh13a,
 author = {Herhut, Stephan and Hudson, Richard L. and Shpeisman, Tatiana and Sreeram, Jaswanth},
 title = {River Trail: A Path to Parallelism in JavaScript},
 booktitle = {Proceedings of the 2013 ACM SIGPLAN International Conference on Object Oriented Programming Systems Languages \&\#38; Applications},
 series = {OOPSLA '13},
 year = {2013},
 isbn = {978-1-4503-2374-1},
 location = {Indianapolis, Indiana, USA},
 pages = {729--744},
 numpages = {16},
 url = {http://doi.acm.org/10.1145/2509136.2509516},
 doi = {10.1145/2509136.2509516},
 acmid = {2509516},
 publisher = {ACM},
 address = {New York, NY, USA},
 keywords = {javascript, parallelism}
}

@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 scg-none 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,
	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.},
	Author = {Herman, I and Melancon, G and Marshall, M S},
	Journal = {IEEE Transactions on Visualization and Computer Graphics},
	Number = {1},
	Pages = {24-43},
	Publisher = {IEEE Educational Activities Department},
	Title = {Graph visualization and navigation in information visualization: A survey},
	Url = {http://ieeexplore.ieee.org/lpdocs/epic03/wrapper.htm?arnumber=841119},
	Volume = {6},
	Year = {2000},
	Bdsk-Url-1 = {http://ieeexplore.ieee.org/lpdocs/epic03/wrapper.htm?arnumber=841119}}

@inproceedings{Herm00c,
  title={Feature selection for support vector machines},
  author={Hermes, Lothar and Buhmann, Joachim M},
  booktitle={Pattern Recognition, 2000. Proceedings. 15th International Conference on},
  volume={2},
  pages={712--715},
  year={2000},
  organization={IEEE}
}

@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}}

@inproceedings{Herm11a,
	Acmid = {2050723},
	Address = {Berlin, Heidelberg},
	Author = {Hermann, Frank and Ehrig, Hartmut and Orejas, Fernando and Czarnecki, Krzysztof and Diskin, Zinovy and Xiong, Yingfei},
	Booktitle = {Proceedings of the 14th international conference on Model driven engineering languages and systems},
	Date-Added = {2012-04-12 10:10:56 +0200},
	Date-Modified = {2012-04-12 10:11:15 +0200},
	Isbn = {978-3-642-24484-1},
	Keywords = {bidirectional model transformation, correctness, model synchronization, triple graph grammars},
	Location = {Wellington, New Zealand},
	Numpages = {15},
	Pages = {668--682},
	Publisher = {Springer-Verlag},
	Series = {MODELS'11},
	Title = {Correctness of model synchronization based on triple graph grammars},
	Url = {http://dl.acm.org/citation.cfm?id=2050655.2050723},
	Year = {2011},
	Bdsk-Url-1 = {http://dl.acm.org/citation.cfm?id=2050655.2050723}}

@inproceedings{Herm12a,
	Author = {Frank Hermann and Hartmut Ehrig and Claudia Ermel and Fernando Orejas},
	Bibsource = {DBLP, http://dblp.uni-trier.de},
	Booktitle = {FASE},
	Date-Added = {2012-03-30 14:20:42 +0200},
	Date-Modified = {2012-04-05 15:03:12 +0200},
	Ee = {http://dx.doi.org/10.1007/978-3-642-28872-2_13},
	Keywords = {model-transformation; bx},
	Pages = {178-193},
	Title = {Concurrent Model Synchronization with Conflict Resolution Based on Triple Graph Grammars},
	Year = {2012}}

@book{Herm12b,
	Author = {David Herman},
	Isbn = {9780132902250},
	Publisher = {Pearson Education},
	Series = {Effective Software Development Series},
	Title = {Effective {JavaScript}: 68 Specific Ways to Harness the Power of {JavaScript}},
	Url = {http://books.google.ch/books?id=nBuA0hmspdMC},
	Year = {2012},
	Bdsk-Url-1 = {http://books.google.ch/books?id=nBuA0hmspdMC}}

@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}}

@article{Hern14a,
  title={Hierarchical graph maps for visualization of collaborative recommender systems},
  author={Hernando, Antonio and Moya, Ricardo and Ortega, Fernando and Bobadilla, Jes{\'u}s},
  journal={Journal of Information Science},
  volume={40},
  number={1},
  pages={97--106},
  year={2014},
  publisher={Sage Publications Sage UK: London, England},
  doi={10.1177/0165551513507407},
  keywords = {hypergraphs, hierarchical graph maps}
}

@inproceedings{Hero13a,
	author={Herold, S. and Mair, M. and Rausch, A. and Schindler, I.},
	booktitle={Enterprise Distributed Object Computing Conference (EDOC), 2013 17th IEEE International},
	title={Checking Conformance with Reference Architectures: A Case Study},
	year={2013},
	pages={71-80},
	doi={10.1109/EDOC.2013.17},
	ISSN={1541-7719},
	month=sep}

@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},
	Institution = {Technical University Berlin},
	Keywords = {type-system},
	Title = {Translation polymorphism in Object Teams},
	Year = {2004}}

@article{Herr07a,
	Acmid = {1412405},
	Address = {Amsterdam, The Netherlands, The Netherlands},
	Author = {Herrmann, Stephan},
	Date-Added = {2013-05-02 13:19:00 +0000},
	Date-Modified = {2013-05-02 13:19:21 +0000},
	Issn = {1570-5838},
	Issue_Date = {April 2007},
	Journal = {Appl. Ontol.},
	Keywords = {role; context-oriented; AOP},
	Month = apr,
	Number = {2},
	Numpages = {27},
	Pages = {181--207},
	Publisher = {IOS Press},
	Title = {A precise model for contextual roles: The programming language ObjectTeams/Java},
	Url = {http://dl.acm.org/citation.cfm?id=1412401.1412405},
	Volume = {2},
	Year = {2007},
	Bdsk-Url-1 = {http://dl.acm.org/citation.cfm?id=1412401.1412405}}

@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}}

@inproceedings{Herr10a,
	Acmid = {1930001},
	Address = {New York, NY, USA},
	Articleno = {2},
	Author = {Herrmann, Stephan},
	Booktitle = {Proceedings of the 4th Workshop on MechAnisms for SPEcialization, Generalization and inHerItance},
	Date-Added = {2013-04-17 12:29:23 +0000},
	Date-Modified = {2013-04-17 12:31:22 +0000},
	Doi = {10.1145/1929999.1930001},
	Isbn = {978-1-4503-0535-8},
	Keywords = {context-oriented; role; aliasing; identity},
	Location = {Maribor, Slovenia},
	Numpages = {5},
	Pages = {2:1--2:5},
	Publisher = {ACM},
	Rating = {4},
	Series = {MASPEGHI '10},
	Title = {Demystifying object schizophrenia},
	Url = {http://doi.acm.org/10.1145/1929999.1930001},
	Year = {2010},
	Bdsk-Url-1 = {http://doi.acm.org/10.1145/1929999.1930001},
	Bdsk-Url-2 = {http://dx.doi.org/10.1145/1929999.1930001}}

@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,
	Acmid = {1561632},
	Address = {Berlin, Heidelberg},
	Author = {Hert, Matthias},
	Booktitle = {Proceedings of the 6th European Semantic Web Conference on The Semantic Web: Research and Applications},
	Doi = {10.1007/978-3-642-02121-3_84},
	Isbn = {978-3-642-02120-6},
	Location = {Heraklion, Crete, Greece},
	Numpages = {5},
	Pages = {929--933},
	Publisher = {Springer-Verlag},
	Series = {ESWC 2009 Heraklion},
	Title = {Relational Databases as Semantic Web Endpoints},
	Year = {2009},
	Bdsk-Url-1 = {http://dx.doi.org/10.1007/978-3-642-02121-3_84}}

@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},
	Doi = {10.3217/jucs-016-02-0221},
	Journal = {Journal of Universal Computer Science},
	Number = {2},
	Pages = {221--245},
	Title = {An Extensible Interpreter Framework for Software Transactional Memory},
	Url = {http://www.jucs.org/jucs_16_2/an_extensible_interpreter_framework},
	Volume = {16},
	Year = {2010},
	Bdsk-Url-1 = {http://www.jucs.org/jucs_16_2/an_extensible_interpreter_framework},
	Bdsk-Url-2 = {http://dx.doi.org/10.3217/jucs-016-02-0221}}

@inproceedings{Herz13a,
  title={It's not a bug, it's a feature: how misclassification impacts bug prediction},
  author={Herzig, Kim and Just, Sascha and Zeller, Andreas},
  booktitle={Proceedings of the 2013 International Conference on Software Engineering},
  pages={392--401},
  year={2013},
  organization={IEEE Press}
}

@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}}

@techreport{Hess19a,
	Title = {Pervasive Visualization in Immersive Augmented Reality for Software Performance Monitoring},
	Author = {Mario Hess},
	Abstract = {Developers are usually unaware of the impact of code changes to the
		performance of software systems. Although developers can analyze
		the performance of a system by executing, for instance, a
		performance test to compare the performance of two consecutive
		versions of the system, changing from a programming task to a
		testing task would disrupt the development flow. Most performance
		visualization tools provide the user with a detailed view, which
		can be overwhelming and cause a high cognitive load. In this
		thesis, we propose the use of a city visualization that dynamically
		provides developers a pervasive view of the continuous performance
		of a system and lessens the cognitive load required to monitor it.
		We use an immersive augmented reality device (Microsoft HoloLens)
		to display our visualization and extend the integrated development
		environment on a computer screen to use the physical space. We
		report on technical details of the design and implementation of our
		visualization tool. Our effort explores a new visual metaphor to
		support the exploration and analysis of possibly very large and
		multidimensional performance data. Our initial result indicates
		that the city metaphor can be effectually employed to analyze
		dynamic performance data on a large and non-trivial software
		system. Additionally, we conducted an initial user study with ten
		participants, comparing performance and user experience in
		immersive augmented reality to that with a standard computer
		screen, and we report on the results. We asked participants to
		complete a set of ten tasks inspired by questions that arise from
		performance issues. To measure performance, we collected
		correctness, completion time and recollection of users. We measured
		user experience by collecting emotions that participants
		experienced during experiments, and we also measured perceived
		cognitive load. We observe that participants achieve comparable
		performance in immersive augmented reality and with a computer
		screen. We found that developers felt: (i) interested, (ii) open
		but also (iii) confused and (iv) angry when working in immersive
		augmented reality while achieving comparable performance to working
		with a standard computer screen.},
	Institution = {University of Bern},
	Keywords = {scg-bp snf-asa3 scg19 jb19},
	Type = {Bachelor's thesis},
	Url = {http://scg.unibe.ch/archive/projects/Hess19a.pdf},
	Month = feb,
	Year = {2019}
}

@techreport{Hess21a,
	Title = {Generating automatically class comments in {Pharo}},
	Author = {Lino Hess},
	Abstract = {Code comments play a vital role in the development,
		comprehension and maintenance of code-bases as shown by
		many works before. Developers use code comments to explain
		various types of information such as rationale, examples,
		future tasks, usage of a class or method and many more. In
		Pharo, a Smalltalk based environment, code comments
		comprise up to 15\% of the code. They are the main form of
		code documentation in Pharo. However, developers find
		writing code comments a tedious and boring, or even hard
		task. Therefore, code often lacks comments and makes the
		code hard to understand and follow. Previous works have
		proposed to automatically generate comments to reduce the
		commenting efforts and to support developers. Automatically
		generating comments helps developers spend less time on
		writing code comments and writing uniform code comments.
		One of the more popular approaches to generate comments
		automatically is based on stereotypes. A stereotype is a
		generalized idea or set of characteristics believed to
		represent an object or person. In software development
		class or method stereotypes are often used to classify the
		functionality of the methods or classes in broad strokes.
		We choose a similar stereotype-based approach for Pharo
		code comments. Our work adapts heuristics of similar works,
		to allow us to generate method and class stereotypes for
		classes in Pharo. With this in mind we created a tool that
		lets us generate class comments automatically based on
		these class stereotypes. We illustrate our approach with
		the help of a running example in Pharo. Using the tool we
		created, we discovered that a total of roughly 32\% of
		methods are accessor methods, 27\% are declared as
		collaborator methods and about 15\% of methods are declared
		as degenerate methods in the Pharo base image. In relation
		to this we discovered that majority (41\%) of the classes
		are Data Provider classes, 22\% are Boundary classes
		followed by Degenerate (8\%) and Large (7\%) classes. A
		number of developers evaluated the generated output of our
		tool, and determined that our automatically generated class
		comments are are understandable and readable, the
		information is adequate, and the majority of comments do
		not contain unnecessary information.},
	Institution = {University of Bern},
	Keywords = {scg-bp snf-asa3 scg21 jb21},
	Type = {Bachelor's thesis},
	Url = {http://scg.unibe.ch/archive/projects/Hess21a.pdf},
	Month = jul,
	Year = {2021}
}

@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}}

@inproceedings{Hewi73a,
 author = {Hewitt, Carl and Bishop, Peter and Steiger, Richard},
 title = {A Universal Modular ACTOR Formalism for Artificial Intelligence},
 booktitle = {Proceedings of the 3rd International Joint Conference on Artificial Intelligence},
 series = {IJCAI'73},
 year = {1973},
 location = {Stanford, USA},
 pages = {235--245},
 numpages = {11},
 url = {http://dl.acm.org/citation.cfm?id=1624775.1624804},
 acmid = {1624804},
 publisher = {Morgan Kaufmann Publishers Inc.},
 address = {San Francisco, CA, USA}
}

@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},
	Doi = {10.1016/j.patcog.2005.01.003},
	Journal = {Pattern Recognition},
	Number = {9},
	Pages = {1332--1348},
	Title = {A bibliographical study of grammatical inference.},
	Url = {http://users.dsic.upv.es/asignaturas/facultad/apr/delaHiguera05.pdf},
	Volume = {38},
	Year = {2005},
	Bdsk-Url-1 = {http://users.dsic.upv.es/asignaturas/facultad/apr/delaHiguera05.pdf},
	Bdsk-Url-2 = {http://dx.doi.org/10.1016/j.patcog.2005.01.003}}

@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{Hill98a,
	Acmid = {288425},
	Address = {New York, NY, USA},
	Author = {Hilliard, Rich and Rice, Tim},
	Booktitle = {Proceedings of the Third International Workshop on Software Architecture},
	Doi = {10.1145/288408.288425},
	Isbn = {1-58113-081-3},
	Location = {Orlando, Florida, USA},
	Numpages = {4},
	Pages = {65--68},
	Publisher = {ACM},
	Series = {ISAW '98},
	Title = {Expressiveness in Architecture Description Languages},
	Url = {http://doi.acm.org/10.1145/288408.288425},
	Year = {1998},
	Bdsk-Url-1 = {http://doi.acm.org/10.1145/288408.288425},
	Bdsk-Url-2 = {http://dx.doi.org/10.1145/288408.288425}}

@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{Hill07a,
	 author = {Hill, Emily and Pollock, Lori and Vijay-Shanker, K.},
	 title = {Exploring the Neighborhood with Dora to Expedite Software Maintenance},
	 booktitle = {Proceedings of the Twenty-second IEEE/ACM International Conference on Automated Software Engineering},
	 series = {ASE '07},
	 year = {2007},
	 isbn = {978-1-59593-882-4},
	 location = {Atlanta, Georgia, USA},
	 pages = {14--23},
	 numpages = {10},
	 url = {http://doi.acm.org/10.1145/1321631.1321637},
	 doi = {10.1145/1321631.1321637},
	 acmid = {1321637},
	 publisher = {ACM},
	 address = {New York, NY, USA},
	 keywords = {natural language program analysis, program exploration, software maintenance, software tools}
	}

@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},
	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}}

@book{Hill10a,
	Address = {Birmingham, UK, UK},
	Author = {Hillar, Gastn},
	Isbn = {9780470495995},
	Publisher = {Wrox Press Ltd.},
	Title = {Professional Parallel Programming with C\#: Master Parallel Extensions with .{NET} 4},
	Year = {2010}}

@inproceedings{Hill12a,
 author = {Hills, Mark and Klint, Paul and Vinju, Jurgen J.},
 title = {Scripting a Refactoring with Rascal and Eclipse},
 booktitle = {Proceedings of the Fifth Workshop on Refactoring Tools},
 series = {WRT '12},
 year = {2012},
 isbn = {978-1-4503-1500-5},
 location = {Rapperswil, Switzerland},
 pages = {40--49},
 numpages = {10},
 url = {http://doi.acm.org/10.1145/2328876.2328882},
 doi = {10.1145/2328876.2328882},
 acmid = {2328882},
 publisher = {ACM},
 address = {New York, NY, USA},
 keywords = {design patterns, meta-programming, program transformation, refactoring scripts, refactoring tools}
}

@article{Hill14a,
author={Hill, Emily and Binkley, David and Lawrie, Dawn and Pollock, Lori and Vijay-Shanker, K.},
title={An empirical study of identifier splitting techniques},
journal={Empirical Software Engineering},
year={2014},
volume={19},
number={6},
pages={1754--1780},
doi={10.1007/s10664-013-9261-0},
url={http://dx.doi.org/10.1007/s10664-013-9261-0}
}

@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,
	Acmid = {325519},
	Address = {New York, NY, USA},
	Author = {Hind, Michael and Burke, Michael and Carini, Paul and Choi, Jong-Deok},
	Doi = {10.1145/325478.325519},
	Issn = {0164-0925},
	Issue = {4},
	Journal = {ACM Trans. Program. Lang. Syst.},
	Keywords = {interprocedural analysis, pointer aliasing, program analysis},
	Month = jul,
	Numpages = {47},
	Pages = {848--894},
	Publisher = {ACM},
	Title = {Interprocedural pointer alias analysis},
	Volume = {21},
	Year = {1999},
	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},
	Url = {http://swag.uwaterloo.ca/~ahindle/pubs/hindle08icpc.pdf},
	Year = {2008},
	Bdsk-Url-1 = {http://dx.doi.org/10.1109/ICPC.2008.13}}

@inproceedings{Hind08b,
  title={What do large commits tell us?: a taxonomical study of large commits},
  author={Hindle, Abram and German, Daniel M and Holt, Ric},
  booktitle={Proceedings of the 2008 international working conference on Mining software repositories},
  pages={99--108},
  year={2008},
  organization={ACM}
}

@inproceedings{Hind12a,
  title={Green mining: investigating power consumption across versions},
  author={Hindle, Abram},
  booktitle={Software Engineering (ICSE), 2012 34th International Conference on},
  pages={1301--1304},
  year={2012},
  organization={IEEE}
}

@inproceedings{Hind14a,
 author = {Hindle, Abram and Wilson, Alex and Rasmussen, Kent and Barlow, E. Jed and Campbell, Joshua Charles and Romansky, Stephen},
 title = {GreenMiner: A Hardware Based Mining Software Repositories Software Energy Consumption Framework},
 booktitle = {Proceedings of the 11th Working Conference on Mining Software Repositories},
 series = {MSR 2014},
 year = {2014},
 isbn = {978-1-4503-2863-0},
 location = {Hyderabad, India},
 pages = {12--21},
 numpages = {10},
 url = {http://doi.acm.org/10.1145/2597073.2597097},
 doi = {10.1145/2597073.2597097},
 acmid = {2597097},
 publisher = {ACM},
 address = {New York, NY, USA},
 keywords = {Android, Software Change, Software Energy Consumption}
}

@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{Hira11a,
  title={Do comments explain codes adequately? investigation by text filtering},
  author={Hirata, Yukinao and Mizuno, Osamu},
  booktitle={Proceedings of the 8th Working Conference on Mining Software Repositories},
  pages={242--245},
  year={2011}
}

@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},
	Doi = {10.1007/3-540-36557-5_17},
	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},
	Bdsk-Url-1 = {http://dx.doi.org/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}}

@inproceedings{Hirs06a,
	Author = {Robert Hirschfeld and Pascal Costanza},
	Booktitle = {Proceedings of the AOSD Workshop on Open and Dynamic Aspect Languages (ODAL)},
	Date-Added = {2006-12-19 21:15:59 +0100},
	Date-Modified = {2006-12-19 21:26:31 +0100},
	Title = {Extending Advice Activation in {AspectS}},
	Url = {http://www.aosd.net/workshops/oal/2006/},
	Year = {2006},
	Bdsk-Url-1 = {http://www.aosd.net/workshops/oal/2006/}}

@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 = {Hirschfeld, Robert and Costanza, Pascal and Nierstrasz, Oscar},
	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},
	Doi = {10.5381/jot.2008.7.3.a4},
	Journal = {Journal of Object Technology},
	Keywords = {cop-lit cop layer 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},
	url = {http://www.jot.fm/issues/issue_2008_03/article4.pdf},
	url2 = {http://www.jot.fm/contents/issue_2008_03/article4.html},
	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}}

@incollection{Hirs08b,
	Acmid = {1462629},
	Address = {Berlin, Heidelberg},
	Author = {Hirschfeld, Robert and Costanza, Pascal and Haupt, Michael},
	Booktitle = {Generative and Transformational Techniques in Software Engineering II},
	Doi = {10.1007/978-3-540-88643-3_9},
	Editor = {L\"{a}mmel, Ralf and Visser, Joost and Saraiva, Jo\~{a}o},
	Isbn = {978-3-540-88642-6},
	Numpages = {12},
	Pages = {396--407},
	Publisher = {Springer-Verlag},
	Title = {An Introduction to Context-Oriented Programming with ContextS},
	Url = {http://dx.doi.org/10.1007/978-3-540-88643-3_9},
	Year = {2008},
	Bdsk-Url-1 = {http://dx.doi.org/10.1007/978-3-540-88643-3_9}}

@inproceedings{Hirs11a,
	Acmid = {1960515},
	Address = {New York, NY, USA},
	Author = {Hirschfeld, Robert and Igarashi, Atsushi and Masuhara, Hidehiko},
	Booktitle = {Proceedings of the 10th international workshop on Foundations of aspect-oriented languages},
	Date-Added = {2013-05-01 08:37:00 +0000},
	Date-Modified = {2013-05-01 08:37:23 +0000},
	Doi = {10.1145/1960510.1960515},
	Isbn = {978-1-4503-0644-7},
	Keywords = {context-oriented; formal;},
	Location = {Porto de Galinhas, Brazil},
	Numpages = {5},
	Pages = {19--23},
	Publisher = {ACM},
	Series = {FOAL '11},
	Title = {ContextFJ: a minimal core calculus for context-oriented programming},
	Url = {http://doi.acm.org/10.1145/1960510.1960515},
	Year = {2011},
	Bdsk-Url-1 = {http://doi.acm.org/10.1145/1960510.1960515},
	Bdsk-Url-2 = {http://dx.doi.org/10.1145/1960510.1960515}}

@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,
	Acmid = {1268262},
	Address = {Berkeley, CA, USA},
	Author = {Hj\'{a}lmt\'{y}sson, G\'{\i}sli and Gray, Robert},
	Booktitle = {Proceedings of the annual conference on USENIX Annual Technical Conference},
	Location = {New Orleans, Louisiana},
	Numpages = {1},
	Pages = {6--6},
	Publisher = {USENIX Association},
	Series = {ATEC '98},
	Title = {Dynamic {C++} classes: a lightweight mechanism to update code in a running program},
	Url = {http://portal.acm.org/citation.cfm?id=1268256.1268262},
	Year = {1998},
	Bdsk-Url-1 = {http://portal.acm.org/citation.cfm?id=1268256.1268262}}

@inproceedings{Hlop13a,
	Abstract = {
        Runtime Code Update is a technique to update a program while it
        is running. Such a feature is often used so the developer can modify an application
        without the necessity to restart the application and recover desired state
        after restart. This saves time and lowers costs. Furthermore, there are applications
        which cannot be stopped, such as air traffic control systems or telephone
        switches. Current virtual machines for Java programming language do not support
        non-trivial updates to the running code. We have modified STX:LIBJAVA - an
        implementation of Java virtual machine within Smalltalk/X - to support arbitrary
        changes to the running code. Beside changes to the fields and methods which are
        already supported by the tools such as JRebel or Javaleon, we also support unrestricted
        changes to the class and interface hierarchy. Our Runtime Code Updates
        scheme has been integrated into the Smalltalk/X IDE, thus providing interactive
        environment where a developer can modify a Java application while it is running.
   },
	Address = {Ostrava},
	Author = {Hlopko, Marcel and Kur\v{s}, Jan and Vrany, Jan},
	Booktitle = {{DATESO 2013}},
	Issn = {1613-0073},
	Language = {English},
	Pages = {13--25},
	Peerreview = {yes},
	Publisher = {Technical University of Ostrava},
	Title = {{Towards a Runtime Code Update in Java}},
	Url = {http://scg.unibe.ch/archive/papers/Hlop13a.pdf},
	Year = {2013},
	Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Hlop13a.pdf},
    Keywords = {kursjan}
}

@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}}

@article{Hoar09a,
  title={Null references: The billion dollar mistake},
  author={Hoare, Tony},
  journal={Presentation at QCon London},
  year={2009}
}

@article{Hoch97a,
  title={Long short-term memory},
  author={Hochreiter, Sepp and Schmidhuber, J{\"u}rgen},
  journal={Neural computation},
  volume={9},
  number={8},
  pages={1735--1780},
  year={1997},
  publisher={MIT Press}
}

@book{Hock88a,
 author = {Hockney, R. W. and Jesshope, C. R.},
 title = {Parallel Computers Two: Architecture, Programming and Algorithms},
 year = {1988},
 isbn = {0852748116},
 edition = {2nd},
 publisher = {IOP Publishing Ltd.},
 address = {Bristol, UK, UK}
}

@inproceedings{Hoel91a,
	Address = {Geneva, Switzerland},
	Author = {Urs H{\"o}lzle and Craig Chambers and David Ungar},
	Booktitle = {Proceedings ECOOP '91},
	Doi = {10.1007/BFb0057013},
	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},
	Bdsk-Url-1 = {http://dx.doi.org/10.1007/BFb0057013}}

@techreport{Hoel91b,
	Author = {Urs H{\"o}lzle},
	Institution = {Computer Science Department, Aarhus University},
	Title = {Why Static Typing is not Important for Efficiency},
	Type = {Technical Report},
	Url = {http://ojs.statsbiblioteket.dk/index.php/daimipb/article/viewFile/6587/5710},
	Year = {1991}}

@article{Hoel92,
	Acmid = {143114},
	Address = {New York, NY, USA},
	Author = {H\"{o}lzle, Urs and Chambers, Craig and Ungar, David},
	Doi = {10.1145/143103.143114},
	Issn = {0362-1340},
	Issue_Date = {July 1992},
	Journal = {SIGPLAN Not.},
	Month = jul,
	Number = {7},
	Numpages = {12},
	Pages = {32--43},
	Publisher = {ACM},
	Title = {Debugging Optimized Code with Dynamic Deoptimization},
	Url = {http://doi.acm.org/10.1145/143103.143114},
	Volume = {27},
	Year = {1992},
	Bdsk-Url-1 = {http://doi.acm.org/10.1145/143103.143114},
	Bdsk-Url-2 = {http://dx.doi.org/10.1145/143103.143114}}

@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}}

@article{Hoes00a,
	Author = {H\"{o}st, Martin and Regnell, Bj\"{o}rn and Wohlin, Claes},
	Doi = {10.1023/A:1026586415054},
	Issn = {1382-3256},
	Issue = {3},
	Journal = {Empirical Software Engineering},
	Keyword = {Computer Science},
	Pages = {201-214},
	Publisher = {Springer Netherlands},
	Title = {Using Students as Subjects --- A Comparative Study of Students and Professionals in Lead-Time Impact Assessment},
	Volume = {5},
	Year = {2000},
	Bdsk-Url-1 = {http://dx.doi.org/10.1023/A:1026586415054}}

@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{Hoes16a,
	Author = {Matthias H\"{o}schele and Andreas Zeller},
	Booktitle = {Proceedings of ASE 2016 (31st Conference on Automated Software Engineering)},
	Editor = {Debra Richardson and Martin Feather and Michael Goedicke},
	Month = sep,
	Note = {To appear},
	Publisher = {IEEE Computer Society Press},
	Title = {Mining Input Grammars from Dynamic Taints},
	Year = {2016},
	url = {https://www.st.cs.uni-saarland.de/models/autogram/ase2016-autogram.pdf}
}

@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 scg-none 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{Hoff10a,
  title={Online learning for latent dirichlet allocation},
  author={Hoffman, Matthew and Bach, Francis and Blei, David},
  journal={advances in neural information processing systems},
  volume={23},
  pages={856--864},
  year={2010}
}

@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 in a lambda-calculus with
				  subtyping is traditionally interpreted as a semantic
				  coercion function of type [[S]]->[[T]] that extracts
				  the ``T part'' of an element of S. If the subtyping
				  relation is restricted to covariant positions, this
				  interpretation may be enriched to include both the
				  coercion and an overwriting function put[S,T]:
				  [[S]]->[[T]]->[[S]] that updates the T part of an
				  element of S. We give a realizability model and a
				  sound equational theory. Though weaker than familiar
				  calculi of bounded quantification, the restricted
				  system retains sufficient power to model objects,
				  encapsulation, and message passing. Moreover,
				  inheritance may be implemented very
				  straightforwardly in this setting, using the put
				  functions arising from ordinary subtyping of records
				  in place of the more sophisticated systems of record
				  extension and update often used for this purpose.
				  The equational laws relating the behavior of
				  coercions and put functions can be used to prove
				  simple properties of the resulting classes in such a
				  way that proofs for superclasses are ``inherited''
				  by subclasses.},
	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 = {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}}

@inproceedings{Hofm11a,
	Acmid = {1926428},
	Address = {New York, NY, USA},
	Author = {Hofmann, Martin and Pierce, Benjamin and Wagner, Daniel},
	Booktitle = {Proceedings of the 38th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages},
	Date-Added = {2011-12-06 11:53:10 +0100},
	Date-Modified = {2011-12-06 11:54:33 +0100},
	Doi = {10.1145/1926385.1926428},
	Isbn = {978-1-4503-0490-0},
	Keywords = {view-update; bx},
	Location = {Austin, Texas, USA},
	Numpages = {14},
	Pages = {371--384},
	Publisher = {ACM},
	Series = {POPL '11},
	Title = {Symmetric lenses},
	Url = {10.1145/1926385.1926428},
	Year = {2011},
	Bdsk-Url-1 = {10.1145/1926385.1926428},
	Bdsk-Url-2 = {http://dx.doi.org/10.1145/1926385.1926428}}

@article{Hoga20a,
  title={Knowledge graphs},
  author={Hogan, Aidan and Blomqvist, Eva and Cochez, Michael and d'Amato, Claudia and de Melo, Gerard and Gutierrez, Claudio and Gayo, Jos{\'e} Emilio Labra and Kirrane, Sabrina and Neumaier, Sebastian and Polleres, Axel and others},
  journal={arXiv preprint arXiv:2003.02320},
  url = {https://arxiv.org/abs/2003.02320},
  keywords = {knowledge-graphs},
  year={2020}
 }

@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}}

@techreport{Hohl15a,
	Title = {Teamizer --- Developing a suitable schedule and poll platform for the sports club Unihockey Lohn},
	Author = {Andreas Hohler},
	Abstract = {It has come to our attention that the best
		known scheduling platform Doodle doesn't support
		scheduling in closed teams the way we would like it.
		Did you ever get annoyed by the fact, that some
		people never fill in a Doodle schedule or
		the proposed options don't fit their schedule? In
		this work we show how such a web application for
		scheduling in teams could be designed to meet our
		requirements. We describe a software project for a
		specific sports club called Unihockey Lohn which is
		interested in making scheduling easier for the
		members and the responsible. Our web application
		provides a simple platform for making polls and
		scheduling. It's based on closed teams with members,
		so people get notified when a new poll is created or
		a deadline is near.},
	Institution = {University of Bern},
	Keywords = {snf-none scg-bp snf-none scg15 jb16},
	Type = {Bachelor's thesis},
	Url = {http://scg.unibe.ch/archive/projects/Hohl15a.pdf},
	Month = dec,
	Year = {2015}
}

@mastersthesis{Hohl18a,
	Title = {Big Commit Analysis --- Towards an Infrastructure for Commit Analysis},
	Author = {Andreas Hohler},
	Abstract = {Developers commit changes to the code base of a certain project in
		order to, for instance, fix bugs, add features, or refactor the code.
		In empirical studies, researchers often need to link commits with
		issues in issue trackers to audit the purpose of code changes.
		Unfortunately, there exists no general-purpose tool that can fulfill
		this need for different studies. For instance, while in theory each
		commit should serve one purpose, in practice developers may include
		several goals in one commit. Also, issues in issue trackers are often
		miscategorized. We present BICO (BIg COmmit analyzer), a tool that
		links the source code management system with the issue tracker. BICO
		presents information in a navigable form in order to make it easier to
		analyze and reason about the evolution of a certain project. It takes
		advantage of the fact that developers include issue IDs in commit
		messages to link them together. BICO also provides dedicated analytics
		to detect big commits, i.e., multi-purpose and miscategorized commits,
		using statistical outlier detection. In an initial evaluation, we use
		BICO to analyze bug-fix commits in Apache Kafka, where our tool
		reports 9.6% of the bug-fixing commits as miscategorized or
		multi-purpose commits with a precision of 85%. This high precision
		demonstrates the applicability of the outlier detection method
		implemented in BICO. A further case study with Apache Storm shows that
		the precision of detecting multi-purpose commits can vary between
		projects. In addition, BICO also comes with a built-in metric suite
		extractor for calculating change metrics, source code metrics and
		defect counts.},
	Keywords = {scg-msc snf-asa2 scg18 jb18},
	School = {University of Bern},
	Type = {Masters thesis},
	Url = {http://scg.unibe.ch/archive/masters/Hohl18a.pdf},
	Month = jan,
	Year = {2018}
}

@inproceedings{Holk09a,
  title={Evaluating the dynamic behaviour of {P}ython applications},
  author={Holkner, Alex and Harland, James},
  booktitle={Proceedings of the Thirty-Second Australasian Conference on Computer Science-Volume 91},
  pages={19--28},
  year={2009},
  organization={Australian Computer Society, Inc.}}

@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,
	Acmid = {825654},
	Address = {Washington, DC, USA},
	Author = {Hollingsworth, J. K. and Niam, O. and Miller, B. P. and Xu, Zhichen and Goncalves, M. J. R. and Zheng, Ling},
	Booktitle = {Proceedings of the 1997 International Conference on Parallel Architectures and Compilation Techniques},
	Isbn = {0-8186-8090-3},
	Pages = {201--},
	Publisher = {IEEE Computer Society},
	Series = {PACT '97},
	Title = {{MDL}: A Language And Compiler For Dynamic Program Instrumentation},
	Url = {http://portal.acm.org/citation.cfm?id=522659.825654},
	Year = {1997},
	Bdsk-Url-1 = {http://portal.acm.org/citation.cfm?id=522659.825654}}

@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,
	Address = {Berlin, Heidelberg},
	Author = {Holleis, Paul and Schmidt, Albrecht},
	Booktitle = {Pervasive'08: Proceedings of the 6th International Conference on Pervasive Computing},
	Doi = {10.1007/978-3-540-79576-6_4},
	Keywords = {damiencbib pervasive},
	Pages = {56--74},
	Publisher = {Springer-Verlag},
	Series = {LNCS},
	Title = {MAKEIT: Integrate User Interaction Times in the Design Process of Mobile Applications},
	Volume = {5013},
	Year = {2008},
	Bdsk-Url-1 = {http://dx.doi.org/10.1007/978-3-540-79576-6_4}}

@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 = {Holmes, Reid and Murphy, Gail C.},
 	title = {Using Structural Context to Recommend Source Code Examples},
 	booktitle = {Proceedings of the 27th International Conference on Software Engineering},
 	series = {ICSE '05},
 	year = {2005},
 	isbn = {1-58113-963-2},
	location = {St. Louis, MO, USA},
	pages = {117--125},
 	numpages = {9},
 	url = {http://doi.acm.org/10.1145/1062455.1062491},
 	doi = {10.1145/1062455.1062491},
 	acmid = {1062491},
 	publisher = {ACM},
 	address = {New York, NY, USA},
 	keywords = {development environment framework, examples, recommender, software structure}
}

@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}}

@inproceedings{Holm09b,
  title={The end-to-end use of source code examples: An exploratory study},
  author={Holmes, Reid and Cottrell, Rylan and Walker, Robert J and Denzinger, Jorg},
  booktitle={2009 IEEE International Conference on Software Maintenance},
  pages={555--558},
  year={2009},
  organization={IEEE}
}

@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}}

@article{Holt06b,
	Author = {Holten, D.},
	Doi = {10.1109/TVCG.2006.147},
	Issn = {1077-2626},
	Journal = {Visualization and Computer Graphics, IEEE Transactions on},
	Month = sep,
	Number = {5},
	Pages = {741--748},
	Title = {Hierarchical Edge Bundles: Visualization of Adjacency Relations in Hierarchical Data},
	Volume = {12},
	Year = {2006},
	Bdsk-Url-1 = {http://dx.doi.org/10.1109/TVCG.2006.147}}

@inproceedings{Holt07a,
	Author = {Danny Holten and Bas Cornelissen and Jarke J. van Wijk},
	Booktitle = {Proceedings of Visualizing Software for Understanding and Analysis, 2007 (VISSOFT'07)},
	Doi = {10.1109/VISSOF.2007.4290699},
	Isbn = {1-4244-0600-5},
	Pages = {47 - 54},
	Publisher = {IEEE Computer Society},
	Title = {Trace Visualization Using Hierarchical Edge Bundles and Massive Sequence Views},
	Year = {2007},
	Bdsk-Url-1 = {http://dx.doi.org/10.1109/VISSOF.2007.4290699}}

@inproceedings{Holz91a,
	author={H{\"o}lzle, Urs and Chambers, Craig and Ungar, David},
	chapter={Optimizing dynamically-typed object-oriented languages with polymorphic inline caches},
	title={ECOOP'91 European Conference on Object-Oriented Programming: Geneva, Switzerland, July 15--19, 1991 Proceedings},
	year={1991},
	booktitle = {Proceedings of the European Conference on Object-Oriented Programming},
	publisher={Springer Berlin Heidelberg},
	address={Berlin, Heidelberg},
	pages={21--38},
	isbn={978-3-540-47537-8},
	doi={10.1007/BFb0057013},
	url={http://dx.doi.org/10.1007/BFb0057013}
}

@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{Holz94a,
	Acmid = {178478},
	Address = {New York, NY, USA},
	Author = {H\"{o}lzle, Urs and Ungar, David},
	Booktitle = {Proceedings of the ACM SIGPLAN 1994 Conference on Programming Language Design and Implementation},
	Doi = {10.1145/178243.178478},
	Isbn = {0-89791-662-X},
	Location = {Orlando, Florida, United States},
	Numpages = {11},
	Pages = {326--336},
	Publisher = {ACM},
	Series = {PLDI '94},
	Title = {Optimizing dynamically-dispatched calls with run-time type feedback},
	Year = {1994},
	Bdsk-Url-1 = {http://dx.doi.org/10.1145/178243.178478}}

@techreport{Holz94b,
 	author = {H\"{o}lzle, Urs},
 	title = {Adaptive Optimization for {SELF}: Reconciling High Performance with Exploratory Programming},
 	year = {1994},
 	source = {http://hoelzle.org/publications/urs-thesis.pdf},
 	institution = {Stanford University},
 	address = {Stanford, CA, USA}
}

@article{Holz95a,
 author = {H\"{o}lzle, Urs and Agesen, Ole},
 title = {Dynamic Versus Static Optimization Techniques for Object-oriented Languages},
 journal = {Theor. Pract. Object Syst.},
 issue_date = {Fall 1995},
 volume = {1},
 number = {3},
 month = dec,
 year = {1995},
 issn = {1074-3227},
 pages = {167--188},
 numpages = {22},
 url = {http://dl.acm.org/citation.cfm?id=230849.230852},
 acmid = {230852},
 publisher = {John Wiley \& Sons, Inc.},
 address = {New York, NY, USA}
}

@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,
	Address = {Boston, MA, USA},
	Author = {Holzmann, Gerard J.},
	Howpublished = {Hardcover},
	Isbn = {0321228626},
	Keywords = {checking model damiencbib},
	Publisher = {Addison-Wesley Professional},
	Title = {The {SPIN} Model Checker : Primer and Reference Manual},
	Url = {http://www.worldcat.org/isbn/0321228626},
	Year = {2003},
	Bdsk-Url-1 = {http://www.worldcat.org/isbn/0321228626}}

@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{Hong00a,
	Acmid = {369452},
	Address = {New York, NY, USA},
	Author = {Hong, Jang-Eui and Bae, Doo-Hwan},
	Issn = {0020-0255},
	Issue_Date = {Dec. 2000},
	Journal = {Inf. Sci.},
	Keywords = {hierarchical object-oriented Petri net, incremental analysis, requirement analysis, software modeling},
	Month = dec,
	Number = {1-4},
	Numpages = {34},
	Pages = {131--164},
	Publisher = {Elsevier Science Inc.},
	Title = {Software modeling and analysis using a hierarchical object-oriented Petri net},
	Url = {http://dl.acm.org/citation.cfm?id=369444.369452},
	Volume = {130},
	Year = {2000},
	Bdsk-Url-1 = {http://dl.acm.org/citation.cfm?id=369444.369452}}

@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{Hopc69a,
    author = {Hopcroft, John E. and Ullman, Jeffrey D.},
    title = {Formal Languages and Their Relation to Automata},
    year = {1969},
    publisher = {Addison-Wesley Longman Publishing Co., Inc.},
    address = {Boston, MA, USA}
}

@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}}

@article{Hopc01a,
	Acmid = {568455},
	Address = {New York, NY, USA},
	Author = {Hopcroft, John E. and Motwani, Rajeev and Ullman, Jeffrey D.},
	Doi = {10.1145/568438.568455},
	Issn = {0163-5700},
	Issue_Date = {March 2001},
	Journal = {SIGACT News},
	Month = mar,
	Number = {1},
	Numpages = {6},
	Pages = {60--65},
	Publisher = {ACM},
	Title = {Introduction to automata theory, languages, and computation, 2nd edition},
	Url = {http://doi.acm.org/10.1145/568438.568455},
	Volume = {32},
	Year = {2001},
	Bdsk-Url-1 = {http://doi.acm.org/10.1145/568438.568455},
	Bdsk-Url-2 = {http://dx.doi.org/10.1145/568438.568455}}

@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}}

@inproceedings{Hora12a,
Author = {Andre Hora and Nicolas Anquetil and St\'ephane Ducasse and Simon Allier},
booktitle={2012 28th IEEE International Conference on Software Maintenance (ICSM)},
title={Domain specific warnings: Are they any better?},
year={2012},
pages={441-450},
keywords={program debugging;software quality;code quality;coding standard violations;defect prevention;domain specific warnings;expert opinion;software bugs;source code;Computer bugs;Conferences;Encoding;History;Software maintenance;Standards},
doi={10.1109/ICSM.2012.6405305},
ISSN={1063-6773},
month=sep
}

@inproceedings{Hora14a,
	Abstract = {During software evolution, source code is constantly refactored. In real-world migrations, many methods in the newer version are not present in the old version (e.g., 60\% of the methods in Eclipse 2.0 were not in version 1.0). This requires changes to be consistently applied to reflect the new API and avoid further maintenance problems. In this paper, we propose a tool to extract rules by monitoring API changes applied in source code during system evolution. In this process, changes are mined at revision level in code history. Our tool focuses on mining invocation changes to keep track of how they are evolving. We also provide three case studies in order to evaluate the tool.},
	Aeres = {ACT},
	Annote = {internationalconference},
	Author = {Andre Hora and Anne Etien and Nicolas Anquetil and St\'ephane Ducasse and Marco T\'ulio Valente},
	Booktitle = {Proceedings of the Software Evolution Week (CSMR-WCRE'14)},
	Hal-Id = {hal-00991722},
	Keywords = {moose lse-pub cutter kzChecking},
	Misc = {acceptance rate: 27/86 = 31\%},
	Selectif = {oui},
	Tagnicolasa = {other analysis},
	Title = {{APIEvolutionMiner}: Keeping {API} Evolution under Control},
	Url = {http://rmod.inria.fr/archives/papers/Hora14a-CSMR-WCRE-APIEvolutionMiner.pdf},
	X-Country = {FR},
	X-Editorial-Board = {yes},
	X-International-Audience = {yes},
	X-Language = {EN},
	X-Proceedings = {yes},
  Year = {2014}}

@phdthesis{Hora14b,
	Abstract = {Software systems evolve by adding new features, fixing bugs or refactoring existing source code. During this process, some problems may occur (e.g., backward-incompatibility, missing or unclear method deprecation) causing evolving systems and their clients to be inconsistent or to fail, decreasing code quality. As nowadays software systems are frequently part of bigger ecosystems, such problems are even harder to handle because the impact may be large and unknown.One solution to deal with such maintainability problems is the usage of rules to ensure consistency. These rules may be created by experts or extracted from source code repositories, which are commonly evaluated in small-scale case studies. We argue that existing approaches lack of: (i) a deep understanding of the benefits provided by expert-based rules, (ii) a better use of source code repositories to extract history-based rules, and (iii) a large-scale analysis of the impact of source code evolution on the actual clients.In this thesis we propose to analyze and improve rules to better support developers keeping track of source code evolution. We cover three aspects. The benefits provided by expert-based rules: we report on an investigation of rules created based on expert opinion to understand whether they are worthwhile to be adopted given the cost to produce them. The improvement of history-based rules: we propose two solutions to extract better rules from source code history. The impact of source code evolution on a software ecosystem: we undergo an investigation, in a large-scale ecosystem, on the awareness of the client systems about source code evolution.We evaluated the proposed approaches qualitatively and quantitatively in real-world case studies, and, in many cases, with the help of experts on the system under analysis. The results we obtained demonstrate the usefulness of our approaches.},
	Author = {Andre Cavalcante Hora},
	Hal-Id = {tel-01087860},
	Keywords = {lse-pub},
	Month = {nov},
	School = {University Lille 1 - Sciences et Technologies - France},
	Title = {Assessing and Improving Rules to Support Software Evolution},
	Url = {http://rmod.inria.fr/archives/phd/PhD-2014-Hora.pdf},
  Year = {2014}}

@inproceedings{Hora15a,
	Author = {Andr\'e Hora and Romain Robbes and Nicolas Anquetil and Anne Etien and St\'ephane Ducasse and Marco T\'ulio Valente},
	Booktitle = {Proceedings of the 31st IEEE International Conference on Software Maintenance},
	Hal-Id = {hal-01185736},
	inriareport = {2015},
	Keywords = {lse-pub},
	Misc = {acceptance rate: 32/148 = 22\%},
	Selectif = {oui},
	Tagnicolasa = {other analysis},
	Title = {How Do Developers React to {API} Evolution? The {Pharo} Ecosystem Case},
	X-Country = {BR},
	X-Editorial-Board = {yes},
	X-International-Audience = {yes},
	X-Language = {EN},
	X-Proceedings = {yes},
	Year = {2015},
	annote = {topconference},
	aeres = {ACT},
	labo = {dans},
	inria = {RMOD},
  Url = {http://rmod.inria.fr/archives/papers/Hora15a-icsme-api-evolution.pdf}
}

@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}}

@inproceedings{Horn08a,
	Address = {Victoria BC Canada},
	Author = {David Van Horn Harry G. Mairson},
	Booktitle = {International Conference on Functional Programming},
	Keywords = {flow analysis complexity},
	Title = {Deciding kCFA is complete for EXPTIME},
	URL = {http://www.ccs.neu.edu/home/dvanhorn/pubs/vanhorn-mairson-icfp08.pdf},
	Year = {2008}}

@article{Horn13a,
 author = {Hornb{\ae}k, Kasper},
 title = {Some Whys and Hows of Experiments in Human--Computer Interaction},
 journal = {Found. Trends Hum.-Comput. Interact.},
 issue_date = {June 2013},
 volume = {5},
 number = {4},
 month = jun,
 year = {2013},
 issn = {1551-3955},
 pages = {299--373},
 numpages = {75},
 url = {http://dx.doi.org/10.1561/1100000043},
 doi = {10.1561/1100000043},
 acmid = {2688145},
 publisher = {Now Publishers Inc.},
 address = {Hanover, MA, USA}
}

@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}}

@article{Horv03a,
	Author = {Horvitz, H Robert},
	Journal = {Chembiochem A European Journal Of Chemical Biology},
	Number = {8},
	Pages = {697--711},
	Title = {Worms, life, and death (Nobel lecture).},
	Url = {http://www.ncbi.nlm.nih.gov/pubmed/15074544},
	Volume = {4},
	Year = {2003},
	Bdsk-Url-1 = {http://www.ncbi.nlm.nih.gov/pubmed/15074544}}

@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}}

@inproceedings{Horw88a,
	Acmid = {53994},
	Address = {New York, NY, USA},
	Author = {Horwitz, S. and Reps, T. and Binkley, D.},
	Booktitle = {Proceedings of the ACM SIGPLAN 1988 conference on Programming Language design and Implementation},
	Doi = {10.1145/53990.53994},
	Isbn = {0-89791-269-1},
	Location = {Atlanta, Georgia, United States},
	Numpages = {12},
	Pages = {35--46},
	Publisher = {ACM},
	Series = {PLDI '88},
	Title = {Interprocedural slicing using dependence graphs},
	Url = {http://doi.acm.org/10.1145/53990.53994},
	Year = {1988},
	Bdsk-Url-1 = {http://doi.acm.org/10.1145/53990.53994},
	Bdsk-Url-2 = {http://dx.doi.org/10.1145/53990.53994}}

@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{Horw90b,
	Acmid = {77608},
	Address = {New York, NY, USA},
	Author = {Susan Horwitz and Thomas Reps and David Binkley},
	Doi = {10.1145/77606.77608},
	Issn = {0164-0925},
	Issue_Date = {Jan. 1990},
	Journal = {ACM Trans. Program. Lang. Syst.},
	Month = jan,
	Number = {1},
	Numpages = {35},
	Pages = {26--60},
	Publisher = {ACM},
	Title = {Interprocedural slicing using dependence graphs},
	Url = {http://doi.acm.org/10.1145/77606.77608},
	Volume = {12},
	Year = {1990},
	Bdsk-Url-1 = {http://doi.acm.org/10.1145/77606.77608},
	Bdsk-Url-2 = {http://dx.doi.org/10.1145/77606.77608}}

@article{Horw91a,
	Author = {Susan Horwitz and Thomas Reps},
	Journal = {Acta Informatica},
	Pages = {713--732},
	Title = {Efficient comparison of program slices},
	Volume = {28},
	Year = {1991}}

@article{Horwi97a,
 author = {Horwitz Susan},
 title = {Precise Flow-insensitive May-alias Analysis is {NP}-hard},
 journal = {ACM Trans. Program. Lang. Syst.},
 issue_date = {Jan. 1997},
 volume = {19},
 number = {1},
 month = jan,
 year = {1997},
 issn = {0164-0925},
 pages = {1--6},
 numpages = {6},
 url = {http://doi.acm.org/10.1145/239912.239913},
 doi = {10.1145/239912.239913},
 acmid = {239913},
 publisher = {ACM}}

@inproceedings{Horwi02a,
	Acmid = {651959},
	Address = {London, UK, UK},
	Author = {Horwitz, Susan},
	Booktitle = {Proceedings of the 11th European Symposium on Programming Languages and Systems},
	Isbn = {3-540-43363-5},
	Numpages = {16},
	Pages = {162--177},
	Publisher = {Springer-Verlag},
	Series = {ESOP '02},
	Title = {Tool Support for Improving Test Coverage},
	Url = {http://portal.acm.org/citation.cfm?id=645396.651959},
	Year = {2002},
	Bdsk-Url-1 = {http://portal.acm.org/citation.cfm?id=645396.651959}}

@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}}

@inproceedings{Hoss15a,
  title={Configuring crowdsourcing for requirements elicitation},
  author={Hosseini, Mahmood and Shahri, Alimohammad and Phalp, Keith and Taylor, Jacqui and Ali, Raian and Dalpiaz, Fabiano},
  booktitle={Research Challenges in Information Science (RCIS), 2015 IEEE 9th International Conference on},
  pages={133--138},
  year={2015},
  organization={IEEE}
}

@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}}

@inproceedings{Hou05a,
 author = {Hou, Daqing and Wong, Kenny and Hoover, H. James},
 title = {What Can Programmer Questions Tell Us About Frameworks?},
 booktitle = {Proceedings of the 13th International Workshop on Program Comprehension},
 series = {IWPC '05},
 year = {2005},
 isbn = {0-7695-2254-8},
 pages = {87--96},
 numpages = {10},
 url = {http://dx.doi.org/10.1109/WPC.2005.47},
 doi = {10.1109/WPC.2005.47},
 acmid = {1059348},
 publisher = {IEEE Computer Society},
 keywords = {dev-questions},
 address = {Washington, DC, USA}
}

@inproceedings{Hou11a,
 author = {Hou, Daqing and Li, Lin},
 title = {Obstacles in Using Frameworks and {APIs}: An Exploratory Study of Programmers' Newsgroup Discussions},
 booktitle = {Proceedings of the 2011 IEEE 19th International Conference on Program Comprehension},
 series = {ICPC '11},
 year = {2011},
 isbn = {978-0-7695-4398-7},
 pages = {91--100},
 numpages = {10},
 url = {https://doi.org/10.1109/ICPC.2011.21},
 doi = {10.1109/ICPC.2011.21},
 acmid = {2057213},
 publisher = {IEEE Computer Society},
 address = {Washington, DC, USA},
 keywords = {Frameworks, APIs, Usability, Case Studies, AWT/Swing, dev-questions}}

@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}}

@inproceedings{Hove05a,
 author = {Hovemeyer, David and Spacco, Jaime and Pugh, William},
 title = {Evaluating and Tuning a Static Analysis to Find Null Pointer Bugs},
 booktitle = {Proceedings of the 6th ACM SIGPLAN-SIGSOFT Workshop on Program Analysis for Software Tools and Engineering},
 series = {PASTE '05},
 year = {2005},
 isbn = {1-59593-239-9},
 location = {Lisbon, Portugal},
 pages = {13--19},
 numpages = {7},
 url = {http://doi.acm.org/10.1145/1108792.1108798},
 doi = {10.1145/1108792.1108798},
 acmid = {1108798},
 publisher = {ACM},
 address = {New York, NY, USA},
 keywords = {static analysis, testing}
}

@inproceedings{Hove07a,
 author = {Hovemeyer, David and Pugh, William},
 title = {Finding More Null Pointer Bugs, but Not Too Many},
 booktitle = {Proceedings of the 7th ACM SIGPLAN-SIGSOFT Workshop on Program Analysis for Software Tools and Engineering},
 series = {PASTE '07},
 year = {2007},
 isbn = {978-1-59593-595-3},
 location = {San Diego, California, USA},
 pages = {9--14},
 numpages = {6},
 url = {http://doi.acm.org/10.1145/1251535.1251537},
 doi = {10.1145/1251535.1251537},
 acmid = {1251537},
 publisher = {ACM},
 address = {New York, NY, USA},
 keywords = {FindBugs, Java, bug patterns, bugs, null pointers, software quality, static analysis}
}

@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}}

@techreport{Hsu03a,
  title={A practical guide to support vector classification},
  institution = {Department of Computer Science, National Taiwan University},
  author={Hsu, Chih-Wei and Chang, Chih-Chung and Lin, Chih-Jen and others},
  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}}

@inproceedings{Hu17a,
 author = {Hu, Gang and Shao, Jie and Shen, Fumin and Huang, Zi and Shen, Heng Tao},
 title = {Unifying Multi-Source Social Media Data for Personalized Travel Route Planning},
 booktitle = {Proceedings of the 40th International ACM SIGIR Conference on Research and Development in Information Retrieval},
 series = {SIGIR '17},
 year = {2017},
 isbn = {978-1-4503-5022-8},
 location = {Shinjuku, Tokyo, Japan},
 pages = {893--896},
 numpages = {4},
 url = {http://doi.acm.org/10.1145/3077136.3080672},
 doi = {10.1145/3077136.3080672},
 acmid = {3080672},
 publisher = {ACM},
 address = {New York, NY, USA},
 keywords = {route planning, social media, topical package, user interest}}

@inproceedings{Hu18a,
author = {Hu, Jun and Qian, Shengsheng and Fang, Quan and Xu, Changsheng},
title = {Attentive Interactive Convolutional Matching for Community Question Answering in Social Multimedia},
year = {2018},
isbn = {9781450356657},
publisher = {Association for Computing Machinery},
address = {New York, NY, USA},
url = {https://doi.org/10.1145/3240508.3240626},
doi = {10.1145/3240508.3240626},
booktitle = {Proceedings of the 26th ACM International Conference on Multimedia},
pages = {456-464},
numpages = {9},
keywords = {attention, question-answering, social multimedia, multi-modal},
location = {Seoul, Republic of Korea},
series = {MM '18}
}

@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}}

@inproceedings{Huan12a,
	Acmid = {2384680},
	Address = {New York, NY, USA},
	Author = {Huang, Wei and Milanova, Ana and Dietl, Werner and Ernst, Michael D.},
	Booktitle = {Proceedings of the ACM International Conference on Object Oriented Programming Systems Languages and Applications},
	Doi = {10.1145/2384616.2384680},
	Isbn = {978-1-4503-1561-6},
	Keywords = {inference, method purity, reference immutability, type system},
	Location = {Tucson, Arizona, USA},
	Numpages = {18},
	Pages = {879--896},
	Publisher = {ACM},
	Series = {OOPSLA '12},
	Title = {Reim \&\#38; ReImInfer: Checking and Inference of Reference Immutability and Method Purity},
	Url = {http://doi.acm.org/10.1145/2384616.2384680},
	Year = {2012},
	Bdsk-Url-1 = {http://doi.acm.org/10.1145/2384616.2384680},
	Bdsk-Url-2 = {http://dx.doi.org/10.1145/2384616.2384680}}

@inproceedings{Huan13a,
 author = {Huang, Changyun and Kamei, Yasutaka and Yamashita, Kazuhiro and Ubayashi, Naoyasu},
 title = {Using Alloy to Support Feature-based DSL Construction for Mining Software Repositories},
 booktitle = {Proceedings of the 17th International Software Product Line Conference Co-located Workshops},
 series = {SPLC '13 Workshops},
 year = {2013},
 isbn = {978-1-4503-2325-3},
 location = {Tokyo, Japan},
 pages = {86--89},
 numpages = {4},
 url = {http://doi.acm.org/10.1145/2499777.2500714},
 doi = {10.1145/2499777.2500714},
 acmid = {2500714},
 publisher = {ACM},
 address = {New York, NY, USA},
 keywords = {DSL, FODA, SPL, mining software repositories}
}

@inproceedings{Huan14a,
 author = {Huang, Peng and Ma, Xiao and Shen, Dongcai and Zhou, Yuanyuan},
 title = {Performance Regression Testing Target Prioritization via Performance Risk Analysis},
 booktitle = {Proceedings of the 36th International Conference on Software Engineering},
 series = {ICSE 2014},
 year = {2014},
 isbn = {978-1-4503-2756-5},
 location = {Hyderabad, India},
 pages = {60--71},
 numpages = {12},
 url = {http://doi.acm.org/10.1145/2568225.2568232},
 doi = {10.1145/2568225.2568232},
 acmid = {2568232},
 publisher = {ACM},
 address = {New York, NY, USA},
 keywords = {Performance regression, cost modeling, performance risk analysis}
}

@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{Huda07a,
  title={A history of {Haskell}: being lazy with class},
  author={Hudak, Paul and Hughes, John and Peyton Jones, Simon and Wadler, Philip},
  booktitle={Proceedings of the third ACM SIGPLAN conference on History of programming languages},
  pages={12--1},
  year={2007},
  organization={ACM}
}

@inproceedings{Huds16a,
 author = {Hudson Borges and Andre Hora and Marco Tulio Valente},
 title = {Understanding the Factors that Impact the Popularity of {GitHub} Repositories},
 booktitle = {Proceedings of the 32nd IEEE International Conference on Software Maintenance and Evolution (ICSME)},
 year = {2016},
 pages = {334--344}
}

@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}}

@article{Huht99a,
	author = {Huhtala, Yk\"{a} and K\"{a}rkk\"{a}inen, Juha and Porkka, Pasi and Toivonen, Hannu},
	title = {Tane: An Efficient Algorithm for Discovering Functional and Approximate Dependencies},
	volume = {42},
	number = {2},
	pages = {100-111},
	year = {1999},
	doi = {10.1093/comjnl/42.2.100},
	abstract ={The discovery of functional dependencies from relations is an important database analysis technique. We present Tane, an efficient algorithm for finding functional dependencies from large databases. Tane is based on partitioning the set of rows with respect to their attribute values, which makes testing the validity of functional dependencies fast even for a large number of tuples. The use of partitions also makes the discovery of approximate functional dependencies easy and efficient and the erroneous or exceptional rows can be identified easily. Experiments show that Tane is fast in practice. For benchmark databases the running times are improved by several orders of magnitude over previously published results. The algorithm is also applicable to much larger datasets than the previous methods.},
	URL = {http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.24.3544&rep=rep1&type=pdf},
	journal = {The Computer Journal} ,
	keywords = {schema-inference, constraint discovery}
}

@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}}

@article{HuiW08a,
 author = {Wu, Hui and Gray, Jeff and Mernik, Marjan},
 title = {Grammar-driven Generation of Domain-specific Language Debuggers},
 journal = {Softw. Pract. Exper.},
 issue_date = {August 2008},
 volume = {38},
 number = {10},
 month = aug,
 year = {2008},
 issn = {0038-0644},
 pages = {1073--1103},
 numpages = {31},
 url = {http://dx.doi.org/10.1002/spe.v38:10},
 doi = {10.1002/spe.v38:10},
 acmid = {1394970},
 publisher = {John Wiley \& Sons, Inc.},
 address = {New York, NY, USA},
 keywords = {DSL, GPL, debugging, grammars, program environments-integrated environments}
}

@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{Hume14a,
    author = {Humer, Christian and Wimmer, Christian and Wirth, Christian and W\"{o}\ss, Andreas and W\"{u}rthinger, Thomas},
    title = {A Domain-specific Language for Building Self-optimizing {AST} Interpreters},
    journal = {SIGPLAN Not.},
    issue_date = {March 2015},
    volume = {50},
    number = {3},
    month = sep,
    year = {2014},
    issn = {0362-1340},
    pages = {123--132},
    numpages = {10},
    url = {http://doi.acm.org/10.1145/2775053.2658776},
    doi = {10.1145/2775053.2658776},
    acmid = {2658776},
    publisher = {ACM},
    address = {New York, NY, USA},
    keywords = {Java, domain-specific languages, dynamic languages, language implementation, self-optimizing programs}
}

@article{Humm08a,
	Abstract = {For many years, the IT industry has sought to accelerate the software development process by assembling new applications from existing software assets. However, true component-based reuse of the form Douglas Mcllroy envisaged in the 1960s is still the exception rather than the rule, and most of the systematic software reuse practiced today uses heavyweight approaches such as product-line engineering or domain-specific frameworks. By component, we mean any cohesive and compact unit of software functionality with a well-defined interface - from simple programming language classes to more complex artifacts such as Web services and Enterprise JavaBeans.},
	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}}

@inproceedings{Humm10a,
	Abstract = {Although numerous different clone detection approaches have been proposed to date, not a single one is both incremental and scalable to very large code bases. They thus cannot provide real-time cloning information for clone management of very large systems. We present a novel, index-based clone detection algorithm for type 1 and 2 clones that is both incremental and scalable. It enables a new generation of clone management tools that provide real-time cloning information for very large software. We report on several case studies that show both its suitability for real-time clone detection and its scalability: on 42 {MLOC} of Eclipse code, average time to retrieve all clones for a file was below 1 second; on 100 machines, detection of all clones in 73 {MLOC} was completed in 36 minutes.},
	Author = {Hummel, Benjamin and Juergens, Elmar and Heinemann, Lars and Conradt, Michael},
	Booktitle = {ICSM},
	Doi = {10.1109/ICSM.2010.5609665},
	Institution = {Tech. Univ. Munchen, M{\"u}nchen, Germany},
	Isbn = {978-1-4244-8630-4},
	Issn = {1063-6773},
	Pages = {1--9},
	Title = {Index-based code clone detection: incremental, distributed, scalable},
	Year = {2010},
	Bdsk-Url-1 = {http://dx.doi.org/10.1109/ICSM.2010.5609665}}

@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}}

@article{Hund02a,
	Abstract = {Algorithm visualization ({AV}) technology graphically illustrates how algorithms work. Despite the intuitive appeal of the technology, it has failed to catch on in mainstream computer science education. Some have attributed this failure to the mixed results of experimental studies designed to substantiate {AV} technology's educational effectiveness. However, while several integrative reviews of {AV} technology have appeared, none has focused specifically on the software's effectiveness by analyzing this body of experimental studies as a whole. In order to better understand the effectiveness of {AV} technology, we present a systematic meta-study of 24 experimental studies. We pursue two separate analyses: an analysis of independent variables , in which we tie each study to a particular guiding learning theory in an attempt to determine which guiding theory has had the most predictive success; and an analysis of dependent variables, which enables us to determine which measurement techniques have been most sensitive to the learning benefits of {AV} technology. Our most significant finding is that how students use {AV} technology has a greater impact on effectiveness than what {AV} technology shows them. Based on our findings, we formulate an agenda for future research into {AV} effectiveness.},
	Author = {Hundhausen, Christopher D. and Douglas, Sarah A. and Stasko, John T.},
	Doi = {10.1006/jvlc.2002.0237},
	Issn = {1045926X},
	Journal = {Journal of Visual Languages \& Computing},
	Keywords = {doodledebug},
	Month = jun,
	Number = {3},
	Pages = {259--290},
	Priority = {2},
	Title = {A {Meta-Study} of Algorithm Visualization Effectiveness},
	Volume = {13},
	Year = {2002},
	Bdsk-Url-1 = {http://dx.doi.org/10.1006/jvlc.2002.0237}}

@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}}

@article{Hunt00b,
  title={Programming ruby: The pragmatic programmer's guide},
  author={Hunt, Andy and Thomas, David},
  journal={New York: Addison-Wesley Professional. Abruf der deutschen {\"U}bersetzung am},
  volume={2},
  pages={2007},
  year={2000}
}

@book{Hunt03a,
	Author = {Andy Hunt and Dave Thomas},
	Keywords = {unit testing, xp p2lit},
	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{Huse02,
  title={Debugging parallel systems: A state of the art report},
  author={Huselius, Joel},
  journal={MRTC Report no},
  volume={63},
  year={2002}
}

@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 scg-none 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}}

@inproceedings{Hutc11a,
	Author = {Hutchinson, J. and Rouncefield, Mark and Whittle, J.},
	Booktitle = {Software Engineering (ICSE), 2011 33rd International Conference on},
	Doi = {10.1145/1985793.1985882},
	Issn = {0270-5257},
	Keywords = {management of change;manufacturing data processing;organisational aspects;software engineering;managerial factor;model-driven engineering practice;organizational change management;organizational commitment;organizational factor;organizational motivation;organizational process;social factor;software development;Companies;Computational modeling;Printers;Software;Software engineering;Unified modeling language;empirical evaluation;model driven engineering;software engineering},
	Pages = {633-642},
	Title = {Model-driven engineering practices in industry},
	Year = {2011},
	Bdsk-Url-1 = {http://dx.doi.org/10.1145/1985793.1985882}}

@article{Hutc14a,
title = {Model-driven engineering practices in industry: Social, organizational and managerial factors that lead to success or failure},
journal = {Science of Computer Programming},
volume = {89},
pages = {144 - 161},
year = {2014},
note = {Special issue on Success Stories in Model Driven Engineering},
issn = {0167-6423},
doi = {https://doi.org/10.1016/j.scico.2013.03.017},
url = {https://pdfs.semanticscholar.org/d2b0/962c549a5c4e3409e7242ee9b3db58a9d7d0.pdf},
author = {John Hutchinson and Jon Whittle and Mark Rouncefield},
keywords = {Model driven engineering, Empirical software engineering, Industry practice}
}

@book{Huth04a,
	Address = {Nottingham},
	Author = {Huth, Michael and Ryan, Mark},
	Edition = {second},
	Isbn = {9780521543101},
	Keywords = {olit design scglib uml damiencbib ltl},
	Publisher = {Cambridge},
	Title = {Logic in Computer Science: Modelling and Reasoning about Systems},
	Year = {2004}}

@article{Hutt92a,
	Author = {Graham Hutton},
	Journal = {Journal of Functional Programming},
	Number = {3},
	Pages = {323--343},
	Publisher = {Cambridge University Press},
	Title = {Higher-Order Functions for Parsing},
	Volume = {2},
	Year = {1992}}

@techreport{Hutt96a,
	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,
	Abstractnote = {Autonomic Computing White Paper June 2006 Fourth Edition Page 2. Page2 Contents 1. Introduction 3},
	Author = {IBM},
	Institution = {IBM},
	Number = {June},
	Publisher = {IBM Corp.},
	Title = {An architectural blueprint for autonomic computing.},
	Url = {http://users.encs.concordia.ca/~ac/ac-resources/AC_Blueprint_White_Paper_4th.pdf},
	Volume = {Fourth Edi},
	Year = {2006},
	Bdsk-Url-1 = {http://users.encs.concordia.ca/~ac/ac-resources/AC_Blueprint_White_Paper_4th.pdf}}

@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,
	Address = {Los Alamitos, CA, USA},
	Author = {IEEE},
	Keywords = {software engineering maintenance evolution damiencbib},
	Publisher = {IEEE Computer Society Press},
	Title = {{IEEE}-1219: {IEEE} Standard for Software Maintenance},
	Year = {1998}}

@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{IEEE08a,
	Abstract = {{POSIX}.1-2008 is simultaneously {IEEE} Std 1003.1 -2008 and The Open Group Technical Standard Base Specifications, Issue 7. {POSIX}. 1-2008 defines a standard operating system interface and environment, including a command interpreter (or "shell"), and common utility programs to support applications portability at the source code level. {POSIX}. 1-2008 is intended to be used by both application developers and system implementors and comprises four major components (each in an associated volume): [{1]General} terms, concepts, and interfaces common to all volumes of this standard, including utility conventions and C-language header definitions, are included in the Base Definitions volume. [2] Definitions for system service functions and subroutines, language-specific system services for the C programming language, function issues, including portability, error handling, and error recovery, are included in the System Interfaces volume. [3] Definitions for a standard source code-level interface to command interpretation services (a "shell") and common utility programs for application programs are included in the Shell and Utilities volume. [4] Extended rationale that did not fit well into the rest of the document structure, which contains historical information concerning the contents of {POSIX}. 1-2008 and why features were included or discarded by the standard developers, is included in the Rationale (Informative) volume. The following areas are outside the scope of {POSIX}. 1-2008: Graphics interfaces Database management system interfaces Record {I/O} considerations Object or binary code portability System configuration and resource availability. {POSIX}. 1-2008 describes the external characteristics and facilities that are of importance to application developers, rather than the internal construction techniques employed to achieve these capabilities. Special emphasis is placed on those functions and facilities that are needed in a wide variety of commercial applications.},
	Address = {San Francisco, CA},
	Author = {{POSIX.1-2008}},
	Day = {24},
	Doi = {10.1109/IEEESTD.2008.4694976},
	Editor = {Fox, Cathy},
	Howpublished = {Also published as IEEE Std 1003.1-2008},
	Isbn = {978-0-7381-5798-6},
	Month = jul,
	Number = {7},
	Publisher = {The Open Group},
	Title = {The Open Group Base Specifications},
	Year = {2008},
	Bdsk-Url-1 = {http://dx.doi.org/10.1109/IEEESTD.2008.4694976}}

@article{IEEE09a,
key={IEEE09a},
author={{The Open Group}},
journal={ISO/IEC/IEEE 9945:2009(E)},
title={International Standard---Information technology Portable Operating System Interface (POSIX)Base Specifications, Issue 7},
year={2009},
pages={1-3880},
keywords={C language;IEEE standards;Unix;software portability;software standards;utility programs;C language header definitions;IEEE Std 1003.1;POSIX. 1-2008;application developers;applications portability;base definitions volume;command interpreter;common utility programs;information technology;language specific system services;open group technical standard base specifications;portable operating system interface;source code level interface;system implementors;Data mining;IEEE standards;Information technology;Operating systems;1003.1-2008;CPU;FIFO;X/Open System Interface (XSI);application program interface (API);argument;asynchronous;basic regular expression (BRE);batch job;batch system;built-in utility;byte;child;command language interpreter;extended regular expression (ERE);file access control mechanism;input/output (I/O);job control;network;parent;portable operating system interface (POSIX);shell;stream;string;synchronous;system;thread},
doi={10.1109/IEEESTD.2009.5393893},
month=sep}

@misc{IO,
	Key = {IO},
	Note = {http://www.iolanguage.com/},
	Title = {IO Home Page}}

@misc{ISO9126,
	Key = {{ISO/IEC 9126-1}},
	Number = {{ISO/IEC 9126-1}},
	Publisher = {{ISO, Geneva, Switzerland}},
	Title = {{ISO/IEC 9126-1:2001 Software engineering -- Product quality}},
	Type = {{Norm}},
	Year = {{2001}}}

@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}}

@techreport{ISO96a,
	author = {ISO},
	Institution = {International Organization for Standardization},
	address = {Geneva, Switzerland},
	Title = {Information Technology -- Syntactic metalanguage -- {Extended} {BNF}},
	number = {14997},
	Type = {ISO},
	Year = {1996}
}

@article{ITin14a,
  author    = {I{-}Ting Liu and
               Bhiksha Ramakrishnan},
  title     = {Bach in 2014: Music Composition with Recurrent Neural Network},
  journal   = {CoRR},
  volume    = {abs/1412.3191},
  year      = {2014},
  url       = {http://arxiv.org/abs/1412.3191},
  archivePrefix = {arXiv},
  eprint    = {1412.3191},
  timestamp = {Wed, 07 Jun 2017 14:41:51 +0200},
  biburl    = {http://dblp.org/rec/bib/journals/corr/LiuR14a},
  bibsource = {dblp computer science bibliography, http://dblp.org}
}

@inproceedings{Iamm20a,
  author    = {Martina Iammarino and
               Lerina Aversano and
               Mario Luca Bernardi and
               Marta Cimitile},
  title     = {A Topic Modeling Approach To Evaluate The Comments Consistency To
               Source Code},
  booktitle = {2020 International Joint Conference on Neural Networks, {IJCNN} 2020,
               Glasgow, United Kingdom, July 19-24, 2020},
  pages     = {1--8},
  publisher = {{IEEE}},
  year      = {2020},
  url       = {https://doi.org/10.1109/IJCNN48605.2020.9207651},
  doi       = {10.1109/IJCNN48605.2020.9207651},
  keywords =  {comment-quality-slr},
  timestamp = {Tue, 06 Oct 2020 15:44:35 +0200},
  biburl    = {https://dblp.org/rec/conf/ijcnn/IammarinoABC20.bib},
  bibsource = {dblp computer science bibliography, https://dblp.org}
}

@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},
	Doi = {10.1145/319016.319050},
	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},
	Bdsk-Url-1 = {http://dx.doi.org/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}}

@article{Ibra12a,
  title={On the relationship between comment update practices and Software bugs},
  author={Ibrahim, Walid M and Bettenburg, Nicolas and Adams, Bram and Hassan, Ahmed E},
  journal={Journal of Systems and Software},
  volume={85},
  number={10},
  pages={2293--2304},
  year={2012},
  publisher={Elsevier}
}

@mastersthesis{Ibra15a,
	Abstract = {Nowadays the number of documents in the World Wide Web grows at extremely fast
	rate. Tools that can facilitate information retrieval (IR) present a particular
	interest in the modern world. We believe that considering meta information helps us
	to build enhanced search systems that can facilitate IR. Particularly, we target an
	IR task for scientific articles. We consider citations in scientific articles to be
	important text blocks summarizing or judging previous scientific findings, assisting
	in creating new scientific work. We propose CiteWise, a software system that
	automatically extracts, indexes and aggregates citations from collections of
	scientific articles in a PDF format. We evaluated the capabilities of CiteWise by
	conducting user evaluation experiments that compare it with alternative approaches.
	In the first set of experiments, we measured the efficiency of our system, i.e. how
	fast users can find relevant results in comparison with Google Scholar. We found
	that CiteWise performs equally well as Google Scholar. Secondly, we developed a
	citation aggregation feature to create automatic summaries of scientific articles
	and asked domain experts to evaluate summaries created by CiteWise and TextRank
	algorithms. We found that CiteWise outperforms TextRank algorithm in generating
	article summaries.},
	Author = {Aliya Ibragimova},
	Keywords = {scg-msc snf-none scg15 jb15},
	Month = jun,
	School = {University of Bern},
	Title = {{CiteWise} --- The Citation Search Engine},
	Type = {Masters thesis},
	Url = {http://scg.unibe.ch/archive/masters/Ibra15a.pdf},
	Year = {2015}
}

@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}}

@inproceedings{Imai15a,
	 author = {Imai, Tomoki and Masuhara, Hidehiko and Aotani, Tomoyuki},
	 title = {Making Live Programming Practical by Bridging the Gap Between Trial-and-error Development and Unit Testing},
	 booktitle = {Companion Proceedings of the 2015 ACM SIGPLAN International Conference on Systems, Programming, Languages and Applications: Software for Humanity},
	 series = {SPLASH Companion 2015},
	 year = {2015},
	 isbn = {978-1-4503-3722-9},
	 location = {Pittsburgh, PA, USA},
	 pages = {11--12},
	 numpages = {2},
	 url = {http://doi.acm.org/10.1145/2814189.2814193},
	 doi = {10.1145/2814189.2814193},
	 acmid = {2814193},
	 publisher = {ACM},
	 address = {New York, NY, USA},
	 keywords = {Debugging, Live Programming, Testing}
}

@misc{Imposter,
	Key = {Imposter},
	Note = {http://csoki.ki.iif.hu/$\sim$vitezg/impostor/},
	Title = {{Imposter}}}

@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}}

@techreport{Inde18a,
	Title = {Modular Exceptions --- A system for handling exceptions in a modular way},
	Author = {Patrick Inderm\"uhle},
	Abstract = {Exception handling is an integral part of programming. However, it
		is often not written in a way that makes it easily reusable. We
		have found exception handling code to often be copy pasted across
		multiple catch blocks instead of being made into a method. We also
		found that there are certain patterns across different methods when
		it comes to exception handling. That is why reusable exception
		handling would be a helpful feature for software development. By
		creating Modular Exceptions we offer a solution that enables
		programmers to easily apply and reuse exception handling to
		multiple methods. We achieved this by analyzing the knowledge
		gathered in previous research about exception handling and
		performing our own research of exception handling in Smalltalk. We
		then studied different implementation approaches such as
		dynamically rewriting the source code and method wrappers until we
		found the optimal approach. Our final product is written in Java
		and uses AspectJ in order to dynamically insert try-catch blocks
		into methods and to add exception handling into already existing
		catch blocks. These handler blocks are compatible with many methods
		and classes, and the user only has to write a few lines of code to
		get a specific method covered.},
	Institution = {University of Bern},
	Keywords = {scg-bp snf-none scg18 jb19},
	Type = {Bachelor's thesis},
	Url = {http://scg.unibe.ch/archive/projects/Inde18a.pdf},
	Month = sep,
	Year = {2018}
}

@inproceedings{Infa13a,
	Author = {Alejandro Infante and Juan Pablo Sandoval and Alexandre Bergel},
	Booktitle = {Proceedings of 8th International Workshop on Smalltalk Technologies (IWST'13)},
	Publisher = {ACM Digital Library},
	Title = {Identifying Equivalent Objects to Reduce Memory Consumption},
	Year = {2013}}

@inproceedings{Infa15a,
Author = {Alejandro Infante and Alexandre Bergel},
Booktitle = {Proceedings of the 22nd IEEE International Conference on Software Analysis, Evolution, and Reengineering (ERA Track)},
Title = {Efficiently Identifying Object Production Sites},
Year = {2015},
Month = mar
}

@inproceedings{Infa17a,
 author = {Infante, Alejandro and Bergel, Alexandre},
 title = {Object Equivalence: Revisiting Object Equality Profiling (an Experience Report)},
 booktitle = {Proceedings of the 13th ACM SIGPLAN International Symposium on on Dynamic Languages},
 series = {DLS 2017},
 year = {2017},
 isbn = {978-1-4503-5526-1},
 location = {Vancouver, BC, Canada},
 pages = {27--38},
 numpages = {12},
 url = {http://doi.acm.org/10.1145/3133841.3133844},
 doi = {10.1145/3133841.3133844},
 acmid = {3133844},
 publisher = {ACM},
 address = {New York, NY, USA},
 keywords = {cache, memory bloat, object equivalence, profiling}
}

@inproceedings{Infa18a,
    Annote = {internationalworkshop},
    Author = {Alejandro Infante and Alexandre Bergel},
    Booktitle = {IWST'18: Proceedings of International Workshop on Smalltalk Technologies},
    Peerreview = {yes},
    Title = {Experience in Bridging Keras for Python with Pharo},
    location = {Cagliari, Sardinia},
    Url = {http://bergel.eu/MyPapers/Infa18a-Keras.pdf},
    Year = {2018}
}

@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 = {Ingalls, Dan and Kaehler, Ted and Maloney, John and Wallace, Scott and Kay, Alan},
	Booktitle = {OOPSLA'97: Proceedings of the 12th International Conference on Object-Oriented Programming, Systems, Languages, and Applications},
	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{Inga08a,
  author    = {Daniel Ingalls and
               Krzysztof Palacz and
               Stephen Uhler and
               Antero Taivalsaari and
               Tommi Mikkonen},
  title     = {The {Lively Kernel} {A} Self-supporting System on a Web Page},
  booktitle = {Self-Sustaining Systems, First Workshop, {S3} 2008, Potsdam, Germany,
               May 15-16, 2008, Revised Selected Papers},
  pages     = {31--50},
  year      = {2008},
  url       = {http://dx.doi.org/10.1007/978-3-540-89275-5_2},
  doi       = {10.1007/978-3-540-89275-5_2},
  timestamp = {Thu, 23 Oct 2008 14:30:51 +0200},
  biburl    = {http://dblp.uni-trier.de/rec/bib/conf/s3/IngallsPUTM08},
  bibsource = {dblp computer science bibliography, http://dblp.org}
}

@inproceedings{Inge11a,
	Author = {Matthias Diehn Ingesman and Erik Ernst},
	Bibsource = {DBLP, http://dblp.uni-trier.de},
	Booktitle = {TOOLS (49)},
	Date-Added = {2011-08-02 12:12:07 +0200},
	Date-Modified = {2011-08-29 10:10:36 +0200},
	Ee = {http://dx.doi.org/10.1007/978-3-642-21952-8_14},
	Keywords = {type-system; formal},
	Pages = {179-193},
	Rating = {3},
	Title = {Lifted Java: A Minimal Calculus for Translation Polymorphism},
	Year = {2011}}

@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}}

@inproceedings{Inos11a,
	Acmid = {2025205},
	Address = {New York, NY, USA},
	Author = {Milton Inostroza and \'{E}ric Tanter and Eric Bodden},
	Booktitle = {Proceedings of the 19th ACM SIGSOFT symposium and the 13th European conference on Foundations of software engineering},
	Doi = {10.1145/2025113.2025205},
	Isbn = {978-1-4503-0443-6},
	Keywords = {aspect-oriented programming, modularity},
	Location = {Szeged, Hungary},
	Numpages = {4},
	Pages = {508--511},
	Publisher = {ACM},
	Series = {ESEC/FSE '11},
	Title = {Join point interfaces for modular reasoning in aspect-oriented programs},
	Url = {http://doi.acm.org/10.1145/2025113.2025205},
	Year = {2011},
	Bdsk-Url-1 = {http://doi.acm.org/10.1145/2025113.2025205},
	Bdsk-Url-2 = {http://dx.doi.org/10.1145/2025113.2025205}}

@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}}

@book{Inte13a,
	Author = {{Intel Corporation}},
	Edition = {248966-028},
	Month = jul,
	Publisher = {Intel},
	Title = {Intel\textsuperscript{\textregistered} 64 and IA-32 Architectures Software Developer's Manual},
	Year = {2013}}

@misc{IntelliJSDK,
    Key = {IntelliJSDK},
    Note = {http://www.jetbrains.org/intellij/sdk/docs/index.html},
    Title = {IntelliJ Platform SDK DevGuide},
    Url = {http://www.jetbrains.org/intellij/sdk/docs/index.html},
    Year = {2016}
}

@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}}

@article{Isaa14a,
	title = {Combing the Communication Hairball: Visualizing Large-Scale Parallel Execution Traces using Logical Time},
	journal = {Visualization and Computer Graphics, IEEE Transactions on},
	author = {Isaacs, K and Bremer, P and Jusufi, Ilir and Gamblin, Todd and Bhatele, Abhinav and Schulz, Martin and Hamann, Bernd},
	year = {2014},
	publisher = {IEEE}}

@inproceedings{Isar07a,
	Address = {New York, NY, USA},
	Author = {Isard, Michael and Budiu, Mihai and Yu, Yuan and Birrell, Andrew and Fetterly, Dennis},
	Booktitle = {Proceedings of the 2Nd ACM SIGOPS/EuroSys European Conference on Computer Systems 2007},
	Doi = {10.1145/1272996.1273005},
	Isbn = {978-1-59593-636-3},
	Location = {Lisbon, Portugal},
	Pages = {59--72},
	Publisher = {ACM},
	Series = {EuroSys '07},
	Title = {Dryad: Distributed Data-parallel Programs from Sequential Building Blocks},
	Year = {2007},
	Bdsk-Url-1 = {http://dx.doi.org/10.1145/1272996.1273005}}

@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{Ishi12a,
	title = {A lightweight visualization of interprocedural data-flow paths for source code reading},
	author = {Ishio, Takashi and Etsuda, Shogo and Inoue, Katsuro},
	booktitle = {Program Comprehension (ICPC), 2012 IEEE 20th International Conference on},
	pages = {37--46},
	year = {2012},
	organization = {IEEE}}

@inproceedings{Isla14a,
  title={Optimization of neural network architecture using genetic algorithm for load forecasting},
  author={Islam, Badar Ul and Baharudin, Zuhairi and Raza, Muhammad Qamar and Nallagownden, Perumal},
  booktitle={Intelligent and Advanced Systems (ICIAS), 2014 5th International Conference on},
  pages={1--6},
  year={2014},
  organization={IEEE}
}

@misc{Iso25010,
	Author = {ISO/IEC},
	Title = {{ISO/IEC 25010 --- Systems and software engineering --- Systems and software Quality Requirements and Evaluation ({SQuaRE}) --- System and software quality models}},
	Year = {2010}}

@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}}

@techreport{Iyad16a,
	Title = {Parsing {Ruby} with an Island Parser},
	Author = {Rathesan Iyadurai},
	Abstract = {Ruby is a challenging language to parse because of a
		large and ambiguous grammar that is not only scarcely
		documented but subject to change on minor releases.
		Therefore, third-party Ruby parsers for software
		analysis tools either translate the standard
		implementation's parser code rule for rule or deal
		with compatibility issues. In this thesis we propose
		an alternative approach by using the island grammar
		methodology. Island grammars only extract the
		structures of interest (islands) with precise rules
		while skipping over the rest (water). This makes them
		fitting for quick and robust data extraction for
		software development tools. We present a parsing
		expression grammar based island grammar for Ruby that
		is able to extract classes, modules and methods. As
		verification we measure precision, recall and error
		rate of our parser's output to one generated by the
		jRuby parser.
		},
	Institution = {University of Bern},
	Keywords = {scg-bp snf-asa2 scg16 jb16},
	Type = {Bachelor's thesis},
	Url = {http://scg.unibe.ch/archive/projects/Iyad16a-ParsingRuby.pdf},
	Month = apr,
	Year = {2016}
}

@mastersthesis{Iyad20a,
	Title = {On Demand Runtime Information --- A language- and IDE-agnostic approach to provide runtime information},
	Author = {Rathesan Iyadurai},
	Abstract = {Understanding programs written in dynamically-typed
		languages can be difficult because of the lack of static
		type information. When reasoning about a function
		written in JavaScript for instance, developers often
		lack the information about parameter types and values,
		which is essential for understanding the implementation.
		Gathering runtime information and presenting it
		on-demand would assist developers in their program
		comprehension tasks. In this thesis we present AUDREY, a
		system that gathers runtime information for multiple
		languages and exposes the information to many
		development environments. AUDREY aims to be as language-
		and IDE-agnostic as the underlying infrastructure
		allows. We discuss the challenges of implementing AUDREY
		with state-of-the-art technologies for future work.},
	Keywords = {scg-msc snf-asa3 scg20 jb20},
	School = {University of Bern},
	Type = {Masters thesis},
	Url = {http://scg.unibe.ch/archive/masters/Iyad20a.pdf},
	Month = jan,
	Year = {2020}
}

@article{Izad02a,
	Author = {Izadi, Shahram and Coutinho, Pedro and Rodden, Tom and Smith, Gareth},
	Doi = {10.1023/A:1014534414062},
	Journal = {Automated Software Engineering},
	Keywords = {damiencbib},
	Pages = {167--186},
	Title = {The {FUSE} Platform: Supporting Ubiquitous Collaboration Within Diverse Mobile Environments},
	Volume = {9},
	Year = {2002},
	Bdsk-Url-1 = {http://dx.doi.org/10.1023/A:1014534414062}}

@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/reengineering/research/jMondrian},
	Title = {{JMondrian} --- Java implementation of the Mondrian information visualization framework},
	Url = {http://loose.upt.ro/reengineering/research/jMondrian},
	Year = {2009},
	Bdsk-Url-1 = {http://loose.upt.ro/reengineering/research/jMondrian}}

@misc{JQuery,
	Key = {jQuery},
	Note = {http://plone.org/products/archgenxml},
	Title = {{jQuery}}}

@misc{JRuby,
	Key = {{JRuby}},
	Keywords = {jruby scripting},
	Title = {{JRuby}},
	Url = {http://www.jruby.org/},
	Bdsk-Url-1 = {http://www.jruby.org/}}

@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}}

@inproceedings{Jaaf13a,
	title = {On the relationship between program evolution and fault-proneness: An empirical study},
	author = {Jaafar, Fehmi and Hassaine, Salima and Gu{\'e}h{\'e}neuc, Yann-Ga{\"e}l and Hamel, Sylvie and Adams, Bram},
	booktitle = {Software Maintenance and Reengineering (CSMR), 2013 17th European Conference on},
	pages = {15--24},
	year = {2013},
	organization = {IEEE}}

@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{Jaca11a,
	Author = {Ricardo Jacas and Alexandre Bergel},
	Booktitle = {Proceedings of the 3rd International Workshop on Smalltalk Technologies (IWST'11)},
	Publisher = {ACM},
	Title = {Klotz: An Agile 3D Visualization Engine},
	Year = {2011}}

@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}}

@inproceedings{Jack94a,
 author = {Jackson, Daniel and Ladd, David A.},
 title = {Semantic Diff: A Tool for Summarizing the Effects of Modifications},
 booktitle = {Proceedings of the International Conference on Software Maintenance},
 series = {ICSM '94},
 year = {1994},
 isbn = {0-8186-6330-8},
 pages = {243--252},
 numpages = {10},
 acmid = {655704},
 publisher = {IEEE Computer Society},
 address = {Washington, DC, USA}
}

@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}}

@book{Jack05a,
	Author = {Jackson, J Edward},
	Publisher = {John Wiley \& Sons},
	Title = {A user's guide to principal components},
	Volume = {587},
	Year = {2005}}

@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{Jaco09a,
	Abstract = {Scale up your datasets enough and your apps come undone. What are the typical problems and where do the bottlenecks surface?},
	Address = {New York, NY, USA},
	Author = {Jacobs, Adam},
	Doi = {10.1145/1536616.1536632},
	Issn = {0001-0782},
	Journal = {Commun. ACM},
	Keywords = {regex},
	Month = aug,
	Number = {8},
	Pages = {36--44},
	Publisher = {ACM},
	Title = {The pathologies of big data},
	Volume = {52},
	Year = {2009},
	Bdsk-Url-1 = {http://dx.doi.org/10.1145/1536616.1536632}}

@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,
	Key = {jain},
	Title = {{Jain-SIP}, Java {API} for {SIP} signalling},
	Url = {https://jain-sip.dev.java.net/},
	Bdsk-Url-1 = {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,
	Address = {London, UK},
	Author = {Jakob, Henner and Loriant, Nicolas and Consel, Charles},
	Booktitle = {ICPS'09: Proceedings of the 6th International Conference on Pervasive Services},
	Doi = {10.1145/1568199.1568204},
	Isbn = {978-1-60558-644-1},
	Pages = {21--30},
	Publisher = {ACM},
	Title = {An Aspect-Oriented Approach to Securing Distributed Systems},
	Year = {2009},
	Bdsk-Url-1 = {http://dx.doi.org/10.1145/1568199.1568204}}

@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{Jan05a,
	author={Jansen, A. and Bosch, J.},
	booktitle={Software Architecture, 2005. WICSA 2005. 5th Working IEEE/IFIP Conference on},
	title={Software Architecture as a Set of Architectural Design Decisions},
	year={2005},
	month=nov,
	pages={109-120},
	doi={10.1109/WICSA.2005.61}}

@article{Jane06a,
  title={Identification of defect-prone classes in telecommunication software systems using design metrics},
  author={Janes, Andrea and Scotto, Marco and Pedrycz, Witold and Russo, Barbara and Stefanovic, Milorad and Succi, Giancarlo},
  journal={Information sciences},
  volume={176},
  number={24},
  pages={3711--3734},
  year={2006},
  publisher={Elsevier}
}

@inproceedings{Jane08a,
  title={On the Relationship Between Feature Selection and Classification Accuracy.},
  author={Janecek, Andreas and Gansterer, Wilfried N and Demel, Michael and Ecker, Gerhard},
  booktitle={FSDM},
  pages={90--105},
  year={2008}
}

@inproceedings{Jang09a,
	Acmid = {1529711},
	Address = {New York, NY, USA},
	Author = {Jang, Dongseok and Choe, Kwang-Moo},
	Booktitle = {Proceedings of the 2009 ACM symposium on Applied Computing},
	Doi = {10.1145/1529282.1529711},
	Isbn = {978-1-60558-166-8},
	Location = {Honolulu, Hawaii},
	Numpages = {8},
	Pages = {1930--1937},
	Publisher = {ACM},
	Series = {SAC '09},
	Title = {Points-to analysis for JavaScript},
	Year = {2009},
	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{Jans07a,
	Annote = {internationalconference},
	Author = {Slinger Jansen and Sjaak Brinkkemper and Anthony Finkelstein},
	Booktitle = {Virtual Enterprises and Collaborative Networks},
	Doi = {10.1007/978-0-387-73798-0_73},
	Medium = {2},
	Pages = {677-686},
	Peerreview = {yes},
	Title = {Providing Transparency In The Business Of Software: A Modeling Technique For Software Supply Networks},
	Url = {http://dx.doi.org/10.1007/978-0-387-73798-0_73},
	Year = {2007},
	Bdsk-Url-1 = {http://dx.doi.org/10.1007/978-0-387-73798-0_73}}

@inproceedings{Jans09a,
 author = {Janssen, Tom and Abreu, Rui and Gemund, Arjan J. C.  van},
 title = {Zoltar: A Toolset for Automatic Fault Localization},
 booktitle = {Proceedings of the 2009 IEEE/ACM International Conference on Automated Software Engineering},
 series = {ASE '09},
 year = {2009},
 isbn = {978-0-7695-3891-4},
 pages = {662--664},
 numpages = {3},
 url = {http://dx.doi.org/10.1109/ASE.2009.27},
 doi = {10.1109/ASE.2009.27},
 acmid = {1747577},
 publisher = {IEEE Computer Society},
 address = {Washington, DC, USA},
 keywords = {Zoltar, Fault Localization tool, Debugging}
}

@inproceedings{Jans09b,
    author = {Slinger Jansen and Anthony Finkelstein and Sjaak Brinkkemper},
    title = {A sense of community: A research agenda for software ecosystems},
    booktitle = {Presented at the 31st International Conference on Software Engineering - Companion Volume, 2009. ICSE-Companion 2009, IEEE},
	pages = {187-190},
    year = {2009}}

@article{Jans12a,
	Author = {Jansen, Slinger and Cusumano, Michael},
	Journal = {Proceedings of IWSECO},
	Pages = {41},
	Title = {Defining Software Ecosystems: A Survey of Software Platforms and Business Network Governance},
	Year = {2012}}

@inproceedings{Jans13a,
	Author = {Slinger Jansen},
	Booktitle = {Proceedings of the 1st Workshop on Ecosystem Architectures},
	Keywords = {ecosystems skip-doi},
	Medium = {2},
	Peerreview = {yes},
	Title = {How Quality Attributes of Platform Architectures Influence Software Ecosystems},
	Year = {2013}}

@article{Jans14a,
	title = {Measuring the health of open source software ecosystems: Beyond the scope of project health },
	journal = {Information and Software Technology },
	volume = {56},
	number = {11},
	pages = {1508 - 1519},
	year = {2014},
	note = {Special issue on Software Ecosystems },
	issn = {0950-5849},
	doi = {10.1016/j.infsof.2014.04.006},
	url = {http://www.sciencedirect.com/science/article/pii/S0950584914000871},
	author = {Slinger Jansen},
	keywords = {Software ecosystem health},
	keywords = {Open source ecosystems},
	keywords = {Software repository mining}
}

@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{Japk02,
	Author = {Japkowicz, Nathalie and Stephen, Shaju},
	Journal = {Intelligent data analysis},
	Number = {5},
	Pages = {429--449},
	Publisher = {IOS Press},
	Title = {The class imbalance problem: A systematic study},
	Volume = {6},
	Year = {2002}}

@inproceedings{Jara15a,
  title={Requirements elicitation approaches: a systematic review},
  author={Franco, Aldrin Jaramillo},
  booktitle={Research Challenges in Information Science (RCIS), 2015 IEEE 9th International Conference on},
  pages={520--521},
  year={2015},
  organization={IEEE}
}

@article{Jarv02a,
	Acmid = {582418},
	Address = {New York, NY, USA},
	Author = {J\"{a}rvelin, Kalervo and Kek\"{a}l\"{a}inen, Jaana},
	Doi = {10.1145/582415.582418},
	Issn = {1046-8188},
	Journal = {ACM Trans. Inf. Syst.},
	Month = oct,
	Number = {4},
	Numpages = {25},
	Pages = {422--446},
	Publisher = {ACM},
	Title = {Cumulated gain-based evaluation of IR techniques},
	Volume = {20},
	Year = {2002},
	Bdsk-Url-1 = {http://dx.doi.org/10.1145/582415.582418}}

@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}}

@inproceedings{Jasp07a,
 author = {Jaspan, Ciera and Chen, I-Chin and Sharma, Anoop},
 title = {Understanding the Value of Program Analysis Tools},
 booktitle = {Companion to the 22Nd ACM SIGPLAN Conference on Object-oriented Programming Systems and Applications Companion},
 series = {OOPSLA '07},
 year = {2007},
 isbn = {978-1-59593-865-7},
 location = {Montreal, Quebec, Canada},
 pages = {963--970},
 numpages = {8},
 url = {http://doi.acm.org/10.1145/1297846.1297964},
 doi = {10.1145/1297846.1297964},
 acmid = {1297964},
 publisher = {ACM},
 address = {New York, NY, USA},
 keywords = {economics, program analysis, value-based software}}

@misc{Java,
	Key = {Java},
	Note = {http://java.sun.com/},
	Title = {Java}}

@misc{Java20a,
	key = {Java, Oracle documentation guidelines},
	url = {https://www.oracle.com/technetwork/java/javase/documentation},
	year = {2020},
	Title = {Oracle Documentation Guidelines}}

@misc{JavaAnn,
	Author = {{Sun microsystems}},
	Key = {JavaAnn},
	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}}

@article{Jerd98a,
	Acmid = {614408},
	Address = {Piscataway, NJ, USA},
	Author = {Jerding, Dean F. and Stasko, John T.},
	Doi = {10.1109/2945.722299},
	Issn = {1077-2626},
	Issue = {3},
	Journal = {IEEE Transactions on Visualization and Computer Graphics},
	Keywords = {Information visualization, software visualization, data visualization, focus+context, navigation, browsers},
	Month = jul,
	Numpages = {15},
	Pages = {257--271},
	Publisher = {IEEE Educational Activities Department},
	Title = {The Information Mural: A Technique for Displaying and Navigating Large Information Spaces},
	Volume = {4},
	Year = {1998},
	Bdsk-Url-1 = {http://dx.doi.org/10.1109/2945.722299}}

@inproceedings{Jere95a,
	Acmid = {209955},
	Address = {New York, NY, USA},
	Author = {Jeremiassen, Tor E. and Eggers, Susan J.},
	Booktitle = {Proceedings of the fifth ACM SIGPLAN symposium on Principles and practice of parallel programming},
	Doi = {10.1145/209936.209955},
	Isbn = {0-89791-700-6},
	Location = {Santa Barbara, California, United States},
	Numpages = {10},
	Pages = {179--188},
	Publisher = {ACM},
	Series = {PPOPP '95},
	Title = {Reducing false sharing on shared memory multiprocessors through compile time data transformations},
	Year = {1995},
	Bdsk-Url-1 = {http://dx.doi.org/10.1145/209936.209955}}

@inproceedings{Jerg11a,
	Annote = {internationalconference},
	Author = {Corey Jergensen and Anita Sarma and Patrick Wagstrom},
	Booktitle = {SIGSOFT FSE},
	Doi = {10.1145/2025113.2025127},
	Medium = {2},
	Pages = {70-80},
	Peerreview = {yes},
	Title = {The onion patch: migration in open source ecosystems},
	Url = {http://doi.acm.org/10.1145/2025113.2025127},
	Year = {2011},
	Bdsk-Url-1 = {http://doi.acm.org/10.1145/2025113.2025127},
	Bdsk-Url-2 = {http://dx.doi.org/10.1145/2025113.2025127}}

@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}}}

@inproceedings{Jian06a,
  title={Examining the Evolution of Code Comments in {PostgreSQL}},
  author={Jiang, Zhen Ming and Hassan, Ahmed E},
  booktitle={Proceedings of the 2006 international workshop on Mining software repositories},
  pages={179--180},
  year={2006},
  organization={ACM}}

@article{Jian08,
 author = {Jiang, Yue and Cukic, Bojan and Ma, Yan},
 title = {Techniques for Evaluating Fault Prediction Models},
 journal = {Empirical Softw. Engg.},
 issue_date = {October   2008},
 volume = {13},
 number = {5},
 month = oct,
 year = {2008},
 issn = {1382-3256},
 pages = {561--595},
 numpages = {35},
 url = {http://dx.doi.org/10.1007/s10664-008-9079-3},
 doi = {10.1007/s10664-008-9079-3},
 acmid = {1416836},
 publisher = {Kluwer Academic Publishers},
 address = {Hingham, MA, USA},
 keywords = {Empirical studies, Fault-prediction models, Model evaluation, Predictive models in software engineering}
}

@misc{Jikes,
	Key = {Jikes},
	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,
	Author = {Jimenez, Manuel and Rosique, Francisca and Sanchez, Pedro and Alvarez, Barbara and Iborra, Andres},
	Doi = {10.1109/MS.2009.93},
	Journal = {IEEE Software},
	Keywords = {damiencbib},
	Number = {4},
	Pages = {30-38},
	Publisher = {IEEE Computer Society},
	Title = {Habitation: A Domain-Specific Language for Home Automation},
	Volume = {26},
	Year = {2009},
	Bdsk-Url-1 = {http://dx.doi.org/10.1109/MS.2009.93}}

@inproceedings{Jin12,
 author = {Jin, Guoliang and Zhang, Wei and Deng, Dongdong and Liblit, Ben and Lu, Shan},
 title = {Automated Concurrency-bug Fixing},
 booktitle = {Proceedings of the 10th USENIX Conference on Operating Systems Design and Implementation},
 series = {OSDI'12},
 year = {2012},
 isbn = {978-1-931971-96-6},
 location = {Hollywood, CA, USA},
 pages = {221--236},
 numpages = {16},
 url = {http://dl.acm.org/citation.cfm?id=2387880.2387902},
 acmid = {2387902},
 publisher = {USENIX Association},
 address = {Berkeley, CA, USA}
}

@article{Jin12a,
 author = {Jin, Guoliang and Song, Linhai and Shi, Xiaoming and Scherpelz, Joel and Lu, Shan},
 title = {Understanding and Detecting Real-world Performance Bugs},
 journal = {SIGPLAN Not.},
 issue_date = {June 2012},
 volume = {47},
 number = {6},
 month = jun,
 year = {2012},
 issn = {0362-1340},
 pages = {77--88},
 numpages = {12},
 url = {http://doi.acm.org/10.1145/2345156.2254075},
 doi = {10.1145/2345156.2254075},
 acmid = {2254075},
 publisher = {ACM},
 address = {New York, NY, USA},
 keywords = {characteristics study, performance bugs, rule-based bug detection}
}

@misc{Jip,
	Key = {jip},
	Keywords = {dynamic analysis},
	Note = {http://sourceforge.net/projects/jiprof},
	Title = {Java Interactive Profiler}}

@misc{Jlint,
	Key = {Jlint},
	Keywords = {Bug Patterns Data flow},
	Note = {http://jlint.sourceforge.net/},
	Title = {Jlint Home Page},
	Url = {http://jlint.sourceforge.net/},
	Bdsk-Url-1 = {http://jlint.sourceforge.net/}}

@inproceedings{Joan11a,
	Acmid = {2008663},
	Address = {Berlin, Heidelberg},
	Author = {Joannou, Stelios and Raman, Rajeev},
	Booktitle = {Proceedings of the 10th International Conference on Experimental Algorithms},
	Isbn = {978-3-642-20661-0},
	Location = {Crete, Greece},
	Numpages = {12},
	Pages = {447--458},
	Publisher = {Springer-Verlag},
	Series = {SEA'11},
	Title = {An Empirical Evaluation of Extendible Arrays},
	Url = {http://dl.acm.org/citation.cfm?id=2008623.2008663},
	Year = {2011},
	Bdsk-Url-1 = {http://dl.acm.org/citation.cfm?id=2008623.2008663}}

@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}}

@article{John86b,
 author = {Johnson, Ralph E.},
 title = {Type-checking {Smalltalk}},
 journal = {SIGPLAN Not.},
 issue_date = {Nov. 1986},
 volume = {21},
 number = {11},
 month = jun,
 year = {1986},
 issn = {0362-1340},
 pages = {315--321},
 numpages = {7},
 url = {http://doi.acm.org/10.1145/960112.28728},
 doi = {10.1145/960112.28728},
 acmid = {28728},
 publisher = {ACM},
 address = {New York, NY, USA}
}

@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}}

@article{John89a,
    author={J. Johnson and T. L. Roberts and W. Verplank and D. C. Smith and C. H. Irby and M. Beard and K. Mackey},
    journal={Computer},
    title={The {Xerox Star}: a retrospective},
    year={1989},
    volume={22},
    number={9},
    pages={11-26},
    abstract={A description is given of the Xerox 8010 Star information system, which was designed as an office automation system. The idea was that professionals in a business or organization would have workstations on their desks and would use them to produce, retrieve, distribute, and organize documentation, presentations, memos, and reports. All of the workstations in an organization would be connected via Ethernet and would share access to file servers, printers, etc. The distinctive features of Star are identified, and changes to the original design are examined. A history of Star development is included. Some lessons learned from designing Star are related.},
    doi={10.1109/2.35211},
    ISSN={0018-9162},
    month=sep
}

@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}}

@book{John92,
  title={Applied multivariate statistical analysis},
  author={Johnson, Richard Arnold and Wichern, Dean W and others},
  volume={4},
  year={1992},
  publisher={Prentice hall Englewood Cliffs, NJ}
}

@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}}

@inproceedings{John09a,
	Acmid = {1693394},
	Address = {Berlin, Heidelberg},
	Author = {Johnsen, Einar Broch and Kyas, Marcel and Yu, Ingrid Chieh},
	Booktitle = {Proceedings of the 2nd World Congress on Formal Methods},
	Doi = {/10.1007/978-3-642-05089-3_38},
	Isbn = {978-3-642-05088-6},
	Location = {Eindhoven, The Netherlands},
	Numpages = {16},
	Pages = {596--611},
	Publisher = {Springer-Verlag},
	Series = {FM '09},
	Title = {Dynamic Classes: Modular Asynchronous Evolution of Distributed Concurrent Objects},
	Url = {http://dx.doi.org/10.1007/978-3-642-05089-3_38},
	Year = {2009},
	Bdsk-Url-1 = {http://dx.doi.org/10.1007/978-3-642-05089-3_38}}

@inproceedings{John13a,
 author = {Johnson, Brittany and Song, Yoonki and Murphy-Hill, Emerson and Bowdidge, Robert},
 title = {Why Don't Software Developers Use Static Analysis Tools to Find Bugs?},
 booktitle = {Proceedings of the 2013 International Conference on Software Engineering},
 series = {ICSE '13},
 year = {2013},
 isbn = {978-1-4673-3076-3},
 location = {San Francisco, CA, USA},
 pages = {672--681},
 numpages = {10},
 url = {http://dl.acm.org/citation.cfm?id=2486788.2486877},
 acmid = {2486877},
 publisher = {IEEE Press}}

@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}}

@inproceedings{Jone02a,
	Acmid = {581397},
	Address = {New York, NY, USA},
	Author = {Jones, James A. and Harrold, Mary Jean and Stasko, John},
	Booktitle = {Proceedings of the 24th International Conference on Software Engineering},
	Doi = {10.1145/581339.581397},
	Isbn = {1-58113-472-X},
	Location = {Orlando, Florida},
	Numpages = {11},
	Pages = {467--477},
	Publisher = {ACM},
	Series = {ICSE '02},
	Title = {Visualization of test information to assist fault localization},
	Year = {2002},
	Bdsk-Url-1 = {http://dx.doi.org/10.1145/581339.581397}}

@inproceedings{Jone03a,
	Author = {Joel Jones},
	Booktitle = {Pattern Languages of Programs},
	Month = sep,
	Title = {Abstract Syntax Tree Implementation Idioms},
	Url = {http://hillside.net/plop/plop2003/Papers/Jones-ImplementingASTs.pdf},
	Year = {2003},
	Bdsk-Url-1 = {http://hillside.net/plop/plop2003/Papers/Jones-ImplementingASTs.pdf}}

@article{Jone03b,
	title = {Test-suite reduction and prioritization for modified condition/decision coverage},
	author = {Jones, James A and Harrold, Mary Jean},
	journal = {Software Engineering, IEEE Transactions on},
	volume = {29},
	number = {3},
	pages = {195--209},
	year = {2003},
	publisher = {IEEE}
}

@book{Jone03c,
  title={Haskell 98 language and libraries: the revised report},
  author={Jones, Simon Peyton},
  year={2003},
  publisher={Cambridge University Press}
}

@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}}

@inproceedings{Jong09a,
	author = {Maartje de Jonge and Emma Nilsson-Nyman and Lennart C. L. Kats and Eelco Visser},
	title = {Natural and Flexible Error Recovery for Generated Parsers},
	booktitle = {Software Language Engineering (SLE 2009)},
	year = {2009},
	editor = {van den Brand, Mark G. J. and Gray, Jeff},
	series = {Lecture Notes in Computer Science},
	issn = {0302-9743},
	address = {Heidelberg},
	location = {Denver, US},
	month = {oct},
	publisher = {Springer}
}

@inproceedings{Jonna14a,
   abstract    = {Parsers are ubiquitous in computing, and many
        applications depend on their performance for decoding
        data efficiently. Parser combinators are an intuitive
        tool for writing parsers: tight integration with the host
        language enables grammar specifications to be interleaved
        with processing of parse results. Unfortunately, parser
        combinators are typically slow due to the high overhead
        of the host language abstraction mechanisms that enable
        composition. We present a technique for eliminating such
        overhead. We use staging, a form of runtime code
        generation, to dissociate input parsing from parser
        composition, and eliminate intermediate data structures
        and computations associated with parser composition at
        staging time. A key challenge is to maintain support for
        input dependent grammars, which have no clear stage
        distinction. Our approach applies to top-down
        recursive-descent parsers as well as bottom-up
        nondeterministic parsers with key applications in dynamic
        programming on sequences, where we auto-generate code for
        parallel hardware. We achieve performance comparable to
        specialized, hand-written parsers.},
    address     = {New York, New York, USA},
    affiliation = {EPFL},
    author      = {Jonnalagedda, Manohar and Coppey, Thierry and Stucki, Sandro and Rompf, Tiark and Odersky, Martin},
    booktitle   = {Proceedings of the 2014 {ACM} {I}nternational {C}onference on {O}bject {O}riented {P}rogramming {S}ystems {L}anguages \& {A}pplications - {OOPSLA} '14},
    details     = {http://infoscience.epfl.ch/record/203076},
    documenturl = {http://infoscience.epfl.ch/record/203076/files/p637-jonnalagedda.pdf},
    doi         = {10.1145/2660193.2660241},
    keywords    = {Parser combinators; multi-stage programming; algebraic dynamic programming},
    location    = {Portland, Oregon, USA},
    oai-id      = {oai:infoscience.epfl.ch:203076},
    oai-set     = {conf},
    pages       = {637--653},
    publisher   = {ACM Press},
    review      = {REVIEWED},
    status      = {PUBLISHED},
    submitter   = {170823},
    title       = {Staged parser combinators for efficient data processing},
    unit        = {LAMP DATA},
    year        = {2014}
}

@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}}

@book{Josh85a,
	Author = {Joshi, Aravind K..},
	Booktitle = {Natural language parsing},
	Contributor = {Aravind K. Joshi},
	Publisher = {Cambridge University Press},
	Title = {Tree adjoining grammars: How much context-sensitivity is required to provide reasonable structural descriptions?},
	Url = {http://dx.doi.org/10.1017/CBO9780511597855.007},
	Year = {1985},
	Bdsk-Url-1 = {http://dx.doi.org/10.1017/CBO9780511597855.007}}

@misc{Josh97a,
	Author = {Aravind Joshi and Yves Schabes},
	Title = {Tree-Adjoining Grammars},
	Year = {1997}}

@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},
	Doi = {10.1007/978-3-540-89054-6_1},
	Keywords = {generation sip middleware diaspec damiencbib},
	Month = jul,
	Pages = {1--20},
	Title = {A {SIP}-based Programming Framework for Advanced Telephony Applications},
	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,
	Note = {demo},
	Publisher = {IEEE Computer Society Press},
	Title = {{DiaSim}: A Parameterized Simulator for Pervasive Computing Applications},
	Year = {2009}}

@article{Jovi10a,
	Author = {Milan Jovic and Matthias Hauswirth},
	Doi = {10.1016/j.scico.2010.04.009},
	Issn = {0167-6423},
	Journal = {Science of Computer Programming},
	Note = {To appear},
	Title = {Listener latency profiling: Measuring the perceptible performance of interactive Java applications},
	Volume = {In Press, Corrected Proof},
	Year = {2010},
	Bdsk-Url-1 = {http://dx.doi.org/10.1016/j.scico.2010.04.009}}

@inproceedings{Jovi11a,
	Acmid = {2048081},
	Address = {New York, NY, USA},
	Author = {Jovic, Milan and Adamoli, Andrea and Hauswirth, Matthias},
	Booktitle = {Proceedings of the 2011 ACM international conference on Object oriented programming systems languages and applications},
	Doi = {10.1145/2048066.2048081},
	Isbn = {978-1-4503-0940-0},
	Keywords = {latency bug, perceptible performance, profiling},
	Location = {Portland, Oregon, USA},
	Numpages = {16},
	Pages = {155--170},
	Publisher = {ACM},
	Series = {OOPSLA '11},
	Title = {Catch me if you can: performance bug detection in the wild},
	Url = {http://doi.acm.org/10.1145/2048066.2048081},
	Year = {2011},
	Bdsk-Url-1 = {http://doi.acm.org/10.1145/2048066.2048081},
	Bdsk-Url-2 = {http://dx.doi.org/10.1145/2048066.2048081}}

@inproceedings{JoyW80a,
	Author = {Joy, William},
	Booktitle = {In UNIX User's Manual Supplementary Documents,},
	Title = {An Introduction to Display Editing with {Vi}},
	Publisher = {USENIX Association},
	Year = {1980}
}

@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,
	Address = {Washington, DC, USA},
	Author = {Judd, Glenn and Steenkiste, Peter},
	Booktitle = {PerCom'03: Proceedings of the 1st International Conference on Pervasive Computing and Communications},
	Doi = {10.1109/PERCOM.2003.1192735},
	Keywords = {damiencbib},
	Pages = {133--142},
	Publisher = {IEEE Computer Society},
	Title = {Providing Contextual Information to Pervasive Computing Applications},
	Year = {2003},
	Bdsk-Url-1 = {http://dx.doi.org/10.1109/PERCOM.2003.1192735}}

@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},
	Doi = {10.1016/j.scico.2009.12.008},
	Issn = {0167-6423},
	Journal = {Science of Computer Programming},
	Keywords = {Component-oriented development, Meta-modeling, Middleware, Model-driven development, Software architecture, Type systems, damiencbib, calm, cadena},
	Month = jul,
	Number = {7},
	Numpages = {23},
	Pages = {615--637},
	Publisher = {Elsevier},
	Title = {A type-centric framework for specifying heterogeneous, large-scale, component-oriented, architectures},
	Volume = {75},
	Year = {2010},
	Bdsk-Url-1 = {http://dx.doi.org/10.1016/j.scico.2009.12.008}}

@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{Jura18a,
	Author = {Juraj Kubelka and Romain Robbes and Alexandre Bergel},
	Booktitle = {Proceedings of ICSE 2018 (40th ACM/IEEE International Conference on Software Engineering)},
	Pages = {to be published},
	Title = {The Road to Live Programming: Insights From the Practice},
	Year = {2018}}

@inproceedings{Jure10a,
 author = {Jureczko, Marian and Madeyski, Lech},
 title = {Towards Identifying Software Project Clusters with Regard to Defect Prediction},
 booktitle = {Proceedings of the 6th International Conference on Predictive Models in Software Engineering},
 series = {PROMISE '10},
 year = {2010},
 isbn = {978-1-4503-0404-7},
 location = {Timi\?oara, Romania},
 pages = {9:1--9:10},
 articleno = {9},
 numpages = {10},
 url = {http://doi.acm.org/10.1145/1868328.1868342},
 doi = {10.1145/1868328.1868342},
 acmid = {1868342},
 publisher = {ACM},
 address = {New York, NY, USA},
 keywords = {clustering, defect prediction, design metrics, size metrics}
}

@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}}

@book{Juri10a,
 author = {Juristo, Natalia and Moreno, Ana M.},
 title = {Basics of Software Engineering Experimentation},
 year = {2010},
 isbn = {1441950117, 9781441950116},
 edition = {1st},
 publisher = {Springer Publishing Company, Incorporated}
}

@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},
	Url = {http://www.jython.org/},
	Bdsk-Url-1 = {http://www.jython.org/}}

@inproceedings{Kaba08a,
	Address = {Modena, Italy},
	Author = {Kabanov, Jevgeni and Raudj\"{a}rv, Rein},
	Booktitle = {PPPJ'08: Proceedings of the 6th International Symposium on Principles and Practice of Programming in Java},
	Doi = {10.1145/1411732.1411758},
	Keywords = {damiencbib sql dsl typesafe},
	Pages = {189--197},
	Publisher = {ACM},
	Title = {{Embedded typesafe domain specific languages for Java}},
	Year = {2008},
	Bdsk-Url-1 = {http://dx.doi.org/10.1145/1411732.1411758}}

@article{Kaba11a,
	Acmid = {1945154},
	Address = {Amsterdam, The Netherlands, The Netherlands},
	Author = {Kabanov, Jevgeni},
	Doi = {10.1016/j.entcs.2011.02.005},
	Issn = {1571-0661},
	Issue = {4},
	Issue_Date = {February, 2011},
	Journal = {Electron. Notes Theor. Comput. Sci.},
	Keywords = {API, ClassLoader, JRebel, bytecode, retroactive},
	Month = {feb},
	Numpages = {7},
	Pages = {51--57},
	Publisher = {Elsevier Science Publishers B. V.},
	Title = {JRebel Tool Demo},
	Volume = {264},
	Year = {2011},
	Bdsk-Url-1 = {http://dx.doi.org/10.1016/j.entcs.2011.02.005}}

@article{Kaba12a,
	Author = {Kabanov, Jevgeni and Vene, Varmo},
	Date-Added = {2013-05-01 13:24:44 +0000},
	Date-Modified = {2013-05-01 13:24:51 +0000},
	Doi = {10.1002/spe.2158},
	Issn = {1097-024X},
	Journal = {Software: Practice and Experience},
	Pages = {n/a--n/a},
	Publisher = {John Wiley & Sons, Ltd},
	Title = {A thousand years of productivity: the JRebel story},
	Url = {http://dx.doi.org/10.1002/spe.2158},
	Year = {2012},
	Bdsk-Url-1 = {http://dx.doi.org/10.1002/spe.2158}}

@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}}

@techreport{Kafa20a,
	Title = {{FluentCrypto}, A Fluent Wrapper for the {NodeJS} Crypto {API}},
	Author = {Simon Kafader},
	Abstract = {NodeJS Developers often struggle with
		cryptographic tasks. This not only leads to
		bugs but also to security issues. In this work,
		we aim to mitigate these issues by providing a
		wrapper around the NodeJS Crypto API. This
		wrapper is based on the design principles of
		fluent APIs and has built-in validation, which
		is based on CryRule rule files, a
		domain-specific language we explicitly create
		for this purpose.},
	Institution = {University of Bern},
	Keywords = {scg-bp snf-asa3 scg20 jb20},
	Type = {Bachelor's thesis},
	Url = {http://scg.unibe.ch/archive/projects-LOCAL/Kafa20a.pdf},
	Month = jul,
	Year = {2020}
}

@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,
	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.},
	Author = {Kagdi, H. and Maletic, J.I. and Sharif, B.},
	Booktitle = {Program Comprehension, 2007. ICPC '07. 15th IEEE International Conference on},
	Doi = {10.1109/ICPC.2007.28},
	Issn = {1063-6897},
	Keywords = {sequential pattern mining;software artifacts;software repositories;software system;traceability links;data mining;software engineering;},
	Month = jun,
	Pages = {145 -154},
	Title = {Mining Software Repositories for Traceability Links},
	Year = {2007},
	Bdsk-Url-1 = {http://dx.doi.org/10.1109/ICPC.2007.28}}

@techreport{Kage96a,
	Address = {Tucson, AZ, USA},
	Author = {Kagedal, Andreas and Debray, Saumya},
	Publisher = {University of Arizona},
	Source = {http://www.ncstrl.org:8900/ncstrl/servlet/search?formname=detail\&id=oai%3Ancstrlh%3Aarizona_cs%3Ancstrl.arizona_cs%2F%2FTR96-21},
	Title = {A Practical Approach to Structure Reuse of Arrays in Single AssignmentLanguages},
	Year = {1996}}

@article{Kahn83a,
	title = {Metal: a formalism to specify formalisms"},
	journal = {Science of Computer Programming},
	volume = {3},
	number = {2},
	pages = {151 -- 188},
	year = {1983},
	issn = {0167-6423},
	doi = {10.1016/0167-6423(83)90009-6},
	url = {http://www.sciencedirect.com/science/article/pii/0167642383900096},
	author = {G. Kahn and B. Lang and B. M\'el\`ese and E. Morcos}
}

@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}}

@inproceedings{Kale14a,
 author = {Kaleeswaran, Shalini and Tulsian, Varun and Kanade, Aditya and Orso, Alessandro},
 title = {MintHint: Automated Synthesis of Repair Hints},
 booktitle = {Proceedings of the 36th International Conference on Software Engineering},
 series = {ICSE 2014},
 year = {2014},
 isbn = {978-1-4503-2756-5},
 location = {Hyderabad, India},
 pages = {266--276},
 numpages = {11},
 url = {http://doi.acm.org/10.1145/2568225.2568258},
 doi = {10.1145/2568225.2568258},
 acmid = {2568258},
 publisher = {ACM},
 address = {New York, NY, USA},
 keywords = {Program repair, program synthesis, repair hints, statistical correlations}
}

@inproceedings{Kali12a,
 author = {Kalibera, Tomas and Mole, Matthew and Jones, Richard and Vitek, Jan},
 title = {A Black-box Approach to Understanding Concurrency in DaCapo},
 booktitle = {Proceedings of the ACM International Conference on Object Oriented Programming Systems Languages and Applications},
 series = {OOPSLA '12},
 year = {2012},
 isbn = {978-1-4503-1561-6},
 location = {Tucson, Arizona, USA},
 pages = {335--354},
 numpages = {20},
 url = {http://doi.acm.org/10.1145/2384616.2384641},
 doi = {10.1145/2384616.2384641},
 acmid = {2384641},
 publisher = {ACM},
 address = {New York, NY, USA},
 keywords = {benchmarks, concurrency, dacapo, scalability}
}

@inproceedings{Kali13a,
	Acmid = {2464160},
	Address = {New York, NY, USA},
	Author = {Kalibera, Tomas and Jones, Richard},
	Booktitle = {Proceedings of the 2013 International Symposium on Memory Management},
	Doi = {10.1145/2464157.2464160},
	Isbn = {978-1-4503-2100-6},
	Keywords = {benchmarking methodology, dacapo, spec cpu, statistical methods},
	Location = {Seattle, Washington, USA},
	Numpages = {12},
	Pages = {63--74},
	Publisher = {ACM},
	Series = {ISMM '13},
	Title = {Rigorous Benchmarking in Reasonable Time},
	Url = {http://doi.acm.org/10.1145/2464157.2464160},
	Year = {2013},
	Bdsk-Url-1 = {http://doi.acm.org/10.1145/2464157.2464160},
	Bdsk-Url-2 = {http://dx.doi.org/10.1145/2464157.2464160}}

@book{Kall10a,
	Author = {Kallmeyer Laura},
	Isbn = {978-3-642-14846-0},
	Keywords = {natural language, CFG, CSG},
	Publisher = {Springer-Verlag},
	Title = {Parsing Beyond Context-Free Grammars},
	Year = {2010}}

@inproceedings{Kame10a,
	Author = {Kamei, Y. and Matsumoto, S. and Monden, A. and Matsumoto, K.-i. and Adams, B. and Hassan, A.E.},
	Booktitle = {Software Maintenance (ICSM), 2010 IEEE International Conference on},
	Doi = {10.1109/ICSM.2010.5609530},
	Issn = {1063-6773},
	Keywords = {program debugging;software metrics;software packages;software quality;bug prediction literature;common bug prediction finding;effort aware model;package level prediction;process metrics;software quality assurance;Computational modeling;Computer bugs;Mathematical model;Measurement;Predictive models;Radio frequency;Regression tree analysis},
	Month = sep,
	Pages = {1-10},
	Title = {Revisiting common bug prediction findings using effort-aware models},
	Year = {2010},
	Bdsk-Url-1 = {http://dx.doi.org/10.1109/ICSM.2010.5609530}}

@article{Kame13a,
  title={A large-scale empirical study of just-in-time quality assurance},
  author={Kamei, Yasutaka and Shihab, Emad and Adams, Bram and Hassan, Ahmed E and Mockus, Audris and Sinha, Anand and Ubayashi, Naoyasu},
  journal={IEEE Transactions on Software Engineering},
  volume={39},
  number={6},
  pages={757--773},
  year={2013},
  publisher={IEEE}
}

@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}}

@article{Kami02b,
 author = {Kamiya, Toshihiro and Kusumoto, Shinji and Inoue, Katsuro},
 title = {CCFinder: A Multilinguistic Token-based Code Clone Detection System for Large Scale Source Code},
 journal = {IEEE Trans. Softw. Eng.},
 issue_date = {July 2002},
 volume = {28},
 number = {7},
 month = jul,
 year = {2002},
 issn = {0098-5589},
 pages = {654--670},
 numpages = {17},
 url = {http://dx.doi.org/10.1109/TSE.2002.1019480},
 doi = {10.1109/TSE.2002.1019480},
 acmid = {636191},
 publisher = {IEEE Press},
 address = {Piscataway, NJ, USA},
 keywords = {CASE tool, code clone, duplicated code, maintenance, metrics}
}

@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}}

@article{Kand99a,
	Author = {Kandemir, M. and Ramanujam, J. and Choudhary, A.},
	Doi = {10.1109/12.752657},
	Issn = {0018-9340},
	Journal = {Computers, IEEE Transactions on},
	Keywords = {cache locality;cache performance;data layout transformations;loop transformations;multiple loop nests;optimization;reducing cache misses;cache storage;optimising compilers;},
	Month = {feb},
	Number = {2},
	Pages = {159 -167},
	Title = {Improving cache locality by a combination of loop and data transformations},
	Volume = {48},
	Year = {1999},
	Bdsk-Url-1 = {http://dx.doi.org/10.1109/12.752657}}

@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}}

@article{Kanm07a,
	Author = {Kanmani, S and Uthariaraj, V Rhymend and Sankaranarayanan, V and Thambidurai, P},
	Journal = {Information and software technology},
	Number = {5},
	Pages = {483--492},
	Publisher = {Elsevier},
	Title = {Object-oriented software fault prediction using neural networks},
	Volume = {49},
	Year = {2007}}

@inproceedings{Kans10a,
 author = {Kansal, Aman and Zhao, Feng and Liu, Jie and Kothari, Nupur and Bhattacharya, Arka A.},
 title = {Virtual Machine Power Metering and Provisioning},
 booktitle = {Proceedings of the 1st ACM Symposium on Cloud Computing},
 series = {SoCC '10},
 year = {2010},
 isbn = {978-1-4503-0036-0},
 location = {Indianapolis, Indiana, USA},
 pages = {39--50},
 numpages = {12},
 url = {http://doi.acm.org/10.1145/1807128.1807136},
 doi = {10.1145/1807128.1807136},
 acmid = {1807136},
 publisher = {ACM},
 address = {New York, NY, USA},
 keywords = {datacenter power management, power capping, virtualization}
}

@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}}

@article{Kara98a,
	 author = {Karasick, Michael},
	 title = {The Architecture of Montana: An Open and Extensible Programming Environment with an Incremental C++ Compiler},
	 journal = {SIGSOFT Softw. Eng. Notes},
	 issue_date = {Nov. 1998},
	 volume = {23},
	 number = {6},
	 month = nov,
	 year = {1998},
	 issn = {0163-5948},
	 pages = {131--142},
	 numpages = {12},
	 url = {http://doi.acm.org/10.1145/291252.288284},
	 doi = {10.1145/291252.288284},
	 acmid = {288284},
	 publisher = {ACM},
	 address = {New York, NY, USA},
	 keywords = {C++, compilation, extensible systems, frameworks, incremental compilation, incremental development environments, programming environments}
}

@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}}

@mastersthesis{Karp14a,
	Abstract = {Regular expressions naturally and intuitively define parse trees
	that describe the text that they're parsing. We describe a technique
	for building up the complete parse tree resulting from matching a text against
	a regular expression. In previous tagged deterministic finite-state automaton
	(TDFA) matching implementations, all paths through the non-deterministic
	finite-state automaton (NFA) are walked simultaneously, in different
	co-routines, where inside each co-routine, it is fully known when which capture
	group was entered or left. We extend this model to keep track of not just the
	last opening and closing of capture groups, but all of them. We do this by
	storing in every co-routine a history of the all groups using the flyweight
	pattern. Thus, we log enough information during parsing to build up the
	complete parse tree after matching in a single pass, making it possible to use
	our algorithm with strings exceeding the machine's memory. Further we construct
	the automata such that a simulation of backtracking like behaviour is possible.
	This is achieved in worst case time $\Theta$(mn), providing full parse trees
	with only constant slowdown compared to matching.},
	Author = {Aaron Karper},
	Keywords = {scg-msc snf-none scg14 jb15},
	Month = dec,
	School = {University of Bern},
	Title = {Efficient regular expressions that produce parse trees},
	Type = {Masters thesis},
	Url = {http://scg.unibe.ch/archive/masters/Karp14a.pdf},
	Year = {2014}
}

@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}}

@article{Kars14a,
  author    = {Gabor Karsai and
               Holger Krahn and
               Claas Pinkernell and
               Bernhard Rumpe and
               Martin Schindler and
               Steven V{\"{o}}lkel},
  title     = {Design Guidelines for Domain Specific Languages},
  journal   = {CoRR},
  volume    = {abs/1409.2378},
  year      = {2014},
  url       = {http://arxiv.org/abs/1409.2378},
  archivePrefix = {arXiv},
  eprint    = {1409.2378},
  timestamp = {Wed, 07 Jun 2017 14:42:32 +0200},
  biburl    = {http://dblp.org/rec/bib/journals/corr/KarsaiKPRSV14},
  bibsource = {dblp computer science bibliography, http://dblp.org}
}

@inproceedings{Kart96a,
	Abstract = {Many of the processing steps in natural language engineering can be performed using finite state transducers. An optimal way to create such transducers is to compile them from regular expressions. This paper is an introduction to the regular expression calculus, extended with certain operators that have proved very useful in natural language applications ranging from tokenization to light parsing. The examples in the paper illustrate in concrete detail some of these applications.},
	Author = {Karttunen, L. and Chanod, J. P. and Grefenstette, G. and Schiller, A. and February, Received},
	Booktitle = {Natural Language Engineering},
	Doi = {10.1.1.28.4880},
	Keywords = {regex},
	Pages = {305--328},
	Title = {Regular Expressions for Language Engineering},
	Year = {1996},
	Bdsk-Url-1 = {http://dx.doi.org/10.1.1.28.4880}}

@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}}

@inproceedings{Kats10a,
	Address = {Reno/Tahoe, NV, USA},
	Author = {Kats, Lennart C. L. and Visser, Eelco},
	Booktitle = {OOPSLA'10: Proceedings of the 25th International Conference on Object-Oriented Programming, Systems, Languages, and Applications},
	Doi = {10.1145/1869459.1869497},
	Editor = {Martin Rinard},
	Month = oct,
	Pages = {444--463},
	Title = {The {Spoofax} Language Workbench. {Rules} for Declarative Specification of Languages and {IDEs}},
	Year = {2010},
	Bdsk-Url-1 = {http://dx.doi.org/10.1145/1869459.1869497}}

@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 = {skip-doi scg-none 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}}

@mastersthesis{Kauf18a,
	Title = {Reproducible moldable interactions},
	Author = {Mario Kaufmann},
	Abstract = {Object inspectors are tools that allow
		developers to explore the state of run-time
		objects. This exploration creates many
		interaction events between the developer
		and the inspector. Recording, saving and
		using those interactions directly in an
		inspector opens opportunities to reduce the
		amount of repetitive actions developers
		need to do during development and
		debugging. To make this possible we propose
		an inspector model that records developer
		interactions as first-class entities and
		uses them to reduce repetition. This is
		enabled through a model that uses a tree to
		keep track of an inspection session, and a
		recording infrastructure that allows each
		widget to decide how user interactions
		should be recorded. To validate this model,
		we identify several types of problems that
		can arise in object inspectors and show how
		they can be addressed if developer
		interactions are recorded by the inspector.
		For example, the new model allows
		developers to replay inspection sessions,
		restore partial navigation and generate
		code from an inspection session.},
	Keywords = {scg-msc snf-asa2 scg18 jb18},
	School = {University of Bern},
	Type = {Masters thesis},
	Url = {http://scg.unibe.ch/archive/masters/Kauf18a.pdf},
	Month = apr,
	Year = {2018}
}

@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}}

@inproceedings{Kaur08a,
  title={Application of random forest in predicting fault-prone classes},
  author={Kaur, Arvinder and Malhotra, Ruchika},
  booktitle={2008 International Conference on Advanced Computer Theory and Engineering},
  pages={37--43},
  year={2008},
  organization={IEEE}
}

@inproceedings{Kava13a,
  title={Using and Asking: APIs Used in the Android Market and Asked about in StackOverflow},
  author={Kavaler, David and Posnett, Daryl and Gibler, Clint and Chen, Hao and Devanbu, Premkumar and Filkov, Vladimir},
  booktitle={International Conference on Social Informatics},
  pages={405--418},
  year={2013},
  organization={Springer}
}

@inproceedings{Kava19a,
  title={Tool Choice Matters: {Javascript} Quality Assurance Tools and Usage Outcomes in {GitHub} Projects},
  author={Kavaler, David and Trockman, Asher and Vasilescu, Bogdan and Filkov, Vladimir},
  booktitle={2019 IEEE/ACM 41st International Conference on Software Engineering (ICSE)},
  pages={476--487},
  year={2019},
  organization={IEEE}
}

@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{Kawa08a,
 author = {Kawachiya, Kiyokuni and Ogata, Kazunori and Onodera, Tamiya},
 title = {Analysis and Reduction of Memory Inefficiencies in Java Strings},
 booktitle = {Proceedings of the 23rd ACM SIGPLAN Conference on Object-oriented Programming Systems Languages and Applications},
 series = {OOPSLA '08},
 year = {2008},
 isbn = {978-1-60558-215-3},
 location = {Nashville, TN, USA},
 pages = {385--402},
 numpages = {18},
 url = {http://doi.acm.org/10.1145/1449764.1449795},
 doi = {10.1145/1449764.1449795},
 acmid = {1449795},
 publisher = {ACM},
 address = {New York, NY, USA},
 keywords = {footprint analysis and reduction, garbage collection, java, memory management, string}
}

@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}}

@incollection{Kay75a,
	Author = {Alan Kay},
	Booktitle = {Meeting on 20 Years of Computing Science},
	Publisher = {Instituto di Elaborazione della Informazione, Pisa, Italy},
	Title = {Personal Computing},
	Year = {1975},
	Pages = {2-30},
	url = {http://mprove.de/diplom/gui/Kay75.pdf}
}

@article{Kay77a,
	Author = {Alan C. Kay},
	Journal = {Scientific American},
	Number = {237},
	Pages = {230--240},
	Title = {Microelectronics and the Personal Computer},
	Volume = {3},
	url={http://dreammachin.es/Kay_SciAm_77.pdf},
	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}}

@misc{Kazman94a,
	Author = {Rick Kazman and Len Bass},
	Title = {Toward Deriving Software Architectures From Quality Attributes},
	Year = {1994}}

@article{Kear91a,
	Author = {Kearns, Steven M.},
	Day = {1},
	Doi = {10.1002/spe.4380210803},
	Journal = {Softw: Pract. Exper.},
	Month = aug,
	Number = {8},
	Pages = {787--804},
	Publisher = {John Wiley \& Sons, Ltd.},
	Title = {Extending regular expressions with context operators and parse extraction},
	Volume = {21},
	Year = {1991},
	Bdsk-Url-1 = {http://dx.doi.org/10.1002/spe.4380210803}}

@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}}

@inproceedings{Kech14a,
	 author = {Kechagia, Maria and Spinellis, Diomidis},
	 title = {Undocumented and Unchecked: Exceptions That Spell Trouble},
	 booktitle = {Proceedings of the 11th Working Conference on Mining Software Repositories},
	 series = {MSR 2014},
	 year = {2014},
	 isbn = {978-1-4503-2863-0},
	 location = {Hyderabad, India},
	 pages = {312--315},
	 numpages = {4},
	 url = {http://doi.acm.org/10.1145/2597073.2597089},
	 doi = {10.1145/2597073.2597089},
	 acmid = {2597089},
	 publisher = {ACM},
	 address = {New York, NY, USA},
	 keywords = {APIs, exceptions, mobile applications, stack traces}
}

@article{Kech18a,
  author    = {Maria Kechagia and
               Marios Fragkoulis and
               Panos Louridas and
               Diomidis Spinellis},
  title     = {The exception handling riddle: An empirical study on the Android {API}},
  journal   = {J. Syst. Softw.},
  volume    = {142},
  pages     = {248--270},
  year      = {2018},
  url       = {https://doi.org/10.1016/j.jss.2018.04.034},
  doi       = {10.1016/j.jss.2018.04.034},
  keywords =  {comment-quality-slr},
  timestamp = {Mon, 26 Oct 2020 08:47:21 +0100},
  biburl    = {https://dblp.org/rec/journals/jss/KechagiaFLS18.bib},
  bibsource = {dblp computer science bibliography, https://dblp.org}
}

@techreport{Keel07a,
	title = {Guidelines for performing systematic literature reviews in software engineering},
	author = {Keele, Staffs},
	year = {2007},
	institution = {Technical report, EBSE Technical Report EBSE-2007-01}}

@book{Keen89a,
	Address = {75 Arlington Street Suite 300, Boston MA, 02116 USA},
	Author = {Sonia E. Keene},
	Publisher = {Addison Wesley},
	Title = {Object-Oriented Programming in Common-Lisp},
	Year = {1989}}

@article{Keim96a,
	title = {Visualization techniques for mining large databases: A comparison},
	author = {Keim, Daniel A and Kriegel, H-P},
	journal = {Knowledge and Data Engineering, IEEE Transactions on},
	volume = {8},
	number = {6},
	pages = {923--938},
	year = {1996},
	publisher = {IEEE}}

@inproceedings{Keiv11a,
	Author = {Iman Keivanloo and Juergen Rilling and Philippe Charland},
	Bibsource = {DBLP, http://dblp.uni-trier.de},
	Booktitle = {WCRE},
	Doi = {10.1109/WCRE.2011.13},
	Pages = {23-27},
	Title = {Internet-scale Real-time Code Clone Search Via Multi-level Indexing},
	Year = {2011},
	Bdsk-Url-1 = {http://dx.doi.org/10.1109/WCRE.2011.13}}

@misc{Kell11b,
	Key = {xp agile requirements},
	Title = {The Agile 10 Step Requirements Model},
	Author = {Allan Kelly},
	Url = {https://www.allankellyassociates.co.uk/static/overload/Agile10StepModel.pdf}}

@inproceedings{Kell85a,
	Acmid = {325423},
	Address = {New York, NY, USA},
	Author = {Keller, Arthur M.},
	Booktitle = {Proceedings of the fourth ACM SIGACT-SIGMOD symposium on Principles of database systems},
	Date-Added = {2013-04-07 13:23:03 +0000},
	Date-Modified = {2013-04-07 13:23:23 +0000},
	Doi = {10.1145/325405.325423},
	Isbn = {0-89791-153-9},
	Keywords = {bx; classic; view-update},
	Location = {Portland, Oregon, USA},
	Numpages = {10},
	Pages = {154--163},
	Publisher = {ACM},
	Series = {PODS '85},
	Title = {Algorithms for translating view updates to database updates for views involving selections, projections, and joins},
	Url = {http://doi.acm.org/10.1145/325405.325423},
	Year = {1985},
	Bdsk-Url-1 = {http://doi.acm.org/10.1145/325405.325423},
	Bdsk-Url-2 = {http://dx.doi.org/10.1145/325405.325423}}

@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{Kell98c,
	Abstract = {Designing software to connect an object-oriented business system with
	a relational database is a tedious task. Object-orientation and the
	relational paradigm differ quite a bit. An application that maps
	between the two paradigms needs to be designed with respect to performance,
	maintainability and cost to name just a few requirements. Luckily
	there are numerous patterns of object/relational access layers, but
	looking at the body of pattern literature you will find that some
	patterns are still to be mined, while there's no generative "one
	stop" pattern language for the problem domain. This paper provides
	a systematic roadmap of the patterns in the field, and fills some
	pot holes on the road towards a full pattern language for object/relational
	access layers by providing some missing patterns and links.},
	Author = {Wolfgang Keller},
	Booktitle = {In Proceeding of EuroPlop 1998, Irsee},
	Pages = {1--25},
	Title = {Object/Relational Access Layers - A Roadmap, Missing Links and More Patterns},
	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,
	Acmid = {1089734},
	Address = {New York, NY, USA},
	Author = {Kelleher, Caitlin and Pausch, Randy},
	Doi = {10.1145/1089733.1089734},
	Issn = {0360-0300},
	Issue = {2},
	Journal = {ACM Comput. Surv.},
	Keywords = {Human-computer interaction, computer Science education, learning, literacy, problem solving},
	Month = jun,
	Numpages = {55},
	Pages = {83--137},
	Publisher = {ACM},
	Title = {Lowering the barriers to programming: A taxonomy of programming environments and languages for novice programmers},
	Volume = {37},
	Year = {2005},
	Bdsk-Url-1 = {http://dx.doi.org/10.1145/1089733.1089734}}

@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}}

@inproceedings{Kell09a,
	title = {Cognac: A framework for documenting and verifying the design of cobol systems},
	author = {Kellens, Andy and De Schutter, Kris and D'Hondt, Theo and Jorissen, Luc and Van Passel, Bart},
	booktitle = {Software Maintenance and Reengineering, 2009. CSMR'09. 13th European Conference on},
	pages = {199--208},
	year = {2009},
	organization = {IEEE}}

@inproceedings{Kell11a,
	Annote = {internationalworkshop},
	Author = {Stephen Kell and Conrad Irwin},
	Booktitle = {VMIL '11: Proceedings of the 5th workshop on Virtual machines and intermediate languages for emerging modularization mechanisms},
	Location = {Portland, Oregon, U.S.A.},
	Pages = {6},
	Publisher = {ACM},
	Title = {Virtual machines should be invisible},
	Url = {http://www.cs.iastate.edu/~design/vmil/2011/papers/p02-kell.pdf},
	Year = {2011},
	Bdsk-Url-1 = {http://www.cs.iastate.edu/~design/vmil/2011/papers/p02-kell.pdf}}

@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{Kent95a,
	Author = {Stuart Kent and Ian Maung},
	Booktitle = {In TOOLS Pacific 18},
	Date-Added = {2012-07-04 09:30:49 +0000},
	Date-Modified = {2012-07-04 09:31:41 +0000},
	Keywords = {aliasing},
	Publisher = {Prentice Hall},
	Title = {Encapsulation and Aggregation},
	Year = {1995}}

@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}}

@article{Kere95a,
  title={{HP Distributed Smalltalk}: A Tool for Developing Distributed Applications},
  author={Keremitsis, Eileen and Fuller, Ian J},
  journal={HEWLETT PACKARD JOURNAL},
  volume={46},
  pages={85--85},
  year={1995},
  publisher={HEWLETT PACKARD}}

@book{Kerie04a,
	Author = {Kerievsky, Joshua},
	Month = aug,
	Publisher = {Addison-Wesley Professional},
	Title = {Refactoring to Patterns},
	Year = {2004}}

@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}}

@book{Kern99a,
	Author = {Kernighan, Brian W. and Pike, Rob},
	Day = {14},
	Edition = {1},
	Howpublished = {Paperback},
	Isbn = {020161586X},
	Month = feb,
	Publisher = {Addison-Wesley},
	Title = {The Practice of Programming ({Addison-Wesley} Professional Computing Series)},
	Url = {http://www.amazon.com/exec/obidos/redirect?tag=citeulike07-20\&path=ASIN/020161586X},
	Year = {1999},
	Bdsk-Url-1 = {http://www.amazon.com/exec/obidos/redirect?tag=citeulike07-20%5C&path=ASIN/020161586X}}

@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},
    keywords = {mylar mylyn IDE, degree-of-interest, interaction history, program views, task management},
	Bdsk-Url-1 = {http://dx.doi.org/10.1145/1181775.1181777}}

@inproceedings{Kevi14a,
author={Kevic, K. and Fritz, T. and Shepherd, D.C.},
booktitle={Software Maintenance and Evolution (ICSME), 2014 IEEE International Conference on},
title={{CoMoGen}: An Approach to Locate Relevant Task Context by Combining Search and Navigation},
year={2014},
pages={61-70},
doi={10.1109/ICSME.2014.28},
ISSN={1063-6773},
month=sep}

@inproceedings{Khad13a,
	title = {A structured legacy to SOA migration process and its evaluation in practice},
	author = {Khadka, Ravi and Saeidi, Amir and Jansen, Slinger and Hage, Jurriaan},
	booktitle = {Maintenance and Evolution of Service-Oriented and Cloud-Based Systems (MESOCA), 2013 IEEE 7th International Symposium on the},
	pages = {2--11},
	year = {2013},
	organization = {IEEE}}

@inproceedings{Kham10a,
  title={Automatic quality assessment of source code comments: the {JavadocMiner}},
  author={Khamis, Ninus and Witte, Ren{\'e} and Rilling, Juergen},
  booktitle={International Conference on Application of Natural Language to Information Systems},
  pages={68--79},
  year={2010},
  organization={Springer}
}

@inproceedings{Khan10a,
	Abstract = {Enterprise Architecture (EA) models the whole vision of an organisation in various aspects regarding
				both business processes and information technology resources. As the organisation grows, the architecture
				governing its systems and processes must also evolve to meet with the demands of the business environment.
				In this context, a critical issue is change propagation: given a set of primary changes that have been
				made to the EA model, what additional secondary changes are needed to maintain consistency across
				multiple levels of the EA. This paper proposes an enterprise architectural description language, namely
				Change Aware Hierarchical EA, integrated with a framework to support change propagation within an EA model.
				The core part of our change propagation framework is a new method for generating interactive repair plans
				from Alloy consistency rules that constrain the EA model.},
	Author = {Hoa Khanh Dam and Lam-Son Le and Ghose, A.},
	Booktitle = {Enterprise Distributed Object Computing Conference (EDOC), 2010 14th IEEE International},
	Doi = {10.1109/EDOC.2010.23},
	Issn = {1541-7719},
	Keywords = {additional secondary change;alloy consistency rules;business environment;business process;change propagation framework;enterprise architectural description language;enterprise architecture model;information technology resource;corporate modelling;management of change;},
	Month = oct,
	Pages = {24 -33},
	Title = {Supporting Change Propagation in the Evolution of Enterprise Architectures},
	Year = {2010},
	Bdsk-Url-1 = {http://dx.doi.org/10.1109/EDOC.2010.23}}

@inproceedings{Khom09a,
	Acmid = {1686210},
	Address = {Washington, DC, USA},
	Author = {Khomh, Foutse and Di Penta, Massimiliano and Gueheneuc, Yann-Gael},
	Booktitle = {Proceedings of the 2009 16th Working Conference on Reverse Engineering},
	Doi = {10.1109/WCRE.2009.28},
	Isbn = {978-0-7695-3867-9},
	Keywords = {Code Smells, Mining Software Repositories, Empirical Software Engineering},
	Numpages = {10},
	Pages = {75--84},
	Publisher = {IEEE Computer Society},
	Series = {WCRE '09},
	Title = {An Exploratory Study of the Impact of Code Smells on Software Change-proneness},
	Url = {http://dx.doi.org/10.1109/WCRE.2009.28},
	Year = {2009},
	Bdsk-Url-1 = {http://dx.doi.org/10.1109/WCRE.2009.28}}

@inproceedings{Khoo13,
	Acmid = {2486835},
	Address = {Piscataway, NJ, USA},
	Author = {Khoo, Yit Phang and Foster, Jeffrey S. and Hicks, Michael},
	Booktitle = {Proceedings of the 2013 International Conference on Software Engineering},
	Isbn = {978-1-4673-3076-3},
	Location = {San Francisco, CA, USA},
	Numpages = {10},
	Pages = {352--361},
	Publisher = {IEEE Press},
	Series = {ICSE '13},
	Title = {Expositor: scriptable time-travel debugging with first-class traces},
	Url = {http://dl.acm.org/citation.cfm?id=2486788.2486835},
	Year = {2013},
	Bdsk-Url-1 = {http://dl.acm.org/citation.cfm?id=2486788.2486835}}

@inproceedings{Khoo13a,
	Acmid = {2486835},
	Address = {Piscataway, NJ, USA},
	Author = {Khoo, Yit Phang and Foster, Jeffrey S. and Hicks, Michael},
	Booktitle = {Proceedings of the 2013 International Conference on Software Engineering},
	Isbn = {978-1-4673-3076-3},
	Location = {San Francisco, CA, USA},
	Numpages = {10},
	Pages = {352--361},
	Publisher = {IEEE Press},
	Series = {ICSE'13},
	Title = {Expositor: Scriptable Time-travel Debugging with First-class Traces},
	Url = {http://dl.acm.org/citation.cfm?id=2486788.2486835},
	Year = {2013},
	Bdsk-Url-1 = {http://dl.acm.org/citation.cfm?id=2486788.2486835}}

@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}}

@article{Khos03a,
  title={Ordering fault-prone software modules},
  author={Khoshgoftaar, Taghi M and Allen, Edward B},
  journal={Software Quality Journal},
  volume={11},
  number={1},
  pages={19--37},
  year={2003},
  publisher={Springer}
}

@article{Khos04a,
	Author = {Khoshgoftaar, Taghi M and Seliya, Naeem},
	Journal = {Empirical Software Engineering},
	Number = {3},
	Pages = {229--257},
	Publisher = {Springer},
	Title = {Comparative assessment of software quality classification techniques: An empirical case study},
	Volume = {9},
	Year = {2004}}

@article{Khos06a,
  title={An empirical study of predicting software faults with case-based reasoning},
  author={Khoshgoftaar, Taghi M and Seliya, Naeem and Sundaresh, Nandini},
  journal={Software Quality Journal},
  volume={14},
  number={2},
  pages={85--111},
  year={2006},
  publisher={Springer}
}

@inproceedings{Khos10a,
  title={Attribute selection and imbalanced data: Problems in software defect prediction},
  author={Khoshgoftaar, Taghi M and Gao, Kehan and Seliya, Naeem},
  booktitle={2010 22nd IEEE International Conference on Tools with Artificial Intelligence},
  volume={1},
  pages={137--144},
  year={2010},
  organization={IEEE}
}

@article{Khos14a,
  author={Khoshgoftaar, Taghi M. and Gao, Kehan and Napolitano, Amri and Wald, Randall},
  title={A comparative study of iterative and non-iterative feature selection techniques for software defect prediction},
  journal={Information Systems Frontiers},
  year={2014},
  volume={16},
  number={5},
  pages={801--822},
  issn={1572-9419},
  doi={10.1007/s10796-013-9430-0},
  url={http://dx.doi.org/10.1007/s10796-013-9430-0}}

@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 = {Kiczales, Gregor and Lamping, John and Mendhekar, Anurag and Maeda, Chris and Lopes, Cristina and Loingtier, Jean-Marc and Irwin, John},
	Booktitle = {ECOOP'97: Proceedings of the 11th European Conference on Object-Oriented Programming},
	Doi = {10.1007/BFb0053381},
	Editor = {Mehmet Aksit and Satoshi Matsuoka},
	Keywords = {olit aop aspectj},
	Month = jun,
	Pages = {220--242},
	Publisher = {Springer-Verlag},
	Series = {LNCS},
	Title = {Aspect-Oriented Programming},
	Volume = 1241,
	Year = {1997},
	Bdsk-Url-1 = {http://dx.doi.org/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,
	Address = {London, UK},
	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,
	Address = {Berlin, Germany},
	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},
	Isbn = {0-8186-7246-3},
	Keywords = {damiencbib flexibility productivity reliability software component generation usability},
	Month = mar,
	Pages = {542--552},
	Publisher = {IEEE Computer Society},
	Title = {A software engineering experiment in software component generation},
	Year = {1996}}

@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}}

@inproceedings{Kien08a,
	title = {Towards a process for developing maintenance tools in academia},
	author = {Kienle, Holger M and Muller, HA},
	booktitle = {Reverse Engineering, 2008. WCRE'08. 15th Working Conference on},
	pages = {237--246},
	year = {2008},
	organization = {IEEE}
}

@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 = {Holger M. Kienle and Adrian Kuhn and Kim Mens and Mark van den Brand and Roel Wuyts},
	Doi = {10.1109/MS.2009.25},
	Issn = {0740-7459},
	Journal = {IEEE Software},
	Keywords = {wasdett-pub akuhn},
	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,
	Author = {Pekka Kilpel\"{a}inen and Heikki Mannila},
	Booktitle = {Combinatorial Pattern Matching},
	Organization = {Springer},
	Pages = {162--174},
	Title = {Grammatical tree matching},
	Year = {1992}}

@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 scg-none 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{Kim06b,
	Acmid = {1181781},
	Address = {New York, NY, USA},
	Author = {Kim, Sunghun and Pan, Kai and Whitehead,Jr., E. E. James},
	Booktitle = {Proceedings of the 14th ACM SIGSOFT international symposium on Foundations of software engineering},
	Doi = {10.1145/1181775.1181781},
	Isbn = {1-59593-468-5},
	Keywords = {bug, bug finding tool, fault, fix, patterns, prediction},
	Location = {Portland, Oregon, USA},
	Numpages = {11},
	Pages = {35--45},
	Publisher = {ACM},
	Series = {SIGSOFT '06/FSE-14},
	Title = {Memories of bug fixes},
	Url = {http://doi.acm.org/10.1145/1181775.1181781},
	Year = {2006},
	Bdsk-Url-1 = {http://doi.acm.org/10.1145/1181775.1181781},
	Bdsk-Url-2 = {http://dx.doi.org/10.1145/1181775.1181781}}

@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}}

@inproceedings{Kim08a,
	Acmid = {1490290},
	Address = {New York, NY, USA},
	Articleno = {5},
	Author = {Kim, Dong Kwan and Tilevich, Eli},
	Booktitle = {Proceedings of the 1st International Workshop on Hot Topics in Software Upgrades},
	Date-Added = {2012-01-26 09:30:20 +0100},
	Date-Modified = {2012-01-26 09:42:56 +0100},
	Doi = {doi.acm.org/10.1145/1490283.1490290},
	Isbn = {978-1-60558-304-4},
	Keywords = {java; dsu; transformation;},
	Location = {Nashville, Tennessee},
	Numpages = {5},
	Pages = {5:1--5:5},
	Publisher = {ACM},
	Series = {HotSWUp '08},
	Title = {Overcoming {JVM} {HotSwap} constraints via binary rewriting},
	Url = {http://doi.acm.org/10.1145/1490283.1490290},
	Year = {2008},
	Bdsk-Url-1 = {http://doi.acm.org/10.1145/1490283.1490290},
	Bdsk-Url-2 = {http://dx.doi.org/10.1145/1490283.1490290}}

@article{Kim08b,
  title={Classifying software changes: Clean or buggy?},
  author={Kim, Sunghun and Whitehead Jr, E James and Zhang, Yi},
  journal={IEEE Transactions on Software Engineering},
  volume={34},
  number={2},
  pages={181--196},
  year={2008},
  publisher={IEEE}
}

@inproceedings{Kim09a,
 author = {Kim, Miryung and Notkin, David},
 title = {Discovering and Representing Systematic Code Changes},
 booktitle = {Proceedings of the 31st International Conference on Software Engineering},
 series = {ICSE '09},
 year = {2009},
 isbn = {978-1-4244-3453-4},
 pages = {309--319},
 numpages = {11},
 url = {http://dx.doi.org/10.1109/ICSE.2009.5070531},
 doi = {10.1109/ICSE.2009.5070531},
 acmid = {1555046},
 publisher = {IEEE Computer Society},
 address = {Washington, DC, USA}
}

@inproceedings{Kim09b,
 author = {Kim, Jinhan and Lee, Sanghoon and Hwang, Seung-won and Kim, Sunghun},
 title = {Adding Examples into Java Documents},
 booktitle = {Proceedings of the 2009 IEEE/ACM International Conference on Automated Software Engineering},
 series = {ASE '09},
 year = {2009},
 isbn = {978-0-7695-3891-4},
 pages = {540--544},
 numpages = {5},
 url = {http://dx.doi.org/10.1109/ASE.2009.39},
 doi = {10.1109/ASE.2009.39},
 acmid = {1747552},
 publisher = {IEEE Computer Society},
 address = {Washington, DC, USA},
 keywords = {API Documents, Examples, Structures, Code Clustering, Ranking}
}

@inproceedings{Kim11a,
 author = {Kim, Miryung},
 title = {An Exploratory Study of Awareness Interests About Software Modifications},
 booktitle = {Proceedings of the 4th International Workshop on Cooperative and Human Aspects of Software Engineering},
 series = {CHASE '11},
 year = {2011},
 isbn = {978-1-4503-0576-1},
 location = {Waikiki, Honolulu, HI, USA},
 pages = {80--83},
 numpages = {4},
 url = {http://doi.acm.org/10.1145/1984642.1984662},
 doi = {10.1145/1984642.1984662},
 acmid = {1984662},
 publisher = {ACM},
 address = {New York, NY, USA},
 keywords = {awareness interests, code change, empirical study, dev-questions}
}

@inproceedings{Kim13,
 author = {Kim, Dongsun and Nam, Jaechang and Song, Jaewoo and Kim, Sunghun},
 title = {Automatic Patch Generation Learned from Human-written Patches},
 booktitle = {Proceedings of the 2013 International Conference on Software Engineering},
 series = {ICSE '13},
 year = {2013},
 isbn = {978-1-4673-3076-3},
 location = {San Francisco, CA, USA},
 pages = {802--811},
 numpages = {10},
 url = {http://dl.acm.org/citation.cfm?id=2486788.2486893},
 acmid = {2486893},
 publisher = {IEEE Press},
 address = {Piscataway, NJ, USA}
}

@inproceedings{Kim16a,
	Author = {Miryung Kim and Thomas Zimmermann and Robert DeLine and Andrew Begel},
	Booktitle = {Proceedings of the 38th International Conference on Software Engineering (ICSE 2016)},
	Keywords = {analytics},
	Publisher = {ACM},
	Title = {The Emerging Role of Data Scientists on Software Development Teams},
	Year = {2016}}

@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}}

@inproceedings{Kimm11a,
	Abstract = {One common task of developing or maintaining software is searching
	the source code for information like specific method calls or write
	accesses to certain fields. This kind of information is required
	to correctly implement new features and to solve bugs. This paper
	presents an approach for querying source code with natural language.},
	Author = {Markus Kimmig and Martin Monperrus and Mira Mezini},
	Booktitle = {Proceedings of the 26th IEEE/ACM International Conference On Automated Software Engineering},
	Comment = {short paper, acceptance rate: 87/252, 35%},
	Keywords = {newresults},
	Pages = {376-379},
	Title = {Querying Source Code with Natural Language},
	Url = {http://www.monperrus.net/martin/Querying-Source-Code-with-Natural-Language.pdf},
	Year = {2011},
	Bdsk-Url-1 = {http://www.monperrus.net/martin/Querying-Source-Code-with-Natural-Language.pdf}}

@inproceedings{Kimu14a,
author={Kimura, S. and Hotta, K. and Higo, Y. and Igaki, H. and Kusumoto, S.},
booktitle={Software Maintenance, Reengineering and Reverse Engineering (CSMR-WCRE), 2014 Software Evolution Week - IEEE Conference on},
title={Does return null matter?},
year={2014},
month=feb,
pages={244-253},
keywords={object-oriented languages;program diagnostics;software maintenance;method invocation;null check;null dereferences;object-oriented languages;return null;software evolution;software maintenance;source code;Correlation;Educational institutions;Java;Null value;Software maintenance;Writing;return null;software evolution;software maintenance},
doi={10.1109/CSMR-WCRE.2014.6747176}
}

@techreport{Kinc75a,
  title={Derivation of new readability formulas (automated readability index, fog count and flesch reading ease formula) for navy enlisted personnel},
  author={Kincaid, J Peter and Fishburne Jr, Robert P and Rogers, Richard L and Chissom, Brad S},
  year={1975},
  institution={Naval Technical Training Command Millington TN Research Branch}
}

@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}}

@book{King99a,
  title={Java Code Conventions},
  author={King, Peter and Naughton, Patrick and DeMoney, Mike and Kanerva, Jonni and Walrath, Kathy and Hommel, Scott},
  Publisher={Sun Microsystems Inc},
  year={1999}
}

@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}}

@misc{Kitc07a,
  title     = {Guidelines for performing Systematic Literature Reviews in Software Engineering},
  author    = {Kitchenham, Barbara and Charters, Stuart},
  year      = {2007},
  publisher = {Citeseer}
}

@article{Kitc09a,
	title = {Systematic literature reviews in software engineering --- A systematic literature review},
	author = {Barbara Kitchenham and O. Pearl Brereton and David Budgen and Mark Turner and John Bailey and Stephen Linkman},
	journal = {Information and Software Technology},
	volume = {51},
	number = {1},
	pages = {7-15},
	year = {2009},
	note = {Special Section --- Most Cited Articles in 2002 and Regular Research Papers},
	issn = {0950-5849},
	doi = {10.1016/j.infsof.2008.09.009},
	url = {http://www.idi.ntnu.no/grupper/su/publ/ebse/meta-systematic-reviews-kitchenham-jan09ist.pdf}
}

@inproceedings{Kjol11a,
 author = {Kjolstad, Fredrik and Dig, Danny and Acevedo, Gabriel and Snir, Marc},
 title = {Transformation for Class Immutability},
 booktitle = {Proceedings of the 33rd International Conference on Software Engineering},
 series = {ICSE '11},
 year = {2011},
 isbn = {978-1-4503-0445-0},
 location = {Waikiki, Honolulu, HI, USA},
 pages = {61--70},
 numpages = {10},
 url = {http://doi.acm.org/10.1145/1985793.1985803},
 doi = {10.1145/1985793.1985803},
 acmid = {1985803},
 publisher = {ACM},
 address = {New York, NY, USA},
 keywords = {immutability, program transformation}
}

@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}}

@inproceedings{Klas10a,
	Author = {Klas, M. and Elberzhager, F. and Munch, J. and Hartjes, K. and von Graevemeyer, O.},
	Booktitle = {Software Engineering, 2010 ACM/IEEE 32nd International Conference on},
	Doi = {10.1145/1810295.1810313},
	Issn = {0270-5257},
	Keywords = {data analysis;expert systems;quality assurance;quality control;software quality;HyDEEP;QA activity;data-based method;defect content estimation;defect prediction;expert data;expert-based estimation method;hybrid estimation method;measurement data;quality assurance;quality control;software intensive system;telecommunication domain;Context;Context modeling;Data models;Equations;Estimation;Planning;Predictive models;HyDEEP;defect content;effectiveness;hybrid estimation},
	Month = may,
	Pages = {119-128},
	Title = {Transparent combination of expert and measurement data for defect prediction: an industrial case study},
	Volume = {2},
	Year = {2010},
	Bdsk-Url-1 = {http://dx.doi.org/10.1145/1810295.1810313}}

@article{Klei72a,
	Acmid = {321717},
	Address = {New York, NY, USA},
	Author = {Kleinrock, L. and Muntz, R. R.},
	Doi = {10.1145/321707.321717},
	Issn = {0004-5411},
	Journal = {J. ACM},
	Month = jul,
	Number = {3},
	Numpages = {19},
	Pages = {464--482},
	Publisher = {ACM},
	Title = {Processor Sharing Queueing Models of Mixed Scheduling Disciplines for Time Shared System},
	Url = {http://doi.acm.org/10.1145/321707.321717},
	Volume = {19},
	Year = {1972},
	Bdsk-Url-1 = {http://doi.acm.org/10.1145/321707.321717},
	Bdsk-Url-2 = {http://dx.doi.org/10.1145/321707.321717}}

@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},
	Booktitle = {In Advances in Neural Information Processing Systems 15 (NIPS},
	Pages = {3--10},
	Publisher = {MIT Press},
	Title = {Fast Exact Inference with a Factored Model for Natural Language Parsing},
	Year = {2003}}

@inproceedings{Klei12a,
	Abstract = {Static type systems play an essential role in contemporary programming languages.
				Despite their importance, whether static type systems influence human software development
				capabilities remains an open question. One frequently mentioned argument for static type
				systems is that they improve the maintainability of software systems - an often used
				claim for which there is no empirical evidence. This paper describes an experiment which
				tests whether static type systems improve the maintainability of software systems.
				The results show rigorous empirical evidence that static type are indeed beneficial to
				these activities, except for fixing semantic errors.},
	Author = {Kleinschmager, S. and Hanenberg, S. and Robbes, R. and Tanter, E. and Stefik, A.},
	Booktitle = {2012 IEEE 20th International Conference on Program Comprehension (ICPC)},
	Doi = {10.1109/ICPC.2012.6240483},
	Issn = {1092-8138},
	Keywords = {contemporary programming languages;software system maintainability;static type systems;programming languages;software maintenance;},
	Month = jun,
	Pages = {153 -162},
	Title = {Do static type systems improve the maintainability of software systems? {An} empirical study},
	Year = {2012},
	Bdsk-Url-1 = {http://dx.doi.org/10.1109/ICPC.2012.6240483}}

@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},
	Booktitle = {PLDI 1989},
	Doi = {10.1145/73141.74834},
	Isbn = {0-89791-306-X},
	Keywords = {parsing},
	Pages = {179--191},
	Publisher = {ACM},
	Title = {Incremental generation of parsers},
	Year = {1989},
	Bdsk-Url-1 = {http://dx.doi.org/10.1145/73141.74834}}

@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}}

@inproceedings{Klin94a,
    author = {Paul Klint and Eelco Visser},
    title = {Using Filters for the Disambiguation of Context-free Grammars},
    booktitle = {Proc. ASMICS Workshop on Parsing Theory},
    year = {1994},
    pages = {1--20}
}

@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{Klin09a,
	Author = {Paul Klint and Tijs van der Storm and Jurgen Vinju},
	Booktitle = {Source Code Analysis and Manipulation, 2009. SCAM '09. Ninth IEEE International Working Conference on},
	Doi = {10.1109/SCAM.2009.28},
	Pages = {168-177},
	Title = {{RASCAL}: A Domain Specific Language for Source Code Analysis and Manipulation},
	Url = {http://homepages.cwi.nl/~jurgenv/papers/SCAM-2009.pdf},
	Year = {2009},
	Bdsk-Url-1 = {http://homepages.cwi.nl/~jurgenv/papers/SCAM-2009.pdf},
	Bdsk-Url-2 = {http://dx.doi.org/10.1109/SCAM.2009.28}}

@misc{Klin13a,
    author = {Paul Klint and Tijs Storm and Jurgen Vinju},
    title = {RASCAL: a Domain Specific Language for Source Code Analysis and Manipulation},
    year = {2013}
}

@techreport{Klop21a,
	Title = {Biomimicry-based Algorithms and Their Lack of Generalization},
	Author = {Dean Klopsch},
	Abstract = {Biomimicry has received much attention in engineering, and many
		breakthrough discoveries have been guided by a solution found in
		nature. However, many biomimicry-based proposals apply to a
		specific problem, provide limited context, and lack
		implementation details. That makes it unnecessarily hard for
		practitioners to find relevant literature for their problems. To
		investigate this problem, we performed a literature review on
		111 publications related to biomimicry and extracted several
		characteristics, e.g., meta-data, the solution, and the
		investigated species. In particular, we were interested in
		whether the proposed algorithms could be used for other use
		cases. Our results indicate a structural issue: publications
		related to new or adapted algorithms very prominently emphasize
		on a specific use case, instead of the generalized problem
		category, e.g., clustering. We found that 38% lack
		generalization at least in one of the introductory elements
		(i.e., title, abstract, and introduction), and that 53% of them
		lack generalization entirely. Moreover, 40% of the proposed
		algorithms lack at least one major characteristic, e.g., code
		samples or benchmarks against state of the art algorithms. We
		motivate the found generalization problem with our adapted
		implementation of an algorithm proposed for load scheduling.
		Moreover, the artifacts of this study can support practitioners
		in finding more efficiently existing solutions across research
		domains.},
	Institution = {University of Bern},
	Keywords = {scg-bp snf-none scg21 jb21},
	Type = {Bachelor's thesis},
	Url = {http://scg.unibe.ch/archive/projects/Klop21a.pdf},
	Month = feb,
	Year = {2021}
}

@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}}

@article{Klus05a,
    issn = {0167-6423},
    doi = {10.1016/j.scico.2004.03.012},
    url = {http://www.sciencedirect.com/science/article/pii/S0167642304000735},
    author = {A.S. Klusener and R. L{\"a}mmel and C. Verhoef},
    title = {Architectural Modifications to Deployed Software},
    year = {2005},
    journal = {Sci. Comput. Program.},
    keywords = {Software malleability, Software maintenance, Definition of software architecture, Software modification, Software analysis},
    abstract = {We discuss the nuts and bolts of industrial large-scale software modification projects. These projects become necessary when system owners of deployed systems hit architectural barriers. The mastery of such projects is key to the extension of the best-before date of business-critical software assets. Our discussion comprises the process for problem analysis, pricing and contracting for such projects, design and implementation of tools for code exploration and code modification, as well as details of service delivery. We illustrate these concerns by way of a real-world example where a deployed management information system required an invasive modification to make the system fit for future use. The chosen project is particularly suited for a complete treatise because of its size (just 90,000 LOC), and the nature of the relevant architectural modification (namely, a form of data expansion). We share the lessons that we learned in this and other architectural modification projects.}
}

@inproceedings{Knab10a,
	Acmid = {1884249},
	Address = {Berlin, Heidelberg},
	Author = {Knab, Patrick and Pinzger, Martin and Gall, Harald C.},
	Booktitle = {Proceedings of the 2010 international conference on New modeling concepts for today's software processes: software process},
	Isbn = {3-642-14346-6, 978-3-642-14346-5},
	Location = {Paderborn, Germany},
	Numpages = {12},
	Pages = {222--233},
	Publisher = {Springer-Verlag},
	Series = {ICSP'10},
	Title = {Visual patterns in issue tracking data},
	Url = {http://portal.acm.org/citation.cfm?id=1884224.1884249},
	Year = {2010},
	Bdsk-Url-1 = {http://portal.acm.org/citation.cfm?id=1884224.1884249}}

@inproceedings{Knau12a,
  title={On the usage of context for requirements elicitation: End-user involvement in IT ecosystems},
  author={Knauss, Alessia},
  booktitle={Requirements Engineering Conference (RE), 2012 20th IEEE International},
  pages={345--348},
  year={2012},
  organization={IEEE}
}

@inproceedings{Knaus08a,
	Acmid = {1449873},
	Address = {Nashville, TN, USA},
	Author = {Knaus, Claude Y.},
	Booktitle = {OOPSLA'08: Companion to the 23rd Conference on Object-Oriented Programming Systems Languages And Applications},
	Doi = {10.1145/1449814.1449873},
	Isbn = {978-1-60558-220-7},
	Keywords = {design patterns domain specific languages DSL paradigm damiencbib},
	Numpages = {4},
	Pages = {823--826},
	Publisher = {ACM},
	Series = {OOPSLA Companion'08},
	Title = {Essential programming paradigm},
	Year = {2008},
	Bdsk-Url-1 = {http://dx.doi.org/10.1145/1449814.1449873}}

@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 skip-doi scg-none 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}}

@article{Knie04b,
	 author = {Kniesel, G\"{u}nter and Koch, Helge},
	 title = {Static Composition of Refactorings},
	 journal = {Sci. Comput. Program.},
	 issue_date = {August 2004},
	 volume = {52},
	 number = {1-3},
	 month = aug,
	 year = {2004},
	 issn = {0167-6423},
	 pages = {9--51},
	 numpages = {43},
	 url = {http://dx.doi.org/10.1016/j.scico.2004.03.002},
	 doi = {10.1016/j.scico.2004.03.002},
	 acmid = {1034993},
	 publisher = {Elsevier North-Holland, Inc.},
	 address = {Amsterdam, The Netherlands, The Netherlands},
	 keywords = {AND-sequence, OR-sequence, composition, conditional program transformation, derivation of precondition, refactoring, transformation description}
}

@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,
	Acmid = {10688},
	Address = {Piscataway, NJ, USA},
	Author = {Knight, John C. and Leveson, Nancy G.},
	Issn = {0098-5589},
	Issue = {1},
	Journal = {IEEE Transactions Software Engineering},
	Month = jan,
	Numpages = {14},
	Pages = {96--109},
	Publisher = {IEEE Press},
	Title = {An experimental evaluation of the assumption of independence in multiversion programming},
	Url = {http://portal.acm.org/citation.cfm?id=10677.10688},
	Volume = {12},
	Year = {1986},
	Bdsk-Url-1 = {http://portal.acm.org/citation.cfm?id=10677.10688}}

@inproceedings{Knig99a,
	title = {Comprehension with [in] virtual environment visualisations},
	author = {Knight, Claire and Munro, Malcolm},
	booktitle = {Program Comprehension, 1999. Proceedings. Seventh International Workshop on},
	pages = {4--11},
	year = {1999},
	organization = {IEEE}
}

@inproceedings{Knig00a,
	title = {Virtual but visible software},
	author = {Knight, Claire and Munro, Malcolm},
	booktitle = {Information Visualization, 2000. Proceedings. IEEE International Conference on},
	pages = {198--205},
	year = {2000},
	organization = {IEEE}
}

@article{Knig02a,
	Author = {Knight, Alan and Dai, Naci},
	Doi = {10.1109/52.991332},
	Issn = {0740-7459},
	Journal = {IEEE Software},
	Keywords = {model-view-controller mvc web damiencbib},
	Month = mar,
	Number = {2},
	Pages = {51 -59},
	Title = {Objects and the Web},
	Volume = {19},
	Year = {2002},
	Bdsk-Url-1 = {http://dx.doi.org/10.1109/52.991332}}

@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{Knod06b,
	title = {Understanding Software Architectures by Visualization--An Experiment with Graphical Elements},
	author = {Knodel, Jens and Muthig, Dirk and Naab, Matthias},
	booktitle = {Reverse Engineering, 2006. WCRE'06. 13th Working Conference on},
	pages = {39--50},
	year = {2006},
	organization = {IEEE}
}

@inproceedings{Knod07a,
	Abstract = {The software architecture is one of the most important artifacts created in the
				lifecycle of a software system. It enables, facilitates, hampers, or interferes
				directly the achievement of business goals, functional and quality requirements.
				One instrument to determine how adequate the architecture is for its intended usage
				is architecture compliance checking. This paper compares three static architecture
				compliance checking approaches (reflexion models, relation conformance rules, and
				component access rules) by assessing their applicability in 13 distinct dimensions.
				The results give guidance on when to use which approach.},
	Author = {Knodel, J. and Popescu, D.},
	Booktitle = {Software Architecture, 2007. WICSA '07. The Working IEEE/IFIP Conference on},
	Doi = {10.1109/WICSA.2007.1},
	Keywords = {business goals;functional requirements;quality requirements;software architecture;software system;static architecture compliance checking;program verification;software architecture;software quality;},
	Month = jan,
	Pages = {12},
	Title = {A Comparison of Static Architecture Compliance Checking Approaches},
	Year = {2007},
	Bdsk-Url-1 = {http://dx.doi.org/10.1109/WICSA.2007.1}}

@inproceedings{Knod08a,
	Author = {Jens Knodel and Dirk Muthig and Dominik Rost},
	Booktitle = {Proceedings of the 24th IEEE International Conference on Software Maintenance (ICSM 2008)},
	Pages = {287-296},
	Title = {Constructive Architecture Compliance Checking -- An Experiment on Support by Live Feedback},
	Year = {2008}}

@phdthesis{Knod11a,
	Annote = {PhD},
	Author = {Jens Knodel},
	Institution = {Frauenhofer},
	School = {Univ. of Kaiserslautern, Computer Science Department},
	Title = {Sustainable Structures in Software Implementations by Live Compliance Checking},
	Type_Rapport = {PhD},
	Url = {http://www.amazon.com/Sustainable-Structures-Implementations-Experimental-Engineering/dp/3839602335},
	X-Language = {EN},
	Year = {2011},
	Bdsk-Url-1 = {http://www.amazon.com/Sustainable-Structures-Implementations-Experimental-Engineering/dp/3839602335}}

@article{Know10a,
 author = {Knowles, Kenneth and Flanagan, Cormac},
 title = {Hybrid Type Checking},
 journal = {ACM Trans. Program. Lang. Syst.},
 issue_date = {January 2010},
 volume = {32},
 number = {2},
 month = feb,
 year = {2010},
 issn = {0164-0925},
 pages = {6:1--6:34},
 articleno = {6},
 numpages = {34},
 url = {http://doi.acm.org/10.1145/1667048.1667051},
 doi = {10.1145/1667048.1667051},
 acmid = {1667051},
 publisher = {ACM},
 address = {New York, NY, USA},
 keywords = {Type systems, contracts, dynamic checking, static checking}
}

@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}}

@article{Knut68a,
	Author = {Knuth, DonaldE.},
	Doi = {10.1007/BF01692511},
	Issn = {0025-5661},
	Journal = {Mathematical systems theory},
	Language = {English},
	Number = {2},
	Pages = {127-145},
	Publisher = {Springer-Verlag},
	Title = {Semantics of context-free languages},
	Url = {http://dx.doi.org/10.1007/BF01692511},
	Volume = {2},
	Year = {1968},
	Bdsk-Url-1 = {http://dx.doi.org/10.1007/BF01692511}}

@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}}

@article{Knut84a,
    author = {Donald E. Knuth},
    title = {Literate programming},
    journal = {The Computer Journal},
    year = {1984},
    volume = {27},
    pages = {97--111}
}

@book{Knut86a,
	Author = {D.E. Knuth},
	Keywords = {scglib},
	Publisher = {Addison Wesley},
	Title = {The TexBook},
	Year = {1986}}

@inproceedings{Knut90a,
	Acmid = {671208},
	Address = {London, UK, UK},
	Author = {Knuth, Donald E.},
	Booktitle = {Proceedings of the International Conference WAGA on Attribute Grammars and their Applications},
	Isbn = {3-540-53101-7},
	Keywords = {cclit},
	Numpages = {12},
	Pages = {1--12},
	Publisher = {Springer-Verlag},
	Title = {The Genesis of Attribute Grammars},
	Url = {http://www.dcs.warwick.ac.uk/~sk/cs325/gag.pdf},
	Year = {1990},
	Bdsk-Url-1 = {http://www.dcs.warwick.ac.uk/~sk/cs325/gag.pdf}}

@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,
	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},
	Author = {Ko, A.J. and Myers, B.A. and Coblenz, M.J. and Aung, H.H.},
	Doi = {10.1109/TSE.2006.116},
	Issn = {0098-5589},
	Journal = {Software Engineering, IEEE Transactions on},
	Month = dec,
	Number = {12},
	Pages = {971 -987},
	Title = {An Exploratory Study of How Developers Seek, Relate, and Collect Relevant Information during Software Maintenance Tasks},
	Volume = {32},
	Year = {2006},
	Bdsk-Url-1 = {http://dx.doi.org/10.1109/TSE.2006.116}}

@inproceedings{Ko06b,
 author = {Ko, Andrew J. and Myers, Brad A.},
 title = {Barista: An Implementation Framework for Enabling New Tools, Interaction Techniques and Views in Code Editors},
 booktitle = {Proceedings of the SIGCHI Conference on Human Factors in Computing Systems},
 series = {CHI '06},
 year = {2006},
 isbn = {1-59593-372-7},
 location = {Montr\&\#233;al, Qu\&\#233;bec, Canada},
 pages = {387--396},
 numpages = {10},
 url = {http://doi.acm.org/10.1145/1124772.1124831},
 doi = {10.1145/1124772.1124831},
 acmid = {1124831},
 publisher = {ACM},
 address = {New York, NY, USA},
 keywords = {end-user software engineering, programming environments, structured editors}
}

@inproceedings{Ko07a,
 Acmid = {1248867},
 Address = {Washington, DC, USA},
 Author = {Ko, Andrew J. and DeLine, Robert and Venolia, Gina},
 Booktitle = {Proceedings of the 29th international conference on Software Engineering},
 Doi = {10.1109/ICSE.2007.45},
 Isbn = {0-7695-2828-7},
 Numpages = {10},
 Pages = {344--353},
 Publisher = {IEEE Computer Society},
 Series = {ICSE '07},
 Title = {Information Needs in Collocated Software Development Teams},
 Year = {2007},
 keywords = {dev-questions},
 url = {https://doi.org/10.1109/ICSE.2007.45}
}

@inproceedings{Ko08a,
 author = {Ko, Andrew J. and Myers, Brad A.},
 title = {Debugging Reinvented: Asking and Answering Why and Why Not Questions About Program Behavior},
 booktitle = {Proceedings of the 30th International Conference on Software Engineering},
 series = {ICSE '08},
 year = {2008},
 isbn = {978-1-60558-079-1},
 location = {Leipzig, Germany},
 pages = {301--310},
 numpages = {10},
 url = {http://doi.acm.org/10.1145/1368088.1368130},
 doi = {10.1145/1368088.1368130},
 acmid = {1368130},
 publisher = {ACM},
 address = {New York, NY, USA},
 keywords = {whyline}
}

@inproceedings{Ko14a,
author={D. Ko and K. Ma and S. Park and S. Kim and D. Kim and Y. L. Traon},
booktitle={2014 21st Asia-Pacific Software Engineering Conference},
title={API Document Quality for Resolving Deprecated APIs},
year={2014},
volume={2},
number={},
pages={27-30},
keywords={application program interfaces;document handling;security of data;software quality;API document quality;Java libraries;alternative API;client applications;resolving deprecated API;security vulnerability;service API libraries;Androids;Documentation;Humanoid robots;Java;Libraries;Security;Standards},
doi={10.1109/APSEC.2014.87},
ISSN={1530-1362},
month=dec
}

@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}}

@inproceedings{Koba11a,
 author = {Kobayashi, Kenichi and Matsuo, Akihiko and Inoue, Katsuro and Hayase, Yasuhiro and Kamimura, Manabu and Yoshino, Toshiaki},
 title = {{ImpactScale}: Quantifying Change Impact to Predict Faults in Large Software Systems},
 booktitle = {Proceedings of the 2011 27th IEEE International Conference on Software Maintenance},
 series = {ICSM '11},
 year = {2011},
 isbn = {978-1-4577-0663-9},
 pages = {43--52},
 numpages = {10},
 url = {http://dx.doi.org/10.1109/ICSM.2011.6080771},
 doi = {10.1109/ICSM.2011.6080771},
 acmid = {2119697},
 publisher = {IEEE Computer Society},
 address = {Washington, DC, USA}
}

@article{Koba12a,
	title = {Reticella: An Execution Trace Slicing and Visualization Tool Based on a Behavior Model},
	author = {KOBAYASHI, Takashi and YAMAMOTO, Shinichiro and SAEKI, Motoshi and AGUSA, Kiyoshi},
	journal	= {IEICE TRANSACTIONS on Information and Systems},
	volume = {95},
	number = {4},
	pages = {959--969},
	year = {2012},
	publisher = {The Institute of Electronics, Information and Communication Engineers}}

@inproceedings{Koba13a,
	title = {SArF map: Visualizing software architecture from feature and layer viewpoints},
	author = {Kobayashi, Kenichi and Kamimura, Manabu and Yano, Keisuke and Kato, Koki and Matsuo, Akihiko},
	booktitle = {Program Comprehension (ICPC), 2013 IEEE 21st International Conference on},
	pages = {43--52},
	year = {2013},
	organization = {IEEE}}

@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 scg-none 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 parsebyexample},
	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}}

@inproceedings{Koch16a,
  author       = {Kochhar, Pavneet Singh},
  title        = {Mining Testing Questions on {Stack Overflow}},
  booktitle    = {Proceedings of the 5th International Workshop on Software Mining},
  series       = {SoftwareMining 2016},
  publisher    = {ACM},
  location     = {Singapore, Singapore},
  isbn         = {978-1-4503-4511-8},
  pages        = {32--38},
  doi          = {10.1145/2975961.2975966},
  url          = {http://doi.acm.org/10.1145/2975961.2975966},
  acmid        = {2975966},
  address      = {New York, NY, USA},
  keywords     = {Software Testing, Stack Overflow, Topic Modeling, dev-questions},
  year         = {2016}
}

@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{Koen00a,
	Author = {Andrew Koenig and Barbara E. Moo},
	Isbn = {0-201-70353-X},
	Keywords = {cpp pl-lit},
	Publisher = {Addison-Wesley},
	Title = {Accelerated {C++} --- Practical Programming by Example},
	Year = {2000}
}

@book{Koen07a,
	Author = {Dierk K\"onig},
	Isbn = {1-932394-85-2},
	Keywords = {scglib},
	Publisher = {Manning},
	Title = {Groovy in action},
	Year = {2007}}

@article{Koha97a,
  title={Wrappers for feature subset selection},
  author={Kohavi, Ron and John, George H},
  journal={Artificial intelligence},
  volume={97},
  number={1},
  pages={273--324},
  year={1997},
  publisher={Elsevier}
}

@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},
	Month = aug,
	Pages = {151--161},
	Title = {Hygienic macro expansion},
	Year = {1986}}

@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}}

@article{Kolh08a,
title = {Content-based icons for music files},
journal = {Computers \& Graphics},
volume = {32},
number = {5},
pages = {550--560},
year = {2008},
issn = {0097-8493},
doi = {10.1016/j.cag.2008.01.006},
url = {http://www.sciencedirect.com/science/article/pii/S009784930800006X},
author = {Philipp Kolhoff and Jacqueline Preuss and J\"orn Loviscach},
keywords = {Music information retrieval},
keywords = {Visual data mining},
keywords = {Human-computer interfaces},
abstract = {Content-based icons are in widespread use for image and video files: Icons for them can easily be created as thumbnail-size pictures. We present a method to create content-based icons also for music files, thus allowing visual data mining of music collections right within the file listings of a standard operating system. The icons are generated automatically, employing a neural net to determine the graphical parameters from acoustic features of the waveform stored in the audio files. A brief initial training ensures that the icons fit the user's visual and aural perception and musical likings. User studies have been conducted to examine the quality of the subjective relation between music and icons. We present extensions such as a space-saving graphical user interface for mobile applications and an automatic one- and two-dimensional layout.}
}

@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}}

@article{Kolom12a,
 author = {Kolomvatsos, Kostas and Valkanas, George and Hadjiefthymiades, Stathes},
 title = {Debugging Applications Created by a Domain Specific Language: The {IPAC} Case},
 journal = {J. Syst. Softw.},
 issue_date = {April, 2012},
 volume = {85},
 number = {4},
 month = apr,
 year = {2012},
 issn = {0164-1212},
 pages = {932--943},
 numpages = {12},
 url = {http://dx.doi.org/10.1016/j.jss.2011.11.1009},
 doi = {10.1016/j.jss.2011.11.1009},
 acmid = {2148478},
 publisher = {Elsevier Science Inc.},
 address = {New York, NY, USA},
 keywords = {Debugger, Domain Specific Language, Software testing}
}

@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},
	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{Kont06a,
	Abstract = {During the last decade, the number of software applications that have been deployed as a
				set of components built using different programming languages and paradigms has increased
				considerably. When such applications are maintained, traditional program comprehension and
				reengineering techniques may not be adequate. Hence, this working session aims to stimulate
				discussion around key issues relating to the comprehension, re engineering, and maintenance of
				multi-language software applications. Such issues include, but are not limited to, the formalization,
				management, exploration, and presentation of multi-language program dependencies, as well as the
				development of practical toolsets to automate and ease the comprehension and maintenance of multi-language
				software},
	Author = {Kontogiannis, K. and Linos, P. and Wong, K.},
	Booktitle = {ICSM '06. 22nd IEEE International Conference on Software Maintenance, 2006.},
	Doi = {10.1109/ICSM.2006.20},
	Issn = {1063-6773},
	Keywords = {large-scale multilanguage software applications; multilanguage program dependency exploration; multilanguage program dependency management; multilanguage program dependency presentation; multilanguage software maintenance; program comprehension; program reengineering; software maintenance; systems re-engineering},
	Month = sep,
	Pages = {497 -500},
	Title = {Comprehension and Maintenance of Large-Scale Multi-Language Software Applications},
	Year = {2006},
	Bdsk-Url-1 = {http://dx.doi.org/10.1109/ICSM.2006.20}}

@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}}

@incollection{Kooc10a,
year={2010},
isbn={978-3-642-15584-0},
booktitle={Testing -- Practice and Research Techniques},
volume={6303},
series={Lecture Notes in Computer Science},
editor={Bottaci, Leonardo and Fraser, Gordon},
doi={10.1007/978-3-642-15585-7_12},
title={TeCReVis: A Tool for Test Coverage and Test Redundancy Visualization},
url={http://dx.doi.org/10.1007/978-3-642-15585-7_12},
publisher={Springer Berlin Heidelberg},
keywords={Test coverage; test visualization; tool development},
author={Koochakzadeh, Negar and Garousi, Vahid},
pages={129-136},
language={English}
}

@book{Koom04a,
	Author = {Jonathan G. Koomey},
	Keywords = {scglib},
	Publisher = {Analytics Press},
	Title = {Turning Numbers into Knowledge},
	Year = {2004}}

@inproceedings{Koop98a,
    author = {Pieter Koopman and Rinus Plasmeijer},
    title = {Efficient Combinator Parsers},
    booktitle = {In Implementation of Functional Languages, LNCS},
    year = {1998},
    pages = {122--138},
    publisher = {Springer-Verlag}
}

@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{Kopp97a,
	Author = {Rainer Koppler},
	Doi = {10.1002/(SICI)1097-024X(199706)27:6<637::AID-SPE99>3.0.CO;2-3},
	Journal = {Software: Practice and Experience},
	Number = {6},
	Pages = {637--649},
	Title = {A Systematic Approach to Fuzzy Parsing},
	Url = {http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.4.3198&rep=rep1&type=pdf},
	Volume = {27},
	Year = {1997},
	Bdsk-Url-1 = {http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.4.3198&rep=rep1&type=pdf},
	Bdsk-Url-2 = {http://dx.doi.org/10.1002/(SICI)1097-024X(199706)27:6%3C637::AID-SPE99%3E3.0.CO;2-3}}

@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}}

@inproceedings{Korn96a,
	Address = {San Francisco, USA},
	Author = {Sylvie Kornman},
	Booktitle = {Proceedings of the 1st International Conference on Metalevel Architectures and Reflection (Reflection 96)},
	Editor = {Gregor Kiczales},
	Month = apr,
	Title = {Infinite Regress with Self-Monitoring},
	Url = {http://www2.parc.com/csl/groups/sda/projects/reflection96/docs/kornman/kornman.pdf},
	Year = {1996},
	Bdsk-Url-1 = {http://www2.parc.com/csl/groups/sda/projects/reflection96/docs/kornman/kornman.pdf}}

@inproceedings{Korn98a,
	Abstract = {An abstract is not available.},
	Address = {Washington, DC, USA},
	Author = {Korn, Jeffrey L. and Appel, Andrew W.},
	Booktitle = {Proceedings of the 1998 IEEE Symposium on Information Visualization},
	Isbn = {0-8186-9093-3},
	Location = {North Carolina},
	Pages = {11--18},
	Priority = {2},
	Publisher = {IEEE Computer Society},
	Series = {INFOVIS '98},
	Title = {{Traversal-Based} Visualization of Data Structures},
	Year = {1998}}

@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,
	Address = {Berlin, Heidelberg},
	Author = {Kortenkamp, David and Simmons, Reid},
	Booktitle = {Springer Handbook of Robotics},
	Chapter = {8},
	Doi = {10.1007/978-3-540-30301-5},
	Isbn = {978-3-540-23957-4},
	Keywords = {robotics springer damiencbib},
	Pages = {187--206},
	Publisher = {Springer},
	Title = {Robotic systems architectures and programming},
	Year = {2008},
	Bdsk-Url-1 = {http://dx.doi.org/10.1007/978-3-540-30301-5}}

@article{Koru03a,
  title={An empirical comparison and characterization of high defect and high complexity modules},
  author={Koru, A G{\"u}ne{\c{s}} and Tian, Jeff},
  journal={Journal of Systems and Software},
  volume={67},
  number={3},
  pages={153--163},
  year={2003},
  publisher={Elsevier}
}

@inproceedings{Koru05a,
 author = {Koru, A. G\"{u}nes and Liu, Hongfang},
 title = {An Investigation of the Effect of Module Size on Defect Prediction Using Static Measures},
 booktitle = {Proceedings of the 2005 Workshop on Predictor Models in Software Engineering},
 series = {PROMISE '05},
 year = {2005},
 isbn = {-159593-125-2},
 location = {St. Louis, Missouri},
 pages = {1--5},
 numpages = {5},
 url = {http://doi.acm.org/10.1145/1082983.1083172},
 doi = {10.1145/1082983.1083172},
 acmid = {1083172},
 publisher = {ACM},
 address = {New York, NY, USA},
 keywords = {defect prediction, prediction models, software metrics, software quality management, static measures}
}

@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}}

@article{Kosa14a,
title = {Debugging measurement systems using a domain-specific modeling language},
journal = {Computers in Industry},
volume = {65},
number = {4},
pages = {622 -- 635},
year = {2014},
issn = {0166--3615},
doi = {10.1016/j.compind.2014.01.013},
url = {http://www.sciencedirect.com/science/article/pii/S0166361514000293},
author = {Tomaz Kosar and Marjan Mernik and Jeff Gray and Tomaz Kos}
}

@inproceedings{Kosc98a,
	Abstract = {Intermediate representations (IR) are a key issue both for compilers as well as for reverse
				engineering tools to enable efficient analyses. Research in the field of compilers has proposed
				many sophisticated IRs that can be used in the domain of reverse engineering, especially in the
				case of deep analyses, but reverse engineering has also its own requirements for intermediate
				representations not covered by traditional compiler technology. This paper discusses requirements
				of IRs for reverse engineering. It shows then how most of these requirements can be met by
				extending and integrating existing IRs. These extensions include a generalized AST and a mechanism
				supporting multiple views on programs. Moreover the paper shows how these views can efficiently
				be implemented},
	Author = {Koschke, R. and Girard, J.-F. and Wurthner, M.},
	Booktitle = {Reverse Engineering, 1998. Proceedings. Fifth Working Conference on},
	Doi = {10.1109/WCRE.1998.723194},
	Keywords = {compilers;generalized AST;intermediate representation;multiple views;reverse engineering;reverse engineering tools;program compilers;reverse engineering;},
	Month = oct,
	Pages = {241-250},
	Title = {An intermediate representation for integrating reverse engineering analyses},
	Year = {1998},
	Bdsk-Url-1 = {http://dx.doi.org/10.1109/WCRE.1998.723194}}

@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{Kosc12a,
	Abstract = {Detecting license violations of source code requires to compare a suspected system against a very large corpus of source code, for instance, the Debian source distribution. Thus, techniques detecting suspiciously similar code must scale in terms of resources needed. In addition to that, high precision of the detection is necessary because a human needs to inspect the results. The current approaches to address the resource challenge is to create an index for the corpus to which the suspected source code is compared. The index creation, however, is very costly. If the analysis is done only once, it may not be worth the effort. This paper demonstrates how suffix trees can be used to obtain a scalable comparison. Our evaluation shows that this approach is faster than current index-based techniques. In addition to that, this paper proposes a method to improve precision through user feedback and automated data mining.},
	Address = {Washington, DC, USA},
	Author = {Koschke, Rainer},
	Booktitle = {Proceedings of the 2012 16th European Conference on Software Maintenance and Reengineering},
	Doi = {10.1109/csmr.2012.37},
	Isbn = {978-0-7695-4666-7},
	Pages = {309--318},
	Publisher = {IEEE Computer Society},
	Series = {CSMR '12},
	Title = {{Large-Scale} {Inter-System} Clone Detection Using Suffix Trees},
	Year = {2012},
	Bdsk-Url-1 = {http://dx.doi.org/10.1109/csmr.2012.37}}

@article{Kosc13a,
	Author = {Rainer Koschke},
	Journal = {Journal of Software: Evolution and Process},
	Note = {accepted for publication},
	Title = {Large-scale inter-system clone detection using suffix trees and hashing},
	Year = {2013}}

@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}}

@inbook{Kost91a,
	author={Koster, C. H. A.},
	chapter={Affix grammars for programming languages},
	title={Attribute Grammars, Applications and Systems: International Summer School SAGA Prague, Czechoslovakia, June 4--13, 1991 Proceedings},
	year={1991},
	publisher={Springer Berlin Heidelberg},
	address={Berlin, Heidelberg},
	pages={358--373},
	isbn={978-3-540-38490-8},
	doi={10.1007/3-540-54572-7_13},
	url={http://dx.doi.org/10.1007/3-540-54572-7_13}
}

@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{Kotz05a,
	Acmid = {1064996},
	Address = {New York, NY, USA},
	Author = {Kotzmann, Thomas and M\"{o}ssenb\"{o}ck, Hanspeter},
	Booktitle = {Proceedings of the 1st ACM/USENIX international conference on Virtual execution environments},
	Doi = {10.1145/1064979.1064996},
	Isbn = {1-59593-047-7},
	Keywords = {Java, deoptimization, escape analysis, just-in-time compilation, optimization, scalar replacement, stack allocation, synchronization removal},
	Location = {Chicago, IL, USA},
	Numpages = {10},
	Pages = {111--120},
	Publisher = {ACM},
	Series = {VEE '05},
	Title = {Escape analysis in the context of dynamic compilation and deoptimization},
	Year = {2005},
	Bdsk-Url-1 = {http://dx.doi.org/10.1145/1064979.1064996}}

@inproceedings{Koum08a,
	Address = {Cluj-Napoca, Romania},
	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},
	Doi = {10.1109/AQTR.2008.4588768},
	Keywords = {multimedia damiencbib},
	Month = may,
	Pages = {358--363},
	Title = {{ADAMANTIUM} project: Enhancing {IMS} with a {PQoS}-aware multimedia content management system},
	Year = {2008},
	Bdsk-Url-1 = {http://dx.doi.org/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}}

@article{Kowa88a,
  title={The early years of logic programming},
  author={Kowalski, Robert A},
  journal={Communications of the ACM},
  volume={31},
  number={1},
  pages={38--43},
  year={1988},
  publisher={ACM}
}

@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,
	Author = {Heiko Koziolek},
	Doi = {10.1016/j.peva.2009.07.007},
	Issn = {0166-5316},
	Journal = {Performance Evaluation},
	Note = {Special Issue on Software and Performance},
	Number = {8},
	Pages = {634--658},
	Title = {Performance evaluation of component-based software systems: A survey},
	Volume = {67},
	Year = {2010},
	Bdsk-Url-1 = {http://dx.doi.org/10.1016/j.peva.2009.07.007}}

@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}}

@article{Kraf09a,
	Author = {Kraft, Nicholas A. and Duffy, Edward B. and Malloy, Brian A.},
	Doi = {10.1109/TSE.2009.65},
	Issn = {0098-5589},
	Journal = {Software Engineering, IEEE Transactions on},
	Keywords = {GNU C++ parser;ISO C++98 grammar;grammar recovery;hard-coded parser;iterative grammar;metrics-guided grammar refactoring;parse trees;recursive grammar;software development tools;C++ language;grammars;software maintenance;software metrics;system recovery;},
	Month = nov,
	Number = {6},
	Pages = {780 -794},
	Title = {Grammar Recovery from Parse Trees and Metrics-Guided Grammar Refactoring},
	Volume = {35},
	Year = {2009},
	Bdsk-Url-1 = {http://www.cs.clemson.edu/~malloy/papers/tse09/paper.pdf},
	Bdsk-Url-2 = {http://dx.doi.org/10.1109/TSE.2009.65}}

@inproceedings{Kraf19a,
author = {Krafczyk, Matthew and Shi, August and Bhaskar, Adhithya and Marinov, Darko and Stodden, Victoria},
title = {Scientific Tests and Continuous Integration Strategies to Enhance Reproducibility in the Scientific Software Context},
year = {2019},
isbn = {9781450367561},
publisher = {Association for Computing Machinery},
address = {New York, NY, USA},
url = {https://doi.org/10.1145/3322790.3330595},
doi = {10.1145/3322790.3330595},
booktitle = {Proceedings of the 2nd International Workshop on Practical Reproducible Evaluation of Computer Systems},
pages = {23 -28},
numpages = {6},
keywords = {scientific software, software reliability, reproducibility, software testing, continuous integration},
location = {Phoenix, AZ, USA},
series = {P-RECS '19}
}

@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{Kram99a,
 author = {Kramer, Douglas},
 title = {API Documentation from Source Code Comments: A Case Study of Javadoc},
 booktitle = {Proceedings of the 17th Annual International Conference on Computer Documentation},
 series = {SIGDOC '99},
 year = {1999},
 isbn = {1-58113-072-4},
 location = {New Orleans, Louisiana, USA},
 pages = {147--153},
 numpages = {7},
 url = {http://doi.acm.org/10.1145/318372.318577},
 doi = {10.1145/318372.318577},
 acmid = {318577},
 publisher = {ACM},
 address = {New York, NY, USA},
 keywords = {API documentation, Java platform, Javadoc, doc comments, doclets, documentation comments, generated documentation, source code comments}
}

@inproceedings{Kram12a,
	Author = {Jeff Kramer},
	Booktitle = {ICSE},
	Ee = {http://dx.doi.org/10.1109/ICSE.2012.6227253},
	Pages = {963},
	Title = {Whither software architecture? (Keynote)},
	Year = {2012}}

@book{Kran00,
  title={Event graph analysis for debugging massively parallel programs},
  author={Kranzlm{\"u}ller, Dieter},
  year={2000},
  publisher={na}
}

@inproceedings{Kran06a,
	Address = {Orange County, CA, USA},
	Author = {Kranz, Matthias and Rusu, Radu Bogdan and Maldonado, Alexis and Beetz, Michael and Schmidt, Albrecht},
	Booktitle = {UbiSys'06: Proceedings of the System Support for Ubiquitous Computing Workshop},
	Keywords = {damiencbib robotics ubicomp kitchen},
	Pages = {1--7},
	Publisher = {EDAS},
	Title = {A Player/Stage System for Context-Aware Intelligent Environments},
	Year = {2006}}

@inproceedings{Kran07a,
	Address = {Washington, DC, USA},
	Author = {Kranz, Matthias and Spiessl, Wolfgang and Schmidt, Albrecht},
	Booktitle = {PerCom'07: Proceedings of the 5th International Conference on Pervasive Computing and Communications},
	Doi = {10.1109/PERCOM.2007.12},
	Keywords = {damiencbib},
	Pages = {79--86},
	Publisher = {IEEE Computer Society},
	Title = {Designing Ubiquitous Computing Systems for Sports Equipment},
	Year = {2007},
	Bdsk-Url-1 = {http://dx.doi.org/10.1109/PERCOM.2007.12}}

@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 = {Glenn 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},
	Url = {http://stephane.ducasse.free.fr/FreeBooks/BitsOfHistory/BitsOfHistory.pdf},
	Year = {1983},
	Bdsk-Url-1 = {http://stephane.ducasse.free.fr/FreeBooks/BitsOfHistory/BitsOfHistory.pdf}}

@article{Kras88a,
	Author = {Krasner, Glenn E. and Pope, Stephen T.},
	Journal = {Journal of Object-Oriented Programming},
	Keywords = {damiencbib mvc},
	Month = aug,
	Number = {3},
	Pages = {26--49},
	Title = {A cookbook for using the model-view-controller user interface paradigm in {Smalltalk}-80},
	Volume = {1},
	Year = {1988}}

@mastersthesis{Krav20a,
	Title = {Moldable scenario builder},
	Author = {Ivan Kravchenko},
	Abstract = {Current behavior-driven development (BDD) practices promise to
		engage more stakeholders in an agile software development
		process through the use of behavior specifications of the
		software product. However, current capabilities for behavior
		specification restrict possible feedback as they fail to
		reliably connect the specification with the corresponding
		implementation. We analyzed 14 BDD tools to observe their
		limitations for facilitating feedback between multiple stake-
		holders. We observed that the existing BDD tools differ in
		characteristics regarding their support for a ubiquitous
		language and specification format. Despite the recent attempts
		to write more natural language specifications, the existing
		tools are largely developer-oriented and limit the engagement
		of other participants. The analyzed tools focus mostly on
		asserting input values against desired business output for a
		BDD scenario and much less on manipulating the output itself.
		To tackle the aforementioned limitations, we present our
		prototype solution ``Moldable scenario editor'' implemented in
		the Pharo environment. To achieve this, we allow BDD scenarios
		to return objects and adapt their representation to the
		perspective of non-technical stakeholders. We strive to engage
		more participants in the agile software development process by
		giving them different ways to experiment with behavior
		specifications within an IDE. For instance, we use an embedded
		rich text editor to illustrate how plain textual
		specifications can leverage the corresponding implementation.
		Similarly, with a combination of graphical elements, we allow
		users to experiment with domain objects i.e., compose new BDD
		tests without having to code. We speculate that such an
		approach can bind behavior specifications more closely to the
		implementation, and facilitate effective collaboration among
		team members.},
	Keywords = {scg-msc snf-asa3 scg20 jb20},
	School = {University of Bern},
	Type = {Masters thesis},
	Url = {http://scg.unibe.ch/archive/masters/Krav20a.pdf},
	Month = jun,
	Year = {2020}
}

@inproceedings{Kreb11a,
	Abstract = {Java Enterprise Applications (JEAs) are complex systems composed of various technologies and programming
				languages other than Java, such as XML or SQL.
				In this heterogenous context, information is spread across various components and languages and the
				interactions between different application elements could be hidden.
				On the other hand, existing reverse engineering and quality assurance techniques are unable to
				analyze JEAs since they are focused on specific components or languages.
				In this paper we present our approach to enhance the Eclipse IDE to analyze these complex systems.
				We extended a meta-model for Object-Oriented systems to accommodate the heterogeneous nature of JEAs.
				By modeling JEAs we can support different kinds of analysis based on software visualizations and software metrics.
				We implemented an Eclipse plug-in to analyze JEAs called \Vera to make this solution available in one of
				the most largely used IDE. The integration with the development environment makes the developers keep focused
				on a single tool instead of relying on several once. We demonstrate \Vera by implementing a well known
				polymetric visualization, the System Complexity view, and an improved version of the Transaction Flow
				visualization. The latter shows what can be done by integrating information spread across different sources.
				We also present a browser that provides an analytical view of the code.},
	Author = {Raffael Krebs and Fabrizio Perin},
	Booktitle = {Proc. of the Sixth Workshop of the Italian Eclipse Community (Eclipse-IT)},
	Isbn = {9788890438820},
	Keywords = {scg12 scg-pub jb12 scg11 moose-pub skip-doi snf-none},
	Location = {Milano, Italy},
	Medium = {1},
	Month = sep,
	Pages = {28--39},
	Peerreview = {yes},
	Title = {Reverse engineering Java Enterprise Applications in Eclipse},
	Url = {http://scg.unibe.ch/archive/papers/Kreb11aVera.pdf},
	Year = {2011},
	Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Kreb11aVera.pdf}}

@mastersthesis{Kreb12a,
	Abstract = {Java Enterprise Applications (JEAs) are not Java applications. Instead they are
			complex systems which integrate various technologies and programming languages such as
			XML or SQL, also including Java source code. Many tools exist for reverse engineering
			and quality assurance on purely object-oriented program code. JEAs are heterogeneous in
			that they are composed using multiple languages, thus classical object-only approaches
			are not expressive enough. In this thesis, we present VERA, a framework that supports
			JEA analysis. We develop VERA as a plug-in to Eclipse, one of the most widely used Java
			development environments. The tool relies on an extended version of the FAMIX
			meta-model that accommodates the heterogeneous nature of JEAs. Our FAMIX implementation
			supports multiple kinds of analysis on JEAs. VERA features extension-points that make
			it easy to add custom analyses, with a focus on visualizations. We demonstrate the
			flexibility of VERA by implementing a well-known polymetric visualization called
			System Complexity and an improved version of the Transaction Flow visualization. We
			also present a model browser that provides an analytical view of the code at hand.},
	Author = {Raffael Krebs},
	Keywords = {scg-msc scg12 jb12 snf-none vera},
	Month = apr,
	School = {University of Bern},
	Title = {Vera --- An extensible Eclipse Plug-In for Java Enterprise Application Analysis},
	Type = {Master's Thesis},
	Url = {http://scg.unibe.ch/archive/masters/Kreb12a.pdf},
	Year = {2012},
	Bdsk-Url-1 = {http://scg.unibe.ch/archive/masters/Kreb12a.pdf}}

@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}}

@inproceedings{Krin10a,
	Author = {Jens Krinke and Nicolas Gold and Yue Jia and David Binkley},
	Bibsource = {DBLP, http://dblp.uni-trier.de},
	Booktitle = {MSR},
	Doi = {10.1109/MSR.2010.5463290},
	Pages = {98-101},
	Title = {Cloning and copying between GNOME projects},
	Year = {2010},
	Bdsk-Url-1 = {http://dx.doi.org/10.1109/MSR.2010.5463290}}

@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,
	Address = {London , UK},
	Author = {Bent Bruun Kristensen},
	Booktitle = {Proceedings of the 2nd International Conference on Object-Oriented Information Systems},
	Confname = {Second International Conference on Object-Oriented Information Systems},
	Editor = {John Murphy and Brian Stone},
	Pages = {57--71},
	Publisher = {Springer-Verlag},
	Title = {Object-Oriented Modeling with Roles},
	Year = {1995}}

@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},
	Booktitle = {Special Issue of Theory and Practice of Object Systems (TAPOS) on Subjectivity in Object-Oriented Systems},
	Pages = {143--160},
	Title = {Roles: Conceptual Abstraction Theory \& Practical Language Issues},
	Year = {1996}}

@inproceedings{Kris98a,
	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},
	Author = {Bent Bruun Kristensen},
	Booktitle = {In Proceedings of the 5th International Conference on Object-Oriented Information Systems},
	Pages = {9--11},
	Publisher = {Springer-Verlag},
	Title = {Subjective Method Interpretation in Object-Oriented Modeling},
	Year = {1998}}

@article{Kris01a,
	Author = {Bent Bruun Kristensen},
	Journal = {Comput. Syst. Sci. Eng.},
	Number = {1},
	Pages = {13-24},
	Title = {Subjective behaviour},
	Volume = {16},
	Year = {2001}}

@inproceedings{Kris02a,
	Acmid = {667655},
	Address = {London, UK},
	Author = {Kristensen, Bent Bruun},
	Booktitle = {Proceedings of the 8th International Conference on Object-Oriented. Information Systems},
	Isbn = {3-540-44087-9},
	Numpages = {14},
	Pages = {358--371},
	Publisher = {Springer-Verlag},
	Series = {OOIS '02},
	Title = {Associative Modeling and Programming},
	Url = {http://portal.acm.org/citation.cfm?id=645789.667655},
	Year = {2002},
	Bdsk-Url-1 = {http://portal.acm.org/citation.cfm?id=645789.667655}}

@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{Kris11a,
  title={Are change metrics good predictors for an evolving software product line?},
  author={Krishnan, Sandeep and Strasburg, Chris and Lutz, Robyn R and Go{\v{s}}eva-Popstojanova, Katerina},
  booktitle={Proceedings of the 7th International Conference on Predictive Models in Software Engineering},
  pages={7},
  year={2011},
  organization={ACM}
}

@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}}

@book{Kroc14a,
  title={IntelliJ IDEA Essentials},
  author={Krochmalski, J.},
  isbn={9781784398699},
  series={Community Experience Distilled},
  year={2014},
  publisher={Packt Publishing}
}

@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,
	Address = {Los Alamitos, CA, USA},
	Author = {Philippe B. Kruchten},
	Doi = {10.1109/52.469759},
	Issn = {0740-7459},
	Journal = {IEEE Software},
	Keywords = {olit architecture},
	Month = nov,
	Number = {6},
	Pages = {42--50},
	Publisher = {IEEE Computer Society},
	Title = {The 4+1 View Model of Architecture},
	Volume = {12},
	Year = {1995},
	Bdsk-Url-1 = {http://dx.doi.org/10.1109/52.469759}}

@book{Kruc04a,
	Author = {Philippe Kruchten},
	Edition = {Third},
	Isbn = {0321197704},
	Keywords = {scglib},
	Publisher = {Addison-Wesley},
	Title = {The Rational Unified Process},
	Year = {2004}}

@inproceedings{Kruc04b,
	Address = {Groningen, NL},
	Author = {Philippe Kruchten},
	Booktitle = {Proceedings of the second Groningen Workshop on Software Variability},
	Numpages = {8},
	Pages = {54--61},
	Title = {An ontology of architectural design decisions in software intensive systems},
	Url = {http://pkruchten.files.wordpress.com/2009/07/kruchten-2004-design-decisions.pdf},
	Year = {2004},
	Bdsk-Url-1 = {http://pkruchten.files.wordpress.com/2009/07/kruchten-2004-design-decisions.pdf}}

@article{Kruc06a,
	Acmid = {1128706},
	Address = {Los Alamitos, CA, USA},
	Author = {Kruchten, Philippe and Obbink, Henk and Stafford, Judith},
	Doi = {10.1109/MS.2006.59},
	Issn = {0740-7459},
	Issue = {2},
	Journal = {IEEE Softw.},
	Keywords = {software architecture},
	Month = mar,
	Numpages = {9},
	Pages = {22--30},
	Publisher = {IEEE Computer Society Press},
	Title = {The Past, Present, and Future for Software Architecture},
	Url = {http://dl.acm.org/citation.cfm?id=1128592.1128706},
	Volume = {23},
	Year = {2006},
	Bdsk-Url-1 = {http://dl.acm.org/citation.cfm?id=1128592.1128706},
	Bdsk-Url-2 = {http://dx.doi.org/10.1109/MS.2006.59}}

@incollection{Kruc06b,
	year={2006},
	isbn={978-3-540-48819-4},
	booktitle={Quality of Software Architectures},
	volume={4214},
	series={Lecture Notes in Computer Science},
	editor={Hofmeister, Christine and Crnkovic, Ivica and Reussner, Ralf},
	doi={10.1007/11921998_8},
	title={Building Up and Reasoning About Architectural Knowledge},
	url={http://dx.doi.org/10.1007/11921998_8},
	publisher={Springer Berlin Heidelberg},
	author={Kruchten, Philippe and Lago, Patricia and van Vliet, Hans},
	pages={43-58},
	language={English}}

@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}}

@inproceedings{Krug19a,
  title={Are You Talking about Software Product Lines? {An} Analysis of Developer Communities},
  author={Kr{\"u}ger, Jacob},
  booktitle={Proceedings of the 13th International Workshop on Variability Modelling of Software-Intensive Systems},
  pages={1--9},
  year={2019}
}

@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}}

@article{Krzy12a,
  author = {Krzywinski, M. and Birol, I. and Jones, S. and Marra, M.},
  journal = {Briefings in Bioinformatics},
  month = {dec},
  year = {2011},
  doi = {10.1093/bib/bbr069},
  title = {Hive Plots -- Rational Approach to Visualizing Networks}
}

@inproceedings{Kube14a,
    author = {Kubelka, Juraj and Bergel, Alexandre and Robbes, Romain},
    title = {Asking and Answering Questions During a Programming Change Task in the {Pharo} Language},
    booktitle = {Proceedings of the 5th Workshop on Evaluation and Usability of Programming Languages and Tools},
    series = {PLATEAU '14},
    year = {2014},
    isbn = {978-1-4503-2277-5},
    location = {Portland, Oregon, USA},
    pages = {1--11},
    numpages = {11},
    url = {http://doi.acm.org/10.1145/2688204.2688212},
    doi = {10.1145/2688204.2688212},
    acmid = {2688212},
    publisher = {ACM},
    address = {New York, NY, USA},
    keywords = {change task, development environments, program comprehension, programming tools, user study, dev-questions}
}

@inproceedings{Kube15a,
	 Abstract = {Analyzing how software engineers use the Integrated Development Environment (IDE) is essential to better understanding how engineers carry out their daily tasks. Spotter is a code search engine for the Pharo programming language. Since its inception, Spotter has been rapidly and broadly adopted within the Pharo community. However, little is known about how practitioners employ Spotter to search and navigate within the Pharo code base. This paper evaluates how software engineers use Spotter in practice. To achieve this, we remotely gather user actions called events. These events are then visually rendered using an adequate navigation tool chain. Sequences of events are represented using a visual alphabet. We found a number of usage patterns and identified underused Spotter features. Such findings are essential for improving Spotter.},
	 Author = {Kubelka, Juraj and Bergel, Alexandre and Chi\c{s}, Andrei and G\^irba, Tudor and Reichhart, Stefan and Robbes, Romain and Syrel, Aliaksei},
	 Booktitle = {Proceedings of 3rd IEEE Working Conference on Software Visualization - New Ideas and Emerging Results},
	 Pages = {145--149},
	 Publisher = {{IEEE}},
	 Series = {VISSOFT-NIER'15},
	 Doi={10.1109/VISSOFT.2015.7332426},
	 Title = {On Understanding How Developers Use the {Spotter} Search Tool},
	 Year = {2015},
	 month=sep,
 	 Peerreview = {yes},
	 Medium = {2},
	 Keywords = {scg-pub scg15 jb16 snf-asa1, Andrei Chis, Tudor Girba, girba},
	 Url = {http://scg.unibe.ch/archive/papers/Kube15a-OnUnderstandingHowDevelopersUseTheSpotterSearchTool.pdf}}

@inproceedings{Kube18a,
 author = {Kubelka, Juraj and Robbes, Romain and Bergel, Alexandre},
 title = {The Road to Live Programming: Insights from the Practice},
 booktitle = {Proceedings of the 40th International Conference on Software Engineering},
 series = {ICSE '18},
 year = {2018},
 isbn = {978-1-4503-5638-1},
 location = {Gothenburg, Sweden},
 pages = {1090--1101},
 numpages = {12},
 url = {http://doi.acm.org/10.1145/3180155.3180200},
 doi = {10.1145/3180155.3180200},
 acmid = {3180200},
 publisher = {ACM},
 address = {New York, NY, USA},
 keywords = {exploratory study, live programming, software evolution}
}

@techreport{Kubi16a,
	Title = {F\# parsing expression grammar},
	Author = {Milan Kubicek},
	Abstract = {The process of structuring a sequence of characters
		according to a given grammar is called parsing.
		Computer program code must be parsed in order to be
		further processed. Various parsing techniques have been
		developed since the rise of programming languages
		mostly relying on bottom-up parsing techniques. Most
		programming languages are described in deterministic
		context-free form from which bottom-up parsers can be
		automatically generated. Unfortunately bottom-up
		parsers tend to be less human-readable and hard to
		debug. Recently new parsing methodologies like parsing
		expression grammars (PEGs) which have compared to
		traditional parsing techniques similar or better
		expressive power and parsing performance while
		promising better grammar composition properties and
		seamless integration of lexical analysis in parsing.
		Although PEG implementations for some computer
		languages exist, the effort of transforming an existing
		BNF grammar into PEG hasn't been studied yet. In this
		thesis we examine and classify the difficulties of
		developing a PEG parser based on a BNF language
		specification. For this study we examine the concrete
		example of F# as it is a mature, open source, cross
		platform programming language and to our best
		knowledge, no PEG-based parser for the F# language
		exists.
		Our study classifies difficulties when
		implementing a PEG parser based on a BNF grammar
		specification. We show that the highest effort to
		implement a PEG based grammar is due to transformation
		to a left-recursion free form. Further we demonstrate
		that AST generation and required post-processing from
		PEG matching results largely depend on the BNF grammar
		structure and its differences to the AST structure. We
		conclude that supplemental grammar documentation not
		present in BNF, imposes overall the highest
		implementation effort while developing a PEG based
		parser.},
	Institution = {University of Bern},
	Keywords = {scg-bp snf-asa2 scg16 jb16},
	Type = {Bachelor's thesis},
	Url = {http://scg.unibe.ch/archive/projects/Kubi16a.pdf},
	Month = aug,
	Year = {2016}
}

@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 = {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}}

@inproceedings{Kueh11a,
	Author = {Thomas K\"uhne"},
	Booktitle = {MPM Proceedings, ECEASST 2011},
	Title = {A visual notation for declarative behaviour specification},
	Url = {http://homepages.mcs.vuw.ac.nz/~tk/publications/papers/visual-notation-kuehne.pdf},
	Year = {2011}
}

@techreport{Kuer18a,
	Title = {Replication Mechanisms for Reference Data},
	Author = {Tanja Leigh K\"ury},
	Abstract = {Growing numbers of applications interacting with
		each other facilitate the need to share data
		between various systems. The interconnected
		applications used to manage immigrant and asylee
		need the same reference data in order to
		consistently fulfil their purpose. This thesis
		examines the used replication mechanism requiring
		direct database access and proposes an improved
		design. By analysing the situation and validating
		alternative replication mechanisms that adhere to
		the defined architectural standards it was
		possible to propose two realistic approaches, one
		of which is already in development. A proof of
		concept using a message oriented middleware showed
		that extending the architecture concept might even
		be more future-oriented.},
	Institution = {University of Bern},
	Keywords = {scg-bp snf-none scg18 jb18},
	Type = {Bachelor's thesis},
	Url = {http://scg.unibe.ch/archive/projects/Kuer18a.pdf},
	Month = mar,
	Year = {2018}
}

@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.},
	Acceptnum = {21},
	Accepttotal = {58},
	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 scg-none jb06 recast06 hapax moose-pub listic akuhn},
	Location = {Pittsburgh, PA},
	Misc = {acceptance rate: 21/58 = 36 \%},
	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 scg-none 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 scg-none 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 scg-none 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 scg-none 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{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.},
	Annote = {internationalworkshop},
	Author = {Adrian Kuhn},
	Booktitle = {ICSE Workshop on Search-Driven Development-Users, Infrastructure, Tools and Evaluation, 2010. SUITE '10.},
	Doi = {10.1145/1809175.1809182},
	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},
	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,
	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},
	Author = {Adrian Kuhn and David Erni and Peter Loretan and Oscar Nierstrasz},
	Doi = {10.1002/smr.414},
	Journal = {Journal of Software Maintenance and Evolution (JSME)},
	Keywords = {scg-pub scg10 akuhn codemap-pub jb10 snf10},
	Medium = {2},
	Month = apr,
	Number = 3,
	Pages = {191--210},
	Peerreview = {yes},
	Title = {Software Cartography: Thematic Software Visualization with Consistent Layout},
	Url = {http://scg.unibe.ch/archive/papers/Kuhn10bSoftwareMaps.pdf},
	Volume = 22,
	Year = {2010},
	Bdsk-Url-1 = {http://dx.doi.org/10.1002/smr.414}}

@inproceedings{Kuhn10c,
	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},
	Annote = {internationalconference},
	Author = {Adrian Kuhn and David Erni and Oscar Nierstrasz},
	Booktitle = {SOFTVIS 2010},
	Doi = {10.1145/1879211.1879229},
	Keywords = {scg-pub snf11 scg10 jb11 akuhn codemap-pub},
	Medium = {2},
	Month = oct,
	Pages = {113--122},
	Peerreview = {yes},
	Title = {Embedding Spatial Software Visualization in the {IDE}: an Exploratory Study},
	Url = {http://scg.unibe.ch/archive/papers/Kuhn10c-softvis2010-kuhn-codemap-userstudy.pdf},
	Year = {2010},
	Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Kuhn10c-softvis2010-kuhn-codemap-userstudy.pdf},
	Bdsk-Url-2 = {http://dx.doi.org/10.1145/1879211.1879229}}

@inproceedings{Kuhn10d,
	Abstract = {Meaningful method names are crucial for the readability and maintainability of software. Existing naming conventions focus on syntactic details, leaving programmers with little or no support in choosing meaningful (domain) names. In this paper we propose to build a recommendation system that supports software developers and software architects when naming identifiers in source code as well as when naming elements in {UML} diagrams. We discuss related work, outline the design of such a recommendation system and discuss possible evaluation strategies.},
	Address = {New York, NY, USA},
	Annote = {internationalworkshop},
	Author = {Adrian Kuhn},
	Booktitle = {Proceedings of the 2nd International Workshop on Recommendation Systems for Software Engineering},
	Doi = {10.1145/1808920.1808932},
	Isbn = {978-1-60558-974-9},
	Keywords = {scg-pub snf11 scg10 jb11 akuhn},
	Location = {Cape Town, South Africa},
	Medium = {2},
	Pages = {50--51},
	Peerreview = {yes},
	Publisher = {ACM},
	Series = {RSSE '10},
	Title = {On recommending meaningful names in source and {UML}},
	Url = {http://scg.unibe.ch/archive/papers/Kuhn10d.pdf},
	Year = {2010},
	Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Kuhn10d.pdf},
	Bdsk-Url-2 = {http://dx.doi.org/10.1145/1808920.1808932}}

@misc{Kuhn10x,
	Author = {Adrian Kuhn and David Erni and Oscar Nierstrasz},
	Keywords = {scg-sub akuhn codemap-pub},
	Note = {Rejected from 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 snf11 scg11 jb11 codemap akuhn},
	Month = apr,
	School = {University of Bern},
	Title = {Software Cartography and Code Navigation},
	Type = {{PhD} thesis},
	Url = {http://scg.unibe.ch/archive/phd/kuhn-phd.pdf},
	Year = {2011},
	Bdsk-Url-1 = {http://scg.unibe.ch/archive/phd/kuhn-phd.pdf}}

@inproceedings{Kuhn12a,
	Abstract = {Working with a software system typically requires knowledge
		  of the system's history, however this knowledge is often
		  only tribal memory of the development team. In past user
		  studies we have observed that when being presented with
		  collaboration views and word clouds from the system's history
		  engineers start sharing memories linked to those
		  visualizations. In this paper we propose an approach based
		  on a story-telling visualization, which is designed to
		  entice engineers to share and document their tribal memory.
		  Sticky notes can be used to share memories of a system's
		  lifetime events, such as past design rationales but also
		  more casual memories like pictures from after-work beer or a
		  hackathon. We present an early-stage prototype implementation
		  and include two design studies created using that prototype.},
	Author = {Adrian Kuhn and Mirko Stocker},
	Booktitle = {Proceedings International Conference on Software Engineering, ICSE '12},
	Keywords = {akuhn},
	Peerreview = {yes},
	Title = {CodeTimeline: Storytelling with Versioning Data},
	Url = {https://files.ifi.uzh.ch/icse2012/proceedings/icse12-online/icse12/p1333-264-kuhn.pdf},
	Year = {2012},
	Bdsk-Url-1 = {https://files.ifi.uzh.ch/icse2012/proceedings/icse12-online/icse12/p1333-264-kuhn.pdf}}

@article{Kuhr17a,
author = {Kuhrmann, Marco and Fern\'{a}ndez, Daniel M\'{e}ndez and Daneva, Maya},
title = {On the Pragmatic Design of Literature Studies in Software Engineering: An Experience-Based Guideline},
year = {2017},
publisher = {Kluwer Academic Publishers},
address = {USA},
volume = {22},
number = {6},
issn = {1382-3256},
url = {https://doi.org/10.1007/s10664-016-9492-y},
doi = {10.1007/s10664-016-9492-y},
abstract = {Systematic literature studies have received much attention in empirical software engineering in recent years. They have become a powerful tool to collect and structure reported knowledge in a systematic and reproducible way. We distinguish systematic literature reviews to systematically analyze reported evidence in depth, and systematic mapping studies to structure a field of interest in a broader, usually quantified manner. Due to the rapidly increasing body of knowledge in software engineering, researchers who want to capture the published work in a domain often face an extensive amount of publications, which need to be screened, rated for relevance, classified, and eventually analyzed. Although there are several guidelines to conduct literature studies, they do not yet help researchers coping with the specific difficulties encountered in the practical application of these guidelines. In this article, we present an experience-based guideline to aid researchers in designing systematic literature studies with special emphasis on the data collection and selection procedures. Our guideline aims at providing a blueprint for a practical and pragmatic path through the plethora of currently available practices and deliverables capturing the dependencies among the single steps. The guideline emerges from various mapping studies and literature reviews conducted by the authors and provides recommendations for the general study design, data collection, and study selection procedures. Finally, we share our experiences and lessons learned in applying the different practices of the proposed guideline.},
journal = {Empirical Softw. Engg.},
month = dec,
pages = {2852--2891},
numpages = {40},
keywords = {Guideline proposal, Systematic literature review, Systematic mapping study, Lessons learned, Empirical software engineering}}

@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}}

@misc{Kukl07a,
	Author = {Chris Kuklewicz},
	Month = feb,
	Title = {Regular expressions/Bounded space proposal},
	Note = {\url{https://wiki.haskell.org/Regular_expressions/Bounded_space_proposal}},
	Year = {2007}}

@inproceedings{Kula14a,
	author={R. G. Kula and C. D. Roover and D. German and T. Ishio and K.
		Inoue},
	booktitle={2014 Second IEEE Working Conference on Software Visualization},
	title={Visualizing the Evolution of Systems and Their Library Dependencies},
	year={2014},
	pages={127-136},
	abstract={System maintainers face several challenges stemming from a system
		and its library dependencies evolving separately. Novice maintainers may
			lack the historical knowledge required to efficiently manage an
			inherited system. While some libraries are regularly updated, some
			systems keep a dependency on older versions. On the other hand,
		maintainers may be unaware that other systems have settled on a
			different version of a library. In this paper, we visualize how the
			dependency relation between a system and its dependencies evolves
			from two perspectives. Our system-centric dependency plots (SDP)
			visualize the successive library versions a system depends on over
			time. The radial layout and heat-map metaphor provide visual clues
			about the change in dependencies along the system's release history.
			From this perspective, maintainers can navigate to a library-centric
			dependants diffusion plot (LDP). The LDP is a time-series
			visualization that shows the diffusion of users across the different
			versions of a library. We demonstrate on real-world systems how
			maintainers can benefit from our visualizations through four case
			scenarios.},
	keywords={data visualisation;software libraries;LDP;SDP;library
		dependencies;library-centric dependant diffusion plot;system evolution
			visualization;system-centric dependency plots;time-series
			visualization;Color;Evolution
			(biology);Layout;Libraries;Shape;Software;Visualization;Software
			Evolution;Software Maintenance;Software Reuse},
	doi={10.1109/VISSOFT.2014.29},
	month=sep
}

@inproceedings{Kula17a,
  title={An exploratory study on library aging by monitoring client usage in a software ecosystem},
  author={Kula, Raula Gaikovina and German, Daniel M and Ishio, Takashi and Ouni, Ali and Inoue, Katsuro},
  booktitle={Software Analysis, Evolution and Reengineering (SANER), 2017 IEEE 24th International Conference on},
  pages={407--411},
  year={2017},
  organization={IEEE}
}

@article{Kula17b,
	title={Do developers update their library dependencies?},
	author={Kula, Raula Gaikovina and German, Daniel M and Ouni, Ali and Ishio, Takashi and Inoue, Katsuro},
	journal={Empirical Software Engineering},
	pages={1--34},
	year={2017},
	publisher={Springer}
}

@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{Kull98a,
	Acmid = {837015},
	Address = {Washington, DC, USA},
	Author = {B. Kullbach and A. Winter and P. Dahm and J. Ebert},
	Booktitle = {Proceedings of the Working Conference on Reverse Engineering (WCRE'98)},
	Isbn = {0-8186-8967-6},
	Pages = {135--},
	Publisher = {IEEE Computer Society},
	Series = {WCRE '98},
	Title = {Program Comprehension in Multi-Language Systems},
	Url = {http://dl.acm.org/citation.cfm?id=832305.837015},
	Year = {1998},
	Bdsk-Url-1 = {http://dl.acm.org/citation.cfm?id=832305.837015}}

@inproceedings{Kull99a,
author={Kullbach, B. and Winter, A.},
booktitle={Software Maintenance and Reengineering, 1999. Proceedings of the Third European Conference on},
title={Querying as an enabling technology in software reengineering},
year={1999},
pages={42-50},
doi={10.1109/CSMR.1999.756681}}

@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}}

@techreport{Kumm15a,
	Abstract = {The aim of this investigation into test smells was to find out
how familiar developers are with test smells, the frequency of test smells and
their severity in the industrial world. First of all, a taxonomy of different
test smells was created and grouped according to programming principles as a
basis for this study. Several interviews were then conducted to find out which
test smells to include in the subsequent survey. 20 people with different
industrial experience levels participated in this survey. It was hypothesised
that test smells are not identified as such and that their names are unknown.
The hypothesis was supported by the results of the survey. The results
revealed that test smells are not quite well-known despite the fact that some
of them occur rather frequently and pose severe problems.},
	Author = {Maudlin Kummer},
	Institution = {University of Bern},
	Keywords = {snf-none scg-bp scg15 jb15},
	Month = mar,
	Title = {Categorising Test Smells},
	Type = {Bachelor's thesis},
	Url = {http://scg.unibe.ch/archive/projects/Kumm15a.pdf},
	Year = {2015}
}

@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}}

@article{Kuno65a,
	Acmid = {365689},
	Address = {New York, NY, USA},
	Author = {Kuno, Susumu},
	Doi = {10.1145/364995.365689},
	Issn = {0001-0782},
	Issue_Date = {July 1965},
	Journal = {Commun. ACM},
	Month = jul,
	Number = {7},
	Numpages = {10},
	Pages = {453--462},
	Publisher = {ACM},
	Title = {The predictive analyzer and a path elimination technique},
	Url = {http://doi.acm.org/10.1145/364995.365689},
	Volume = {8},
	Year = {1965},
	Bdsk-Url-1 = {http://doi.acm.org/10.1145/364995.365689},
	Bdsk-Url-2 = {http://dx.doi.org/10.1145/364995.365689}}

@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},
	Bdsk-Url-1 = {http://sdqweb.ipd.uka.de/publications/pdfs/kuperberg2007a.pdf}}

@inproceedings{Kupp07a,
	Abstract = {An enterprise can consist of disparate technology environments such as legacy, Java, .Net
			etc and heterogeneous applications such as Customer Relationship Management (CRM), Enterprise
			Resource Planning (ERP) etc. In addition, there could be multiple versions of the same application
			deployed in different locations. In this environment, it is very difficult to create and maintain
			enterprise-wide business processes that can seamlessly work across heterogeneous applications and
			their versions. Service Oriented Architecture (SOA) could be used to address these problems. This
			paper presents how a SOA based solution can be implemented by defining business processes based on
			common service interfaces and a common data model. By following this approach, we have built a
			robust architecture and business processes that remain unchanged when underlying applications are
			retired, replaced, or consolidated.},
	Author = {Kuppuraju, S. and Rao, K. and Bosamiya, H.A. and Anantharangachar, R. and Mallik, S.},
	Booktitle = {Services Computing, 2007. SCC 2007. IEEE International Conference on},
	Doi = {10.1109/SCC.2007.115},
	Keywords = {common data model; common service interface; enterprise-wide business process; heterogeneous application support; service oriented architecture; business data processing; data models; software architecture;},
	Month = jul,
	Pages = {680 -681},
	Title = {Supporting Heterogeneous Applications with Service Oriented Architecture},
	Year = {2007},
	Bdsk-Url-1 = {http://dx.doi.org/10.1109/SCC.2007.115}}

@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 scg11 jb11 snf-none scrum agile},
	Month = mar,
	Title = {Tool Support for Scrum},
	Type = {Bachelor's thesis},
	Url = {http://scg.unibe.ch/archive/projects/Kurp11a.pdf},
	Year = {2011},
	Bdsk-Url-1 = {http://scg.unibe.ch/archive/projects/Kurp11a.pdf}}

@inproceedings{Kurs10a,
	Abstract = {XQuery is generic, widely adopted language for querying and
	manipulating XML data. Many of currently available native
	XML databases are using XQuery as its primary query language.
	The XQuery specification requires each XML node to belong to exactly
	one XML tree. In case of the XML subtree is appended into a new
	XML structure, the whole subtree has to be copied and afterwards
	the copy is appended to the new structure. This may lead into excessive and
	unnecessary data copying and duplication.
	In this paper, we present a new XML node copying scheme that defers
	the node data copy operation unless necessary. We will show that this schemes
	significantly reduces the XML node copy operations required during the query
	processing.},
	Address = {Praha},
	Author = {Kur\v{s}, Jan and Vrany, Jan},
	Booktitle = {{DATESO 2010}},
	Isbn = {978-80-7378-116-3},
	Issn = {1613-0073},
	Language = {English},
	Pages = {131--138},
	Peerreview = {yes},
	Publisher = {Matfyzpress},
	Title = {{D}eferred node-copying scheme for {XQuery} processors},
	Url = {http://scg.unibe.ch/archive/papers/Kurs10a-xquery.pdf},
	Year = {2010},
	Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Kurs10a-xquery.pdf},
    Keywords = {kursjan}
}

@inproceedings{Kurs11a,
	Abstract = {Software programs are often written in more than one programming language as the emergence of domain specific languages testifies. Language in- terpreters are easily embeddable and performances are usually satisfactory. How- ever, inter-language interaction remains a field tarnished by poor performances. The reason is that alien objects are wrapped, implying the use of expensive for- warding and converting mechanism. We propose to represent alien objects as the set of different states and behaviors it may have by moving between languages, thus avoiding wrapping and conversion. We have validated our solution on integration of Java and Smalltalk programming languages.},
	Address = {Ostrava},
	Author = {Kur\v{s}, Jan and Vrany, Jan and Bergel, Alexander},
	Booktitle = {{DATESO 2011}},
	Isbn = {978-80-248-2391-1},
	Language = {English},
	Month = apr,
	Pages = {73--84},
	Peerreview = {yes},
	Publisher = {Department of Computer Science, {FEECS} {VSB} - Technical University of Ostrava},
	Title = {{Supporting Language Interoperability by Dynamically Switched Behaviors}},
	Url = {http://scg.unibe.ch/archive/papers/Kurs11a-Interoperability.pdf},
	Year = {2011},
	Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Kurs11a-Interoperability.pdf},
    Keywords = {kursjan}
}

@incollection{Kurs13a,
	Author = {Jan Kur\v{s} and Guillaume Larcheveque and Lukas Renggli and Alexandre Bergel and Damien Cassou and St\'ephane Ducasse and Jannik Laval},
	Booktitle = {Deep Into Pharo},
	Isbn = {978-3-9523341-6-4},
	Keywords = {skip-abstract skip-doi scg-pub scg13 snf-asa1 jb14 kursjan},
	Medium = {2},
	Month = sep,
	Pages = 36,
	Peerreview = {no},
	Publisher = {Square Bracket Associates},
	Title = {{PetitParser}: Building Modular Parsers},
	Url = {http://scg.unibe.ch/archive/papers/Kurs13a-PetitParser.pdf},
	Year = {2013},
	Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Kurs13a-PetitParser.pdf}}

@inproceedings{Kurs14a,
	Abstract = {The domain of context-free languages has been extensively
                explored and there exist numerous techniques for parsing (all
                or a subset of) context-free languages. Unfortunately, some
                programming languages are not context-free. Using standard
                context-free parsing techniques to parse a context-sensitive
                programming language poses a considerable challenge. Im-
                plementors of programming language parsers have adopted
                various techniques, such as hand-written parsers, special lex-
                ers, or post-processing of an ambiguous parser output to deal
                with that challenge.
                In this paper we suggest a simple extension of a top-down
                parser with contextual information. Contrary to the tradi-
                tional approach that uses only the input stream as an input to
                a parsing function, we use a parsing context that provides ac-
                cess to a stream and possibly to other context-sensitive infor-
                mation. At a same time we keep the context-free formalism
                so a grammar definition stays simple without mind-blowing
                context-sensitive rules. We show that our approach can be
                used for various purposes such as indent-sensitive parsing,
                a high-precision island parsing or XML (with arbitrary el-
                ement names) parsing. We demonstrate our solution with
                PetitParser, a parsing-expression grammar based, top-down,
                parser combinator framework written in Smalltalk.},
	Annote = {internationalworkshop},
	Author = {Jan Kur\v{s} and Mircea Lungu and Oscar Nierstrasz},
	Booktitle = {Proceedings of International Workshop on Smalltalk Technologies (IWST 2014)},
	Keywords = {scg14 scg-pub jb14 snf-asa1 skip-doi kursjan},
	Location = {Cambridge, England},
	Medium = {2},
	Peerreview = {yes},
	Title = {Top-Down Parsing with Parsing Contexts},
	Url = {http://scg.unibe.ch/archive/papers/Kurs14a-ParsingContext.pdf},
	Year = {2014}
    }

@inproceedings{Kurs14b,
	Annote = {internationalconference},
	Author = {Jan Kur\v{s} and Mircea Lungu and Oscar Nierstrasz},
	Title={Bounded Seas: Island Parsing Without Shipwrecks},
	Abstract={ Imprecise manipulation of source code (semi-parsing) is useful for tasks such as robust parsing, error recovery, lexical analysis, and rapid development of parsers for data extraction. An island grammar precisely defines only a subset of a language syntax (islands), while the rest of the syntax (water) is defined imprecisely.
    Usually, water is defined as the negation of islands. Albeit simple, such a definition of water is naive and impedes composition of islands. When developing an island grammar, sooner or later a programmer has to create water tailored to each individual island. Such an approach is fragile, however, because water can change with any change of a grammar. It is time-consuming, because water is defined manually by a programmer and not automatically. Finally, an island surrounded by water cannot be reused because water has to be defined for every grammar individually.
    In this paper we propose a new technique of island parsing - bounded seas. Bounded seas are composable, robust, reusable and easy to use because island-specific water is created automatically. We integrated bounded seas into a parser combinator framework as a demonstration of their composability and reusability.},
	Year={2014},
	Isbn={978-3-319-11244-2},
	Booktitle={Software Language Engineering},
	Volume={8706},
	Series={Lecture Notes in Computer Science},
	Editor={Combemale, Beno\^{i}t and Pearce, David J. and Barais, Olivier and Vinju, Jurgen J.},
	Doi={10.1007/978-3-319-11245-9_4},
	PeerReview = {yes},
	Medium = {2},
	Url = {http://scg.unibe.ch/archive/papers/Kurs14b-BoundedSeas.pdf},
	Publisher={Springer International Publishing},
	Pages={62-81},
	Language={English},
	Keywords = {scg-pub, scg14, jb15, snf-asa1, kursjan},
	Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Kurs14b-BoundedSeas.pdf},
	Bdsk-Url-2 = {http://dx.doi.org/10.1007/978-3-319-11245-9_4}}

@article{Kurs15a,
    title = {Bounded seas},
    journal = {Computer Languages, Systems \& Structures},
    volume = {44, Part A},
    pages = {114 - 140},
    PeerReview = {yes},
	Medium = {2},
    year = {2015},
	Annote = {internationaljournal},
    note = {Special issue on the 6th and 7th International Conference on Software Language Engineering (SLE 2013 and SLE 2014)},
    issn = {1477-8424},
    doi = {10.1016/j.cl.2015.08.002},
	url = {http://scg.unibe.ch/archive/papers/Kurs15a-BoundedSeas.pdf},
    author = {Jan Kur\v{s} and Mircea Lungu and Rathesan Iyadurai and Oscar Nierstrasz},
    keywords = {Semi-parsing},
    keywords = {Island parsing},
    keywords = {Parsing expression grammars},
	Keywords = {scg-pub, scg15, jb16, snf-asa1, kursjan},
    abstract = {Abstract Imprecise manipulation of source code (semi-parsing) is useful for tasks such as robust parsing, error recovery,
        lexical analysis, and rapid development of parsers for data extraction. An island grammar precisely defines only a subset of a
        language syntax (islands), while the rest of the syntax (water) is defined imprecisely. Usually water is defined as the negation of islands.
        Albeit simple, such a definition of water is naive and impedes composition of islands. When developing an island grammar, sooner or later a
        language engineer has to create water tailored to each individual island. Such an approach is fragile, because water can change with any
        change of a grammar. It is time-consuming, because water is defined manually by an engineer and not automatically. Finally, an island surrounded
        by water cannot be reused because water has to be defined for every grammar individually. In this paper we propose a new technique of
        island parsing --- bounded seas. Bounded seas are composable, robust, reusable and easy to use because island-specific water is created
        automatically. Our work focuses on applications of island parsing to data extraction from source code. We have integrated bounded seas
        into a parser combinator framework as a demonstration of their composability and reusability.},
	Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Kurs15a-BoundedSeas.pdf}
}

@inproceedings{Kurs16a,
	Abstract = {Parser combinators are a popular approach to parsing. Parser combinators follow the structure of an underlying grammar, are modular, well-structured, easy to maintain, and can recognize a large variety of languages including context-sensitive ones. However, their universality and flexibility introduces a noticeable performance overhead. Time-wise, parser combinators cannot compete with parsers generated by well-performing parser generators or optimized hand-written code.
Techniques exist to achieve a linear asymptotic performance of parser combinators, yet there is still a significant constant multiplier. This can be further lowered using meta-programming techniques.
In this work we present a more traditional approach to optimization --- a compiler --- applied to the domain of parser combinators. A parser combinator compiler (pc-compiler) analyzes a parser combinator, applies parser combinator-specific optimizations and, generates an equivalent high-performance top-down parser. Such a compiler preserves the advantages of parser combinators while complementing them with better performance.},
	Annote = {internationalworkshop},
	Author = {Jan Kur\v{s} and Jan Vran\'{y} and Mohammad Ghafari and Mircea Lungu and Oscar Nierstrasz},
	Booktitle = {Proceedings of International Workshop on Smalltalk Technologies (IWST 2016)},
	Keywords = {scg16 scg-pub jb17 snf-asa2 kursjan petitcompiler},
	Medium = {2},
	Peerreview = {yes},
	Title = {Optimizing Parser Combinators},
	Url = {http://scg.unibe.ch/archive/papers/Kurs16a-Compiler.pdf},
	Year = {2016},
	pages = {1:1--1:13},
	isbn = {978-1-4503-4524-8},
	doi = {10.1145/2991041.2991042}
    }

@misc{Kurs16b,
  author       = {Kur\v{s}, Jan and Lungu, Mircea and Nierstrasz, Oscar and Steinmann, Thomas},
  title        = {Polite Smalltalk --- An Implementation},
  abstract     = {Polite Smalltalk is a programming language
		that allows programmers to use sentence case identifiers -- a
		notation for embedding spaces in identifiers. We hope that a
		syntax like that of Polite will encourage developers to write
		more readable code. Even the smallest increase in code
		readability is to be desired since software developers spend
		the largest part of their time reading code rather than
		writing it.},
  keywords     = {scg16 scg-pub jb17 snf-none kursjan politesmalltalk},
  month        = sep,
  year         = {2016},
  doi          = {10.5281/zenodo.61578},
  Medium       = {1},
  Peerreview   = {no},
  url          = {http://dx.doi.org/10.5281/zenodo.61578}
}

@phdthesis{Kurs16c,
        Title = {Parsing For Agile Modeling},
        Author = {Jan Kur\v{s}},
        Abstract = {Agile modeling refers to a set of methods that allow for a quick initial development of an importer and its further refinement. These requirements are not met simultaneously by the current parsing technology. Problems with parsing became a bottleneck in our research of agile modeling.  In this thesis we introduce a novel approach to specify and build parsers. Our approach allows for expressive, tolerant and composable parsers without sacrificing performance. The approach is based on a context-sensitive extension of parsing expression grammars that allows a grammar engineer to specify complex language restrictions. To insure high parsing performance we automatically analyze a grammar definition and choose different parsing strategies for different parts of the grammar.  We show that context-sensitive parsing expression grammars allow for highly composable, tolerant and variable-grained parsers that can be easily refined. Different parsing strategies significantly insure high-performance of parsers without sacrificing expressiveness of the underlying grammars.},
        Keywords = {scg-phd, snf-asa2, scg16, jb17, kursjan},
        School = {University of Bern},
        Type = {{PhD} thesis},
        Url = {http://scg.unibe.ch/archive/phd/kurs-phd.pdf},
	Bdsk-Url-1 = {http://scg.unibe.ch/archive/phd/kurs-phd.pdf},
        Month = oct,
        Year = {2016}
}

@article{Kurs17a,
	title = {Efficient parsing with parser combinators},
	journal = {Science of Computer Programming},
	Annote = {internationaljournal},
	volume = {161},
	pages = {57.88},
	month = sep,
	year = {2018},
	issn = {0167-6423},
	doi = {10.1016/j.scico.2017.12.001},
    Url = {http://scg.unibe.ch/archive/papers/Kurs17a.pdf},
	author = {Jan Kur\v{s} and Jan Vran\'{y} and Mohammad Ghafari and Mircea Lungu and Oscar Nierstrasz},
	Keywords = {scg-pub, snf-asa2, scg17, jb18, kursjan},
	Medium = {2},
	Peerreview = {yes},
	abstract = {Abstract Parser combinators offer a universal and flexible approach to
	parsing. They follow the structure of an underlying grammar, are modular,
	well-structured, easy to maintain, and can recognize a large variety of languages
	including context-sensitive ones. However, these advantages introduce a noticeable
	performance overhead mainly because the same powerful parsing algorithm is used to
	recognize even simple languages. Time-wise, parser combinators cannot compete with
	parsers generated by well-performing parser generators or optimized hand-written code.
	Techniques exist to achieve a linear asymptotic performance of parser combinators, yet
	there is a significant constant multiplier. The multiplier can be lowered to some
	degree, but this requires advanced meta-programming techniques, such as staging or
	macros, that depend heavily on the underlying language technology. In this work we
	present a language-agnostic solution. We optimize the performance of parsing
	combinators with specializations of parsing strategies. For each combinator, we
	analyze the language parsed by the combinator and choose the most efficient parsing
	strategy. By adapting a parsing strategy for different parser combinators we achieve
	performance comparable to that of hand-written or optimized parsers while preserving
	the advantages of parsers combinators.}
}

@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 scg-none 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}}

@article{Kuzn02a,
  title={Comparing performance of algorithms for generating concept lattices},
  author={Kuznetsov, Sergei O and Obiedkov, Sergei A},
  journal={Journal of Experimental \& Theoretical Artificial Intelligence},
  volume={14},
  number={2-3},
  pages={189--216},
  year={2002},
  publisher={Taylor \& Francis}
}

@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}}

@inproceedings{LaTo07a,
 author = {LaToza, Thomas D. and Garlan, David and Herbsleb, James D. and Myers, Brad A.},
 title = {Program Comprehension As Fact Finding},
 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},
 series = {ESEC-FSE '07},
 year = {2007},
 isbn = {978-1-59593-811-4},
 location = {Dubrovnik, Croatia},
 pages = {361--370},
 numpages = {10},
 url = {http://doi.acm.org/10.1145/1287624.1287675},
 doi = {10.1145/1287624.1287675},
 acmid = {1287675},
 publisher = {ACM},
 address = {New York, NY, USA},
 keywords = {code navigation, empirical study, expertise, program comprehension, reverse engineering, science of design}}

@inproceedings{LaTo10a,
	author = {LaToza, Thomas D. and Myers, Brad A.},
	title = {Developers Ask Reachability Questions},
	booktitle = {Proceedings of the 32Nd ACM/IEEE International Conference on Software Engineering - Volume 1},
	series = {ICSE '10},
	year = {2010},
	isbn = {978-1-60558-719-6},
	location = {Cape Town, South Africa},
	pages = {185--194},
	numpages = {10},
	url = {http://doi.acm.org/10.1145/1806799.1806829},
	doi = {10.1145/1806799.1806829},
	acmid = {1806829},
	publisher = {ACM},
	address = {New York, NY, USA},
	keywords = {code navigation, developer questions, empirical study, program comprehension, software maintenance, dev-questions}
}

@inproceedings{LaTo10b,
	author = {LaToza, Thomas D. and Myers, Brad A.},
	title = {Hard-to-Answer Questions about Code},
	booktitle = {Evaluation and Usability of Programming Languages and Tools},
	series = {PLATEAU '10},
	year = {2010},
	isbn = {978-1-4503-0547-1},
	location = {Reno, Nevada},
	pages = {8:1--8:6},
	articleno = {8},
	numpages = {6},
	url = {http://doi.acm.org/10.1145/1937117.1937125},
	doi = {10.1145/1937117.1937125},
	acmid = {1937125},
	publisher = {ACM},
	address = {New York, NY, USA},
	keywords = {developer questions, program comprehension, dev-questions}
}

@inproceedings{LaTo10c,
	Acmid = {1806829},
	Address = {New York, NY, USA},
	Author = {LaToza, Thomas D. and Myers, Brad A.},
	Booktitle = {Proceedings of the 32Nd ACM/IEEE International Conference on Software Engineering - Volume 1},
	Doi = {10.1145/1806799.1806829},
	Isbn = {978-1-60558-719-6},
	Keywords = {code navigation, developer questions, empirical study, program comprehension, software maintenance},
	Location = {Cape Town, South Africa},
	Numpages = {10},
	Pages = {185--194},
	Publisher = {ACM},
	Series = {ICSE '10},
	Title = {Developers Ask Reachability Questions},
	Url = {http://doi.acm.org/10.1145/1806799.1806829},
	Year = {2010},
	Bdsk-Url-1 = {http://doi.acm.org/10.1145/1806799.1806829},
	Bdsk-Url-2 = {http://dx.doi.org/10.1145/1806799.1806829}}

@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,
	Author = {Ralf L\"{a}mmel},
	Journal = {FME 2001: Formal Methods for Increasing Software Productivity},
	Pages = {550--570},
	Publisher = {Springer},
	Title = {Grammar adaptation},
	Year = {2001}}

@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},
	Journal = {Software Quality Journal},
	Note = {To appear},
	Publisher = {Springer},
	Title = {Recovering Grammar Relationships for the {Java} Language Specification},
	Volume = {SCAM Special Issue},
	Year = {2010}}

@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}}

@article{Lamb87a,
 author = {Lamb, David Alex},
 title = {{IDL}: Sharing Intermediate Representations},
 journal = {ACM Trans. Program. Lang. Syst.},
 issue_date = {July 1987},
 volume = {9},
 number = {3},
 month = jul,
 year = {1987},
 issn = {0164-0925},
 pages = {297--318},
 numpages = {22},
 url = {http://doi.acm.org/10.1145/24039.24040},
 doi = {10.1145/24039.24040},
 acmid = {24040},
 publisher = {ACM},
 address = {New York, NY, USA}
}

@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}}

@inproceedings{Lamm11a,
 author = {L\"{a}mmel, Ralf and Pek, Ekaterina and Starek, J\"{u}rgen},
 title = {Large-scale, {AST}-based {API}-usage Analysis of Open-source {Java} Projects},
 booktitle = {Proceedings of the 2011 ACM Symposium on Applied Computing},
 series = {SAC '11},
 year = {2011},
 isbn = {978-1-4503-0113-8},
 location = {TaiChung, Taiwan},
 pages = {1317--1324},
 numpages = {8},
 url = {http://doi.acm.org/10.1145/1982185.1982471},
 doi = {10.1145/1982185.1982471},
 acmid = {1982471},
 publisher = {ACM},
 address = {New York, NY, USA}
}

@inproceedings{Lamm13a,
  title={Language support for megamodel renarration},
  author={L{\"a}mmel, Ralf and Zaytsev, Vadim},
  booktitle={XM 2013--Extreme Modeling Workshop},
  pages={38},
  year={2013},
  url={http://ceur-ws.org/Vol-1089/5.pdf},
  keywords = {megamodels}
}

@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{Land91a,
 author = {Landi, William and Ryder, Barbara G.},
 title = {Pointer-induced Aliasing: A Problem Classification},
 booktitle = {Proceedings of the 18th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages},
 series = {POPL '91},
 year = {1991},
 isbn = {0-89791-419-8},
 location = {Orlando, Florida, USA},
 pages = {93--103},
 numpages = {11},
 url = {http://doi.acm.org/10.1145/99583.99599},
 doi = {10.1145/99583.99599},
 acmid = {99599},
 publisher = {ACM},
 address = {New York, NY, USA}
}

@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}}

@article{Land92a,
 author = {Landi, William},
 title = {Undecidability of Static Analysis},
 journal = {ACM Lett. Program. Lang. Syst.},
 issue_date = {Dec. 1992},
 volume = {1},
 number = {4},
 month = dec,
 year = {1992},
 issn = {1057-4514},
 pages = {323--337},
 numpages = {15},
 url = {http://doi.acm.org/10.1145/161494.161501},
 doi = {10.1145/161494.161501},
 acmid = {161501},
 publisher = {ACM},
 address = {New York, NY, USA},
 keywords = {abstract interpretation, alias analysis, data flow analysis, halting problem, static analysis}
}

@inproceedings{Land93a,
 author = {Landi, William and Ryder, Barbara G. and Zhang, Sean},
 title = {Interprocedural Modification Side Effect Analysis with Pointer Aliasing},
 booktitle = {Proceedings of the ACM SIGPLAN 1993 Conference on Programming Language Design and Implementation},
 series = {PLDI '93},
 year = {1993},
 isbn = {0-89791-598-4},
 location = {Albuquerque, New Mexico, USA},
 pages = {56--67},
 numpages = {12},
 url = {http://doi.acm.org/10.1145/155090.155096},
 doi = {10.1145/155090.155096},
 acmid = {155096},
 publisher = {ACM},
 address = {New York, NY, USA}
}

@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{Lang07b,
	title = {{MetricViewEvolution}: {UML}-based views for monitoring model evolution and quality},
	author = {Lange, Christian FJ and Wijns, Martijn AM and Chaudron, Michel RV},
	booktitle = {Software Maintenance and Reengineering, 2007. CSMR'07. 11th European Conference on},
	pages = {327--328},
	year = {2007},
	organization = {IEEE}}

@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}}

@inproceedings{Lang08b,
author={G. Langelier and H. Sahraoui and P. Poulin},
booktitle={2008 IEEE Symposium on Visual Languages and Human-Centric Computing},
title={Exploring the evolution of software quality with animated visualization},
year={2008},
pages={13-20},
keywords={computer animation;software maintenance;software quality;animated visualization;software evolution;software maintenance;software quality;Animation;Costs;Data mining;Data visualization;Humans;Machine learning;Navigation;Programming profession;Software maintenance;Software quality},
doi={10.1109/VLHCC.2008.4639052},
ISSN={1943-6092},
month=sep
}

@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 parsebyexample},
	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}}

@book{Lang09b,
	Author = {Langdridge, Darren and Hagger-johnson, Gareth},
	Day = {10},
	Edition = {2 Ill},
	Howpublished = {Paperback},
	Isbn = {0131982036},
	Keywords = {hci},
	Month = jun,
	Publisher = {Prentice Hall},
	Title = {Introduction to Research Methods and Data Analysis in Psychology},
	Year = {2009}}

@phdthesis{Lang10a,
	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. },
	Author = {Guillaume Langelier},
	Month = dec,
	School = {D{\'e}partement d'Informatique et Recherche, Op{\'e}rationnelle, Universit{\'e} de Montr{\'e}al},
	Title = {Int{\'e}gration de la visualisation {\`a} multiples vues pour le d{\'}eveloppement du logiciel},
	Type = {Ph.D. Thesis},
	Url = {http://www.iro.umontreal.ca/labs/infographie/theses/langelig-phd/Langelier-2010-PhdThesis.pdf},
	Year = {2010},
	Bdsk-Url-1 = {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)},
	Doi = {10.1007/978-3-642-21952-8_10},
	Keywords = {scg-pub scg11 snf11 jb11 bifrost ercim11},
	Medium = {2},
	Month = jun,
	Pages = {115--130},
	Peerreview = {yes},
	Publisher = {Springer-Verlag},
	Ratex = {28%},
	Series = {LNCS},
	Title = {Unifying Subjectivity},
	Url = {http://scg.unibe.ch/archive/papers/Lang11aSubjectivity.pdf},
	Volume = {6705},
	Year = {2011},
	Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Lang11aSubjectivity.pdf},
	Bdsk-Url-2 = {http://dx.doi.org/10.1007/978-3-642-21952-8_10}}

@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 scg11 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},
	Bdsk-Url-1 = {http://scg.unibe.ch/archive/masters/Lang11b.pdf}}

@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 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 scg-none 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.},
	Acceptnum = {27},
	Accepttotal = {145},
	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 scg-none jb01 stefPub moose-pub},
	Misc = {acceptance rate: 27/145 = 18\%},
	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 scg-none 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 scg-none 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 scg-none 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 scg-none 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.},
	Acceptnum = {40},
	Accepttotal = {118},
	Annote = {internationalconference},
	Author = {Michele Lanza},
	Booktitle = {Proceedings of CSMR 2003},
	Doi = {10.1109/CSMR.2003.1192450},
	Keywords = {recast03 scg-pub scg-none jb03 moose-pub},
	Misc = {acceptance rate: 40/118 = 34\%},
	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 skip-doi scg-phd evolution scg-none 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 scg-none 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 scg-none 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 scg-none 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{Lanz03f,
 author = {Lanzenberger, Monika and Miksch, Silvia and Pohl, Margit},
 title = {The Stardinates - Visualizing Highly Structured Data},
 booktitle = {Proceedings of the Seventh International Conference on Information Visualization},
 series = {IV '03},
 year = {2003},
 isbn = {0-7695-1988-1},
 pages = {47--},
 url = {http://dl.acm.org/citation.cfm?id=938981.939690},
 acmid = {939690},
 publisher = {IEEE Computer Society},
 address = {Washington, DC, USA}
}

@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 scg-none 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/de/book/9783540244295},
	Year = {2006}
}

@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}}

@article{Laru94a,
    author = {James R. Larus and Thomas Ball},
    title = {Rewriting Executable Files to Measure Program Behavior},
    journal = {Software Practice \& Experience},
    year = {1994},
    volume = {24},
    pages = {197-218}
}

@inproceedings{Lask92a,
author={Laski, J. and Szermer, W.},
booktitle={Software Maintenance, 1992. Proceerdings., Conference on},
title={Identification of program modifications and its applications in software maintenance},
year={1992},
pages={282-290},
doi={10.1109/ICSM.1992.242533}
}

@incollection{Lasn09a,
	year={2009},
	isbn={978-3-642-01923-4},
	booktitle={Reliable Software Technologies -- Ada-Europe 2009},
	volume={5570},
	series={Lecture Notes in Computer Science},
	editor={Kordon, Fabrice and Kermarrec, Yvon},
	doi={10.1007/978-3-642-01924-1_17},
	title={Ocarina : An Environment for AADL Models Analysis and Automatic Code Generation for High Integrity Applications},
	url={http://dx.doi.org/10.1007/978-3-642-01924-1_17},
	publisher={Springer Berlin Heidelberg},
	author={Lasnier, Gilles and Zalila, Bechir and Pautet, Laurent and Hugues, Jerome},
	pages={237-250},
	language={English}}

@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://www.ics.uci.edu/~tlatoza/papers/icse2006.pdf},
	Year = {2006},
	Keywords = {dev-questions},
	Bdsk-Url-1 = {http://www.ics.uci.edu/~tlatoza/papers/icse2006.pdf},
	Bdsk-Url-2 = {http://dx.doi.org/10.1145/1134285.1134355}}

@inproceedings{Latt04a,
 	author = {Lattner, Chris and Adve, Vikram},
 	title = {{LLVM}: A Compilation Framework for Lifelong Program Analysis \& Transformation},
 	booktitle = {Proceedings of the International Symposium on Code Generation and Optimization: Feedback-directed and Runtime Optimization},
 	series = {CGO '04},
 	year = {2004},
 	isbn = {0-7695-2102-9},
 	location = {Palo Alto, California},
 	pages = {75--},
 	url = {http://dl.acm.org/citation.cfm?id=977395.977673},
 	acmid = {977673},
 	publisher = {IEEE Computer Society},
 	address = {Washington, DC, USA}
}

@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},
	Booktitle = {Proc. 36th EUROMICRO Conference on Software Engineering and Advanced Applications (SEAA 2010)},
	Pages = {102-110},
	Publisher = {IEEE},
	Title = {A Taxonomy of Software Composition Mechanisms},
	Year = {2010}}

@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}}

@inproceedings{Laur00a,
	Author = {Laurikari, V.},
	Booktitle = {String Processing and Information Retrieval, 2000. SPIRE 2000. Proceedings. Seventh International Symposium on},
	Organization = {IEEE},
	Pages = {181--187},
	Title = {{NFAs} with tagged transitions, their conversion to deterministic automata and application to regular expressions},
	Year = {2000}}

@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,
	Annote = {internationalworkshop},
	Author = {Jannik Laval and Alexandre Bergel and St\'ephane Ducasse},
	Booktitle = {FAMOOSr, 2nd Workshop on FAMIX and Moose in Reengineering},
	Hal-Id = {inria-00498482},
	Keywords = {moose-pub lse-pub stefPub},
	Title = {Assessing the Quality of your Software with MoQam},
	Url = {http://www.jannik-laval.eu/assets/files/papers/Lava08a-Famoosr2008-MoQam.pdf},
	Webpdf = {http://www.jannik-laval.eu/assets/files/papers/Lava08a-Famoosr2008-MoQam.pdf},
	X-Editorial-Board = {yes},
	X-International-Audience = {yes},
	X-Proceedings = {no},
	Year = {2008},
	Bdsk-Url-1 = {http://www.jannik-laval.eu/assets/files/papers/Lava08a-Famoosr2008-MoQam.pdf}}

@inproceedings{Lava09a,
	Acmid = {1686214},
	Address = {Washington, DC, USA},
	Author = {Laval, Jannik and Denier, Simon and Ducasse, St\'ephane and Bergel, Alexandre},
	Booktitle = {Proceedings of the 2009 16th Working Conference on Reverse Engineering},
	Doi = {10.1109/WCRE.2009.11},
	Isbn = {978-0-7695-3867-9},
	Keywords = {software visualization, reengineering, dependency structural matrix, package, dependency moose-pub},
	Numpages = {10},
	Pages = {113--122},
	Publisher = {IEEE Computer Society},
	Series = {WCRE '09},
	Title = {Identifying Cycle Causes with Enriched Dependency Structural Matrix},
	Url = {http://dx.doi.org/10.1109/WCRE.2009.11},
	Year = {2009},
	Bdsk-Url-1 = {http://dx.doi.org/10.1109/WCRE.2009.11}}

@inproceedings{Lava09b,
	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.},
	Address = {Brest, France},
	Aeres = {ACT},
	Aeresstatus = {aeres12},
	Annote = {internationalworkshop},
	Author = {Jannik Laval and Simon Denier and St\'ephane Ducasse and Andy Kellens},
	Booktitle = {Proceedings of ESUG International Workshop on Smalltalk Technologies (IWST 2009)},
	Hal-Id = {inria-00498492 /},
	Inria = {RMOD},
	Inriareport = {2009},
	Keywords = {moose-pub lse-pub},
	Labo = {dans},
	Selectif = {oui},
	Title = {Supporting Incremental Changes in Large Models},
	Webpdf = {http://www.jannik-laval.eu/assets/files/papers/Lava09b-IWST09-incrementalChange.pdf},
	X-Country = {FR},
	X-Editorial-Board = {yes},
	X-International-Audience = {yes},
	X-Language = {EN},
	X-Pays = {BE},
	X-Proceedings = {yes},
	Year = {2009}}

@inproceedings{Lava09c,
	Address = {Nancy, France},
	Annote = {nationalconference},
	Author = {Jannik Laval and Alexandre Bergel and St\'ephane Ducasse},
	Booktitle = {Proceedings of Languages et Mod\`eles \`a Objets (LMO 2009)},
	Hal-Id = {inria-00498463 /},
	Inria = {RMOD},
	Inriareport = {2009},
	Keywords = {moose-pub lse-pub},
	Title = {Matrice de d\'ependances enrichie},
	Url = {http://www.jannik-laval.eu/assets/files/papers/Lava09a-LMO2009-DSM.pdf},
	Webpdf = {http://www.jannik-laval.eu/assets/files/papers/Lava09a-LMO2009-DSM.pdf},
	X-Country = {FR},
	X-Editorial-Board = {yes},
	X-International-Audience = {no},
	X-Language = {FR},
	X-Proceedings = {yes},
	Year = {2009},
	Bdsk-Url-1 = {http://www.jannik-laval.eu/assets/files/papers/Lava09a-LMO2009-DSM.pdf}}

@inproceedings{Lava09d,
	Abstract = {No abstract},
	Address = {Brest, France},
	Aeres = {ACT},
	Aeresstatus = {aeres12},
	Annote = {internationalworkshop},
	Author = {Jannik Laval and Simon Denier and St\'ephane Ducasse},
	Booktitle = {FAMOOSr 2009: 3rd Workshop on FAMIX and MOOSE in Software Reengineering},
	Hal-Id = {inria-00498495},
	Inria = {RMOD},
	Inriareport = {2009},
	Keywords = {moose-pub lse-pub},
	Labo = {dans},
	Selectif = {non},
	Title = {Identifying cycle causes with CycleTable},
	Webpdf = {http://www.jannik-laval.eu/assets/files/papers/Lava09d-Famoosr2009-CycleTable.pdf},
	X-Country = {FR},
	X-Editorial-Board = {yes},
	X-International-Audience = {yes},
	X-Language = {EN},
	X-Proceedings = {yes},
	Year = {2009}}

@article{Lava10b,
	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.},
	Aeres = {ACL},
	Aeresstatus = {aeres12},
	Annote = {internationaljournal},
	Author = {Jannik Laval and Simon Denier and St\'ephane Ducasse and Jean-Remy Falleri},
	Hal-Id = {inria-00531500},
	Impactfactor = {Core A},
	Inria = {RMOD},
	Inriareport = {2010},
	Journal = {Journal of Science of Computer Programming (SCP)},
	Keywords = {sub lse-pub moose-pub},
	Labo = {dans},
	Misc = {Core A},
	Month = may,
	Pdf = {http://dx.doi.org/10.1016/j.scico.2010.11.014},
	Selectif = {oui},
	Title = {Supporting Simultaneous Versions for Software Evolution Assessment},
	X-Editorial-Board = {yes},
	X-International-Audience = {yes},
	X-Language = {EN},
	X-Proceedings = {yes},
	X-Scientific-Popularization = {yes},
	Year = {2010}}

@inproceedings{Lava10e,
	Address = {Lille, France},
	Aeres = {ACT},
	Aeresstatus = {aeres12},
	Annote = {internationalworkshop},
	Author = {Jannik Laval and St\'ephane Ducasse and Nicolas Anquetil},
	Booktitle = {9th BElgian-NEtherlands software eVOLution seminar (BENEVOL 2010)},
	Inria = {RMOD},
	Keywords = {moose-pub pharo-pub lse-pub},
	Labo = {dans},
	Selectif = {oui},
	Title = {OZONE: Package Layered Structure Identification in presence of Cycles},
	X-Country = {FR},
	X-Editorial-Board = {yes},
	X-International-Audience = {yes},
	X-Language = {EN},
	X-Pays = {FR},
	X-Proceedings = {yes},
	Year = {2010}}

@article{Lava14a,
	title = {Resolving cyclic dependencies between packages with Enriched Dependency Structural Matrix},
	author = {Laval, Jannik and Ducasse, St{\'e}phane},
	journal = {Software: Practice and Experience},
	volume = {44},
	number = {2},
	pages = {235--257},
	year = {2014},
	publisher = {Wiley Online Library}}

@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}}

@inproceedings{Lavi93a,
	Author = {Alon Lavie and Masaru Tomita},
	Booktitle = {In Proceedings of the Third International Workshop on Parsing Technologies},
	Pages = {123--134},
	Title = {{GLR}* --- An Efficient Noise-skipping Parsing Algorithm For Context Free Grammars},
	Year = {1993}}

@inproceedings{Lawa14a,
	 author = {Lawall, Julia},
	 title = {Coccinelle: Reducing the Barriers to Modularization in a Large {C} Code Base},
	 booktitle = {Proceedings of the Companion Publication of the 13th International Conference on Modularity},
	 series = {MODULARITY '14},
	 year = {2014},
	 isbn = {978-1-4503-2773-2},
	 location = {Lugano, Switzerland},
	 pages = {5--6},
	 numpages = {2},
	 url = {http://doi.acm.org/10.1145/2584469.2584661},
	 doi = {10.1145/2584469.2584661},
	 acmid = {2584661},
	 publisher = {ACM},
	 address = {New York, NY, USA},
	 keywords = {linux, modularity, program transformation, refactoring, systems software}
}

@book{Lawl89a,
	Address = {225 Wildwood St., Woburn, MA 01801},
	Author = {Jo A. Lawless and Molly M. Milner},
	Publisher = {Digital Press},
	Title = {Understanding Clos the {Common} {Lisp} {Object} {System}},
	Year = {1989}}

@inproceedings{Lawr05a,
author={Lawrence, J. and Clarke, S. and Burnett, M. and Rothermel, G.},
booktitle={Visual Languages and Human-Centric Computing, 2005 IEEE Symposium on},
title={How well do professional developers test with code coverage visualizations? An empirical study},
year={2005},
month=sep,
pages={53-60},
doi={10.1109/VLHCC.2005.44}
}

@article{Lawr13a,
  author={J. Lawrance and C. Bogart and M. Burnett and R. Bellamy and K. Rector and S. D. Fleming},
  journal={IEEE Transactions on Software Engineering},
  title={How Programmers Debug, Revisited: An Information Foraging Theory Perspective},
  year={2013},
  volume={39},
  number={2},
  pages={197-215},
  doi={10.1109/TSE.2010.111},
  ISSN={0098-5589},
  month={feb}
}

@article{Lay91a,
 author = {Layer, D. Kevin and Richardson, Chris},
 title = {Lisp Systems in the 1990s},
 journal = {Commun. ACM},
 issue_date = {Sept. 1991},
 volume = {34},
 number = {9},
 month = sep,
 year = {1991},
 issn = {0001-0782},
 pages = {48--57},
 numpages = {10},
 url = {http://doi.acm.org/10.1145/114669.114674},
 doi = {10.1145/114669.114674},
 acmid = {114674},
 publisher = {ACM},
 address = {New York, NY, USA},
 keywords = {Common Lisp}
}

@inproceedings{Laym13a,
	title={Debugging revisited: Toward understanding the debugging needs of contemporary software developers},
	author={Layman, Lucas and Diep, Madeline and Nagappan, Meiyappan and Singer, Janice and Deline, Robert and Venolia, Gina},
	booktitle={Empirical Software Engineering and Measurement, 2013 ACM/IEEE International Symposium on},
	pages={383--392},
	year={2013},
	organization={IEEE}
}

@book{Laza10a,
	Author = {Lazar, Jonathan and Feng, Jinjuan Heidi and Hochheiser, Harry},
	Publisher = {Wiley},
	Title = {Research methods in Human-Computer Interaction},
	Year = {2010}}

@inproceedings{Lazz07a,
	Acmid = {1297944},
	Address = {New York, NY, USA},
	Author = {Lazzarini Lemos, Ot\'{a}vio Augusto and Bajracharya, Sushil Krishna and Ossher, Joel},
	Booktitle = {Companion to the 22nd ACM SIGPLAN conference on Object-oriented programming systems and applications companion},
	Doi = {10.1145/1297846.1297944},
	Isbn = {978-1-59593-865-7},
	Location = {Montreal, Quebec, Canada},
	Numpages = {2},
	Pages = {917--918},
	Publisher = {ACM},
	Series = {OOPSLA '07},
	Title = {CodeGenie:: a tool for test-driven source code search},
	Url = {http://doi.acm.org/10.1145/1297846.1297944},
	Year = {2007},
	Bdsk-Url-1 = {http://doi.acm.org/10.1145/1297846.1297944},
	Bdsk-Url-2 = {http://dx.doi.org/10.1145/1297846.1297944}}

@inproceedings{Le16a,
  title={History driven program repair},
  author={Le, Xuan Bach D and Lo, David and Le Goues, Claire},
  booktitle={Software Analysis, Evolution, and Reengineering (SANER), 2016 IEEE 23rd International Conference on},
  volume={1},
  pages={213--224},
  year={2016},
  organization={IEEE}
}

@inproceedings{LeGo12,
 author = {Le Goues, Claire and Dewey-Vogt, Michael and Forrest, Stephanie and Weimer, Westley},
 title = {A Systematic Study of Automated Program Repair: Fixing 55 out of 105 Bugs for \$8 Each},
 booktitle = {Proceedings of the 34th International Conference on Software Engineering},
 series = {ICSE '12},
 year = {2012},
 isbn = {978-1-4673-1067-3},
 location = {Zurich, Switzerland},
 pages = {3--13},
 numpages = {11},
 url = {http://dl.acm.org/citation.cfm?id=2337223.2337225},
 acmid = {2337225},
 publisher = {IEEE Press},
 address = {Piscataway, NJ, USA}
}

@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{Lecu15a,
  title={Deep learning},
  author={LeCun, Yann and Bengio, Yoshua and Hinton, Geoffrey},
  journal={nature},
  volume={521},
  number={7553},
  pages={436},
  year={2015},
  publisher={Nature Publishing Group}
}

@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}}

@inproceedings{Lee09a,
 author = {Lee, Byeongcheol and Hirzel, Martin and Grimm, Robert and McKinley, Kathryn S.},
 title = {Debug All Your Code: Portable Mixed-environment Debugging},
 booktitle = {Proceedings of the 24th ACM SIGPLAN Conference on Object Oriented Programming Systems Languages and Applications},
 series = {OOPSLA '09},
 year = {2009},
 isbn = {978-1-60558-766-0},
 location = {Orlando, Florida, USA},
 pages = {207--226},
 numpages = {20},
 url = {http://doi.acm.org/10.1145/1640089.1640105},
 doi = {10.1145/1640089.1640105},
 acmid = {1640105},
 publisher = {ACM},
 address = {New York, NY, USA},
 keywords = {JNI, composition, foreign function interface}
}

@article{Lee12a,
	Address = {New York, NY, USA},
	Author = {Lee, Kyong H. and Lee, Yoon J. and Choi, Hyunsik and Chung, Yon D. and Moon, Bongki},
	Doi = {10.1145/2094114.2094118},
	Issn = {0163-5808},
	Journal = {SIGMOD Rec.},
	Month = jan,
	Number = {4},
	Pages = {11--20},
	Publisher = {ACM},
	Title = {Parallel Data Processing with {MapReduce}: A Survey},
	Volume = {40},
	Year = {2012},
	Bdsk-Url-1 = {http://dx.doi.org/10.1145/2094114.2094118}}

@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 = {Lehman, Manny M.},
	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,
	Address = {Toronto, Ontario, Canada},
	Author = {Lehman, Manny and Ramil, Juan},
	Booktitle = {IWPSE'01: Proceedings of the 4th International Workshop on Principles of Software Evolution},
	Doi = {10.1145/602461.602463},
	Month = may,
	Pages = {1--16},
	Title = {Evolution in Software and Related Areas},
	Year = {2001},
	Bdsk-Url-1 = {http://dx.doi.org/10.1145/602461.602463}}

@article{Lehm01b,
	Acmid = {590717},
	Address = {Red Bank, NJ, USA},
	Author = {Lehman, Meir M. and Ramil, Juan F.},
	Doi = {10.1023/A:1012535017876},
	Issn = {1022-7091},
	Issue_Date = {November 2001},
	Journal = {Ann. Softw. Eng.},
	Keywords = {E-type software, FEAST, assumptions, feedback, laws of software evolution, process improvement, rules for process planning and management, software evolution, software management},
	Month = nov,
	Number = {1},
	Numpages = {30},
	Pages = {15--44},
	Publisher = {J. C. Baltzer AG, Science Publishers},
	Title = {Rules and Tools for Software Evolution Planning and Management},
	Url = {http://dx.doi.org/10.1023/A:1012535017876},
	Volume = {11},
	Year = {2001},
	Bdsk-Url-1 = {http://dx.doi.org/10.1023/A:1012535017876}}

@article{Lei02a,
	Author = {Lei, Hui and Sow, Daby M. and Davis,II, John S. and Banavar, Guruduth and Ebling, Maria R.},
	Doi = {10.1145/643550.643554},
	Journal = {ACM SIGMOBILE Mobile Computing and Communications Review},
	Keywords = {damiencbib},
	Number = {4},
	Pages = {45--55},
	Publisher = {ACM},
	Title = {The design and applications of a context service},
	Volume = {6},
	Year = {2002},
	Bdsk-Url-1 = {http://dx.doi.org/10.1145/643550.643554}}

@inproceedings{Lei13a,
  title={From natural language specifications to program input parsers},
  author={Lei, Tao and Long, Fan and Barzilay, Regina and Rinard, Martin},
  booktitle={Proceedings of the 51st Annual Meeting of the Association for Computational Linguistics (Volume 1: Long Papers)},
  volume={1},
  pages={1294--1303},
  year={2013}
}

@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{Leit19a,
author = {Leite, Leonardo and Rocha, Carla and Kon, Fabio and Milojicic, Dejan and Meirelles, Paulo},
title = {A Survey of DevOps Concepts and Challenges},
year = {2019},
issue_date = {January 2020},
publisher = {Association for Computing Machinery},
address = {New York, NY, USA},
volume = {52},
number = {6},
issn = {0360-0300},
url = {https://doi.org/10.1145/3359981},
doi = {10.1145/3359981},
journal = {ACM Comput. Surv.},
month = nov,
articleno = {Article 127},
numpages = {35},
keywords = {and build process, configuration management, continuous (delivery, deployment, integration), release process, versioning, DevOps}
}

@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}}

@incollection{Lemo13a,
	Abstract = {The goal of this roadmap paper is to summarize the state-of-the-art and identify research
		challenges when developing, deploying and managing self-adaptive software systems. Instead of dealing
		with a wide range of topics associated with the field, we focus on four essential topics of
		self-adaptation: design space for self-adaptive solutions, software engineering processes for
		self-adaptive systems, from centralized to decentralized control, and practical run-time verification
		& validation for self-adaptive systems. For each topic, we present an overview, suggest future
		directions, and focus on selected challenges. This paper complements and extends a previous roadmap on
		software engineering for self-adaptive systems published in 2009 covering a different set of topics,
		and reflecting in part on the previous paper. This roadmap is one of the many results of the Dagstuhl
		Seminar 10431 on Software Engineering for Self-Adaptive Systems, which took place in October 2010.},
	Author = {Lemos, Rog\'{e}rio and Giese, Holger and M\"{u}ller, Hausi and Shaw, Mary and Andersson, Jesper and Litoiu, Marin and Schmerl, Bradley and Tamura, Gabriel and Villegas, Norha and Vogel, Thomas and Weyns, Danny and Baresi, Luciano and Becker, Basil and Bencomo, Nelly and Brun, Yuriy and Cukic, Bojan and Desmarais, Ron and Dustdar, Schahram and Engels, Gregor and Geihs, Kurt and G\"{o}schka, Karl and Gorla, Alessandra and Grassi, Vincenzo and Inverardi, Paola and Karsai, Gabor and Kramer, Jeff and Lopes, Ant\'{o}nia and Magee, Jeff and Malek, Sam and Mankovskii, Serge and Mirandola, Raffaela and Mylopoulos, John and Nierstrasz, Oscar and Pezz\`{e}, Mauro and Prehofer, Christian and Sch\"{a}fer, Wilhelm and Schlichting, Rick and Smith, Dennis and Sousa, Jo\~{a}o Pedro and Tahvildari, Ladan and Wong, Kenny and Wuttke, Jochen},
	Booktitle = {Software Engineering for Self-Adaptive Systems II},
	Doi = {10.1007/978-3-642-35813-5_1},
	Editor = {Lemos, Rog\'{e}rio and Giese, Holger and M\"{u}ller, Hausi and Shaw, Mary},
	Isbn = {978-3-642-35812-8},
	Keywords = {scg-pub scg13 snf-none jb13},
	Medium = {2},
	Pages = {1-32},
	Peerreview = {yes},
	Publisher = {Springer Berlin Heidelberg},
	Series = {Lecture Notes in Computer Science},
	Title = {Software Engineering for Self-Adaptive Systems: A Second Research Roadmap},
	Url = {http://dx.doi.org/10.1007/978-3-642-35813-5_1},
	Volume = {7475},
	Year = {2013},
	Bdsk-Url-1 = {http://dx.doi.org/10.1007/978-3-642-35813-5_1}}

@inproceedings{Lemo20a,
  author    = {Ot{\'{a}}vio Augusto Lazzarini Lemos and
               Marcelo Suzuki and
               Adriano Carvalho de Paula and
               Claire Le Goes},
  editor    = {Chih{-}Cheng Hung and
               Tom{\'{a}}s Cern{\'{y}} and
               Dongwan Shin and
               Alessio Bechini},
  title     = {Comparing identifiers and comments in engineered and non-engineered
               code: a large-scale empirical study},
  booktitle = {{SAC} '20: The 35th {ACM/SIGAPP} Symposium on Applied Computing, online
               event, [Brno, Czech Republic], March 30 - April 3, 2020},
  pages     = {100--109},
  publisher = {{ACM}},
  year      = {2020},
  url       = {https://doi.org/10.1145/3341105.3373972},
  doi       = {10.1145/3341105.3373972},
  keywords =  {comment-quality-slr},
  timestamp = {Thu, 02 Apr 2020 17:08:04 +0200},
  biburl    = {https://dblp.org/rec/conf/sac/LemosSPG20.bib},
  bibsource = {dblp computer science bibliography, https://dblp.org}
}

@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}}

@article{Leng15a,
	author = {Leng, Yin},
	journal = {ECIS 2015 Proceedings},
	keywords = {business analysis,business analyst,is projects,requirements engineering},
	pages = {1--14},
	title = {{AN INVESTIGATION OF THE ROLE OF Full paper 1 Literature Review}},
	year = {2015}
}

@inproceedings{Lenn09a,
    author = {Kats, C. L. Lennard and de Jonge, Maartje and Nilsson-Nyman, Emma and Visser, Eelco },
    title = {Providing Rapid Feedback in Generated Modular Language Environments.  {Adding} Error Recovery to Scannerless Generalized-{LR} Parsing},
    booktitle = {Proceedings of the 24th ACM SIGPLAN Conference on Object-Oriented Programing, Systems, Languages, and Applications (OOPSLA 2009)},
    year = {2009},
    editor = {Gary T. Leavens},
    location = {Orlando, Florida, USA},
    address = {New York, NY, USA},
    month = oct,
    publisher = {ACM Press},
    issn = {0362-1340},
    series = {ACM SIGPLAN Notices}
}

@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{Lero01a,
	Abstract = {Bytecode verification is a crucial security component for Java applets, on the Web and on embedded devices such as smart cards. This paper describes the main  bytecode verification algorithms and surveys the variety of formal methods that have been applied to bytecode verification in order to establish its correctness.},
	Affiliation = {INRIA Rocquencourt and Trusted Logic S.A. Domaine de Voluceau, B.P. 105 78153 Le Chesnay France},
	Author = {Xavier Leroy},
	Booktitle = {Computer Aided Verification},
	Doi = {10.1007/3-540-44585-4_26},
	Editor = {Berry, G\'erard and Comon, Hubert and Finkel, Alain},
	Isbn = {978-3-540-42345-4},
	Keyword = {Computer Science},
	Pages = {265-285},
	Publisher = {Springer Berlin / Heidelberg},
	Series = {Lecture Notes in Computer Science},
	Title = {Java Bytecode Verification: An Overview},
	Volume = {2102},
	Year = {2001},
	Bdsk-Url-1 = {http://dx.doi.org/10.1007/3-540-44585-4_26}}

@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 = {snf-none scg-bp scg11 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},
	Bdsk-Url-1 = {http://scg.unibe.ch/archive/projects/Lesk11a.pdf}}

@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 = {snf-none scg-bp scg11 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},
	Bdsk-Url-1 = {http://scg.unibe.ch/archive/projects/Lesk11b.pdf}}

@incollection{Lesk13a,
	Author = {Max Leske and Alexandre Bergel and Damien Cassou and St\'ephane Ducasse and Jannik Laval},
	Booktitle = {Deep Into Pharo},
	Isbn = {978-3-9523341-6-4},
	Keywords = {Smalltalk, Pharo, Object-Oriented Programming, Live Programming},
	Month = sep,
	Pages = 15,
	Publisher = {Square Bracket Associates},
	Title = {Files with FileSystem},
	Year = {2013}}

@mastersthesis{Lesk16a,
	Title = {Improving live debugging of concurrent threads},
	Author = {Max Leske},
	Abstract = {Concurrency issues are inherently harder to identify and
		fix than issues in sequential programs. Debuggers for
		concurrent programs therefore need to supply not only
		information pertaining to concurrency specific issues but
		also all of the information that sequential debuggers
		offer. Specialised debuggers for concurrent programs can
		provide this information but they usually operate on
		traces and are not live. Live debuggers enable a more
		immediate way of analysing problems and are used by many
		programming environments for many different languages,
		such that most of the developers today are accustomed to
		using them.
		Contemporary live debuggers for concurrent programs
		usually are simply sequential debuggers with the ability
		to display different threads in isolation. To these
		debuggers every thread is a sequential program.
		Unfortunately, thread call stacks always begin with a
		designated start routine and the calls that led to the
		creation of the thread are not visible, as they are part
		of a different thread. Single threaded, sequential
		programs have a call stack that reaches back to the start
		of the application, threads do not. Thus, despite threads
		being treated as sequential programs, live debuggers do
		not display the same amount of information for threads as
		for single threaded, sequential programs.
		In this work we propose to augment the call stacks of
		threads in the debugger, such that live debuggers can
		display the complete call stacks. The information shown
		for threads will then be the same as for single threaded,
		sequential programs. We give an overview of the
		concurrency related features in current live debuggers,
		provide examplary implementations of our idea for
		different use cases and finally describe the downsides of
		our approach and evaluate possible solutions for them.},
	Keywords = {scg-msc snf-asa2 scg16 jb16},
	School = {University of Bern},
	Type = {Masters thesis},
	Url = {http://scg.unibe.ch/archive/masters/Lesk16a.pdf},
	Month = aug,
	Year = {2016}
}

@inproceedings{Lesk16b,
	Abstract = {Promises are synchronization constructs that hide the complexity of process synchronisation from the developer by providing a placeholder for the result of a potentially incomplete computation performed in a concurrent process. Promises evaluated by remote processes pose challenges for debugging when the remote computation raises an exception. Current debuggers are either unaware that there is a problem in the remote computation or give developers access only to the context of the remote process. This does not allow developers to interact at the same time with the process that launched the promise and the remote process that executed the promise's computation. To improve debugging of remote promises, in this paper we propose a debugger interface that presents a unified view of both the original and the remote process, by merging the call chains of the two processes at the point where the promise was created. We exemplify our approach, discuss challenges for making it practical, and illustrate through an initial prototype that it can improve debugging of exceptions in remote promises.},
	Annote = {internationalworkshop},
	Author = {Max Leske and Andrei Chi\c{s} and Oscar Nierstrasz},
	Booktitle = {Proceedings of the International Workshop on Smalltalk Technologies},
	Series = {IWST' 16},
	Title = {A promising approach for debugging remote promises},
    Pages = {18:1--18:9},
	Year = {2016},
	Keywords = {scg-pub, snf-asa2, scg16, jb16, debugging, concurrency, threads, Andrei Chis, internationalworkshop},
	Url = {http://scg.unibe.ch/archive/papers/Lesk16b.pdf},
	doi = {10.1145/2991041.2991059},
	Peerreview = {yes},
	Language={English},
	Medium = {2},
	Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Lesk16b.pdf}
}

@inproceedings{Lesk16c,
	author = {Max Leske},
	title = {Improving Live Debugging of Concurrent Threads},
	booktitle = {Companion Proceedings of the 2016 ACM SIGPLAN International Conference on Systems, Programming, Languages and Applications: Software for Humanity},
	series = {SPLASH Companion 2016},
	year = {2016},
	isbn = {978-1-4503-4437-1},
	location = {Amsterdam, Netherlands},
	pages = {61--62},
	numpages = {2},
	url = {http://doi.acm.org/10.1145/2984043.2998544},
	doi = {10.1145/2984043.2998544},
	acmid = {2998544},
	publisher = {ACM},
	address = {New York, NY, USA},
	keywords = {Concurrency, Debugging, Domain-specific Tools, Threads}
}

@article{Lesk17a,
  Abstract={Concurrency issues are inherently harder to identify and fix than issues in sequential programs, due to aspects like indeterminate order of access to shared resources and thread synchronisation. Live debuggers are often used by developers to gain insights into the behaviour of concurrent programs by exploring the call stacks of threads. Nevertheless, contemporary live debuggers for concurrent programs are usually sequential debuggers augmented with the ability to display different threads in isolation. To these debuggers every thread call stack begins with a designated start routine and the calls that led to the creation of the thread are not visible, as they are part of a different thread. This requires developers to manually link stack traces belonging to related but distinct threads, adding another burden to the already difficult act of debugging concurrent programs. To improve debugging of concurrent programs we address the problem of incomplete call stacks in debuggers through a thread and debugger model that enables live debugging of child threads within the context of their parent threads. The proposed debugger operates on a virtual thread that merges together multiple relevant threads. To better understand the features of debuggers for concurrent programs we present an in-depth discussion of the concurrency related features in current live debuggers. We test the applicability of the proposed model by instantiating it for simple threads, local and remote promises, and a remote object-oriented database. Starting from these use cases we further discuss implementation details ensuring a practical approach.},
  Title = {Improving live debugging of concurrent threads through thread histories},
  Journal = {Science of Computer Programming},
  Year = {2018},
  Volume = {161},
  Pages = {122-148},
  Issn = {0167-6423},
  Doi = {10.1016/j.scico.2017.10.005},
  Url = {http://scg.unibe.ch/archive/papers/Lesk17a.pdf},
  Author = {Max Leske and Andrei Chi\c{s} and Oscar Nierstrasz},
  Keywords = {scg-pub scg17 snf-asa2 jb18, Concurrency, Debugging, Promises, Smalltalk, Domain-specific tools, Andrei Chis},
  Peerreview = {yes},
  Language={English},
  Medium = {2},
  Annote = {internationaljournal},
  Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Lesk17a.pdf},
  Bdsk-Url-2 = {http://www.sciencedirect.com/science/article/pii/S0167642317302174}
}

@article{Less08a,
	Acmid = {1446245},
	Address = {Piscataway, NJ, USA},
	Author = {Lessmann, Stefan and Baesens, Bart and Mues, Christophe and Pietsch, Swantje},
	Doi = {10.1109/TSE.2008.35},
	Issn = {0098-5589},
	Issue_Date = {July 2008},
	Journal = {IEEE Trans. Softw. Eng.},
	Keywords = {Complexity measures, Complexity measures, Data mining, Formal methods, Statistical methods, Data mining, Formal methods, Statistical methods},
	Month = jul,
	Number = {4},
	Numpages = {12},
	Pages = {485--496},
	Publisher = {IEEE Press},
	Title = {Benchmarking Classification Models for Software Defect Prediction: A Proposed Framework and Novel Findings},
	Url = {http://dx.doi.org/10.1109/TSE.2008.35},
	Volume = {34},
	Year = {2008},
	Bdsk-Url-1 = {http://dx.doi.org/10.1109/TSE.2008.35}}

@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 AnquetilBenchmarking classification models},
	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}}

@article{Leth03a,
	Abstract = {Software engineering is a human task, and as such we must study what software engineers do and think. Understanding the normative practice of software engineering is the first step toward developing realistic solutions to better facilitate the engineering process. We conducted three studies using several data-gathering approaches to elucidate the patterns by which software engineers (SEs) use and update documentation. Our objective is to more accurately comprehend and model documentation use, usefulness, and maintenance, thus enabling better decision making and tool design by developers and project managers. Our results confirm the widely held belief that SEs typically do not update documentation as timely or completely as software process personnel and managers advocate. However, the results also reveal that out-of-date software documentation remains useful in many circumstances.},
	Author = {Lethbridge, T.C. and Singer, J. and Forward, A.},
	Doi = {10.1109/MS.2003.1241364},
	Issn = {0740-7459},
	Journal = {Software, IEEE},
	Keywords = {decision making; documentation update; documentation use; software engineering; software engineers; software process managers; software process personnel; tool design; software engineering; system documentation;},
	Month = nov,
	Number = {6},
	Pages = {35--39},
	Title = {How software engineers use documentation: the state of the practice},
	Volume = {20},
	Year = {2003},
	Bdsk-Url-1 = {http://dx.doi.org/10.1109/MS.2003.1241364}}

@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}}

@article{Leto87a,
	title = {Cognitive processes in program comprehension},
	journal = {Journal of Systems and Software},
	volume = {7},
	number = {4},
	pages = {325 - 339},
	year = {1987},
	issn = {0164-1212},
	doi = {https://doi.org/10.1016/0164-1212(87)90032-X},
	url = {http://www.sciencedirect.com/science/article/pii/016412128790032X},
	author = {Stanley Letovsky},
	Keywords = {dev-questions},
	abstract = {This paper reports on an empirical study of the cognitive processes involved in program comprehension. Verbal protocols were gathered from professional programmers as they were engaged in a program-understanding task. Based on analysis of these protocols, several types of interesting cognitive events were identified. These include asking questions and conjecturing facts about the code. We describe these event types and use them to derive a computational model of the programmers' mental processes.}
}

@techreport{Leue13a,
	Abstract = {A stream is a data structure to process static resources like files dynamically and
	  efficiently. The variation of processable resources puts numerous requirements on an implementation
	  of the stream data structure. Furthermore, a lot of features need to be provided in multiple
	  combinations e.g., buffering is useful for file streams and socket streams as well. A solution that
	  tries to model all these combinations of features on the class level (i.e., using traits or going the
	  traditional class based framework approach) leads to an explosion in the number of classes or a
	  significant amount of code duplication, which hinders any framework's maintainability. We find these
	  problems in the standard Pharo implementation of streams and Xtreams. To circumvent a class explosion
	  and code duplication, we model composable features instead of combinations of features. Each feature
	  is modeled as a talent and can be composed with any other feature. We introduce scoped talents which
	  allow the use of subjective behavior and guarantee an easy composition of features and decomposition
	  as well. Our approach allows us to decouple features from each other and neither leads to a class
	  explosion, nor to a significant amount of code duplication. The resulting framework is called
	  Talented Streams. We also present a way to efficiently work with talents by using classes as
	  factories. This approach allows us to reuse the development tools, which were designed to work with
	  classes, for the development of talents.},
	Author = {Manuel Leuenberger},
	Institution = {University of Bern},
	Keywords = {scg-bp scg13 jb13 talents snf-none},
	Month = feb,
	Title = {Talented Streams --- Objects composed from Features},
	Type = {Bachelor's thesis},
	Url = {http://scg.unibe.ch/archive/projects/Leue13a-TalentedStreams.pdf},
	Year = {2013},
	Bdsk-Url-1 = {http://scg.unibe.ch/archive/projects/Leue13a-TalentedStreams.pdf}}

@techreport{Leue13b,
	Abstract = {This document explains the implementation of scoped talents, talent templates and talented
	  streams. It makes it possible to work with and extend the current code base or recreate the same
	  architectures in a different programming environment.},
	Author = {Manuel Leuenberger},
	Institution = {University of Bern},
	Keywords = {scg-bp scg13 jb13 talents snf-none},
	Month = feb,
	Title = {Talented Streams Implementation},
	Type = {Bachelor's thesis, supplementary documentation},
	Url = {http://scg.unibe.ch/archive/projects/Leue13b-TalentedStreamsImpl.pdf},
	Year = {2013},
	Bdsk-Url-1 = {http://scg.unibe.ch/archive/projects/Leue13b-TalentedStreamsImpl.pdf}}

@mastersthesis{Leue17a,
	Title = {Nullable Method Detection --- Inferring Method Nullability From {API} Usage},
	Author = {Manuel Leuenberger},
	Abstract = {Null dereferences are the cause of many bugs in Java projects.
		Avoiding them is hard, as they are not detected by the compiler.
		Many of those bugs are caused by dereferencing values returned from
		methods. This finding implies that developers do not anticipate
		which methods possibly return null and which do not. In this study
		we detect the nullable methods within Apache APIs by analyzing
		their usage in API clients. We compute the nullability of each
		invoked method, i.e., the ratio between null-checked and all
		dereferenced method return values. To collect many API clients of
		Apache API, we perform a targeted API client collection. Our tool,
		COLUMBO, exploits the widespread use of the Maven dependency
		management to find clients of Apache APIs. COLUMBO is fast and
		scalable. We collect and analyze 45638 Apache API clients and
		measure 31.4% of conditional expressions to be null checks. We find
		65.0% of dereferenced return values of Apache API methods are never
		checked for null, 33.5% are sometimes checked and 1.5% are always
		checked. A manual inspection of the methods rarely checked in
		client usage shows that about a third of them can never return
		null, hence checking the return value for null is superfluous and
		hinders code readability. In the Apache API clients we also analyze
		their usage of the JRE and we find a similar nullability
		distribution as in Apache usage. We consider method nullability an
		important part of a method contract, but we find it to be
		incompletely documented in the JRE API documentation. Most method
		documentations do not make a statement about their nullability. To
		bridge this gap, we integrate the nullability data in an IDE plugin
		that shows developers the measured nullability for each method,
		giving them an estimation of the potential null return.},
	Keywords = {scg-msc snf-asa2 scg17 jb17},
	School = {University of Bern},
	Type = {Masters thesis},
	Url = {http://scg.unibe.ch/archive/masters/Leue17a.pdf},
	Month = feb,
	Year = {2017}
}

@inproceedings{Leue17b,
title={Harvesting the Wisdom of the Crowd to Infer Method Nullness in {Java}},
	author={Leuenberger, Manuel and Osman, Haidar and Ghafari, Mohammad and Nierstrasz, Oscar},
	booktitle={Proceedings of the 17th International Working Conference on Source Code Analysis and Manipulation},
    Annote    = {internationalconference},
	series = {SCAM 2017},
	year={2017},
	PeerReview = {yes},
	Medium = {2},
	location = {Shanghai, China},
	organization={IEEE},
	url = {http://scg.unibe.ch/archive/papers/Leue17b-InferMethodNullness.pdf},
	doi = {10.1109/SCAM.2017.22},
	keywords = {scg-pub snf-asa2 scg17 jb18},
	abstract = {Null pointer exceptions are common bugs in Java projects. Previous
research has shown that dereferencing the results of method calls is the main
source of these bugs, as developers do not anticipate that some methods return
null. To make matters worse, we find that whether a method returns null or not
(nullness), is rarely documented. We argue that method nullness is a vital piece of
information that can help developers avoid this category of bugs. This is
especially important for external APIs where developers may not even have access to
the code.
	In this paper, we study the method nullness of Apache Lucene, the de facto
standard library for text processing in Java. Particularly, we investigate how
often the result of each Lucene method is checked against null in Lucene clients.
We call this measure method nullability, which can serve as a proxy for method
nullness. Analyzing Lucene internal and external usage, we find that most methods
are never checked for null. External clients check more methods than Lucene checks
internally. Manually inspecting our dataset reveals that some null checks are
unnecessary. We present an IDE plugin that complements existing documentation and
makes up for missing documentation regard- ing method nullness and generates
nullness annotations, so that static analysis can pinpoint potentially missing or
unnecessary null checks.}
}

@inproceedings{Leue17c,
	title={{KOWALSKI}: Collecting {API} Clients in Easy Mode},
	author={Leuenberger, Manuel and Osman, Haidar and Ghafari, Mohammad and Nierstrasz, Oscar},
	booktitle={Proceedings of the 33rd International Conference on Software Maintenance and Evolution},
    Annote    = {internationalconference},
	series = {ICSME 2017},
	year={2017},
	PeerReview = {yes},
	Medium = {2},
	location = {Shanghai, China},
	organization={IEEE},
	url = {http://scg.unibe.ch/archive/papers/Leue17c-KowalskiCollectingApi.pdf},
	doi = {10.1109/ICSME.2017.78},
	keywords = {scg-pub snf-asa2 scg17 jb18},
	abstract = {Understanding API usage is important for upstream and downstream developers. However, compiling a dataset of API clients is often a tedious task, especially since one needs many clients to draw a representative picture of the API usage.
	In this paper, we present KOWALSKI, a tool that takes the name of an API, then finds and downloads client binaries by exploiting the Maven dependency management system. As a case study, we collect clients of Apache Lucene, the de facto standard for full-text search, analyze the binaries, and create a typed call graph that allows developers to identify hotspots in the API.
	A video demonstrating how KOWALSKI is used for this experiment can be found at https://youtu.be/zdx28GnoSRQ.}
}

@inproceedings{Leue19a,
 author = {Manuel Leuenberger},
 title = {Exploring Example-driven Migration},
 booktitle = {Proceedings of the Conference Companion of the 3rd International Conference on Art, Science, and Engineering of Programming},
 series = {Programming '19},
 PeerReview = {yes},
 Medium = {2},
 month = apr,
 year = {2019},
 isbn = {978-1-4503-6257-3},
 location = {Genova, Italy},
 pages = {29:1--29:3},
 articleno = {29},
 numpages = {3},
 url = {http://scg.unibe.ch/archive/papers/Leue19a.pdf},
 doi = {10.1145/3328433.3328463},
 acmid = {3328463},
 publisher = {ACM},
 address = {New York, NY, USA},
 keywords = {scg-pub snf-asa3 scg19 jb20},
 abstract = {Despite many research efforts to automate API usage migration, it remains often a manual task for developers. We aim to reduce the developer's pain by exploring ways to integrate the migration process into the IDE. Our migration workbench leverages API usage examples and interactive refactorings to migrate code from one API version to the other.}
}

@unpublished{Leue19b,
	Author = {Manuel Leuenberger},
	Title = {Can {I} Remove This Method? {How} Live Feedback from the Ecosystem Supports Co-Evolution},
	Note = {Presented at International Workshop on Smalltalk Technologies 2019},
	url = {http://scg.unibe.ch/archive/papers/Leue19b.pdf},
	PeerReview = {yes},
	Medium = {1},
	month = aug,
	year ={2019},
	keywords = {missing-doi scg-pub snf-asa3 scg19 jb20},
	abstract = {Albeit open-source projects have been co-evolving since years, upgrading a library can still be a tedious task for developers. APIs change over time, and breaking changes require precious developer time to adapt a dependent project's code. We present our vision on how embracing co-evolution in general, and library upgrades in specific, as a first-class citizen in our IDE, can support both API authors and API users. In a tiny self-experiment we show how API authors can profit from live feedback on the compatibility of their changes. API users can profit by being provided migrations to be applied on the dependent's code.}
}

@book{Leuf01a,
	Author = {Bo Leuf and Ward Cunningham},
	Publisher = {Addison-Wesley},
	Title = {The Wiki Way: Collaboration and Sharing on the Internet},
	Year = {2001}}

@inproceedings{Leve90a,
  author={M. {Levene} and A. {Poulovassilis}},
  booktitle={Proceedings of the 5th Jerusalem Conference on Information Technology, 1990. Next Decade in Information Technology},
  title={The hypernode model and its associated query language},
  abstract={We introduce a new data model, called the hypernode model, whose
	  single data structure is the hypernode. Hypemodes are graphs whose node set can
	  contain graphs in addition to primitive nodes. Hypemodes can be used to
	  represent arbitrarily complex objects and can support the encapsulation of
	  information, to any level. We introduce a declarative logic-based language for
	  the hypemode model and show that it is query complete. We then show that
	  hypemodes can represent extensional functions, nested relations, and composite
	  objects. Thus, our model is at least as expressive as the functional and nested
	  relational database models. Finally, we show that the hypenode model can be
	  regarded as an object-oriented one.},
  year={1990},
  pages={520-530},
  doi={10.1109/JCIT.1990.128324},
  keywords = {hypergraphs hypernode}
}

@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}}

@book{Levi09a,
  title={Flex \& Bison: Text Processing Tools},
    author={Levine, J.},
    isbn={9781449391973},
    url={https://books.google.ch/books?id=nYUkAAAAQBAJ},
    year={2009},
    publisher={O'Reilly Media}
}

@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{Lewe02a,
	title = {Metrics-based 3D visualization of large object-oriented programs},
	author = {Lewerentz, Claus and Simon, Frank},
	booktitle = {Visualizing Software for Understanding and Analysis, 2002. Proceedings. First International Workshop on},
	pages = {70--77},
	year = {2002},
	organization = {IEEE}
}

@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{Lewi13a,
 author = {Lewis, Chris and Lin, Zhongpeng and Sadowski, Caitlin and Zhu, Xiaoyan and Ou, Rong and Whitehead Jr., E. James},
 title = {Does Bug Prediction Support Human Developers? {Findings} from a {Google} Case Study},
 booktitle = {Proceedings of the 2013 International Conference on Software Engineering},
 series = {ICSE '13},
 year = {2013},
 isbn = {978-1-4673-3076-3},
 location = {San Francisco, CA, USA},
 pages = {372--381},
 numpages = {10},
 url = {http://dl.acm.org/citation.cfm?id=2486788.2486838},
 acmid = {2486838},
 publisher = {IEEE Press},
 address = {Piscataway, NJ, USA}
}

@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{Li05c,
  title={PR-Miner: automatically extracting implicit programming rules and detecting violations in large software code},
  author={Li, Zhenmin and Zhou, Yuanyuan},
  booktitle={ACM SIGSOFT Software Engineering Notes},
  volume={30},
  pages={306--315},
  year={2005},
  organization={ACM}
}

@inproceedings{Li06a,
 author = {Li, Zhenmin and Tan, Lin and Wang, Xuanhui and Lu, Shan and Zhou, Yuanyuan and Zhai, Chengxiang},
 title = {Have Things Changed Now?: An Empirical Study of Bug Characteristics in Modern Open Source Software},
 booktitle = {Proceedings of the 1st Workshop on Architectural and System Support for Improving Software Dependability},
 series = {ASID '06},
 year = {2006},
 isbn = {1-59593-576-2},
 location = {San Jose, California},
 pages = {25--33},
 numpages = {9},
 url = {http://doi.acm.org/10.1145/1181309.1181314},
 doi = {10.1145/1181309.1181314},
 acmid = {1181314},
 publisher = {ACM},
 address = {New York, NY, USA},
 keywords = {bug characteristics, bug detection, empirical study, open source, security}
}

@inproceedings{Li11a,
	Acmid = {2048175},
	Address = {New York, NY, USA},
	Author = {Li, Paley and Cameron, Nicholas and Noble, James},
	Booktitle = {Proceedings of the ACM international conference companion on Object oriented programming systems languages and applications companion},
	Date-Added = {2012-07-04 09:12:39 +0000},
	Date-Modified = {2012-07-04 09:31:36 +0000},
	Doi = {10.1145/2048147.2048175},
	Isbn = {978-1-4503-0942-4},
	Keywords = {aliasing},
	Location = {Portland, Oregon, USA},
	Numpages = {4},
	Pages = {63--66},
	Publisher = {ACM},
	Series = {SPLASH '11},
	Title = {Cloning in ownership},
	Url = {http://doi.acm.org/10.1145/2048147.2048175},
	Year = {2011},
	Bdsk-Url-1 = {http://doi.acm.org/10.1145/2048147.2048175},
	Bdsk-Url-2 = {http://dx.doi.org/10.1145/2048147.2048175}}

@inproceedings{Li12a,
 author = {Li, Huiqing and Thompson, Simon},
 title = {Automated {API} Migration in a User-extensible Refactoring Tool for Erlang Programs},
 booktitle = {Proceedings of the 27th IEEE/ACM International Conference on Automated Software Engineering},
 series = {ASE 2012},
 year = {2012},
 isbn = {978-1-4503-1204-2},
 location = {Essen, Germany},
 pages = {294--297},
 numpages = {4},
 url = {http://doi.acm.org/10.1145/2351676.2351727},
 doi = {10.1145/2351676.2351727},
 acmid = {2351727},
 publisher = {ACM},
 address = {New York, NY, USA},
 keywords = {API migration, Erlang, Wrangler, refactoring, rewrite rule, software engineering, template}
}

@inproceedings{Li14a,
 author = {Li, Ding and Halfond, William G. J.},
 title = {An Investigation into Energy-saving Programming Practices for {Android} Smartphone App Development},
 booktitle = {Proceedings of the 3rd International Workshop on Green and Sustainable Software},
 series = {GREENS 2014},
 year = {2014},
 isbn = {978-1-4503-2844-9},
 location = {Hyderabad, India},
 pages = {46--53},
 numpages = {8},
 url = {http://doi.acm.org/10.1145/2593743.2593750},
 doi = {10.1145/2593743.2593750},
 acmid = {2593750},
 publisher = {ACM},
 address = {New York, NY, USA},
 keywords = {Energy, Programming patterns}
}

@inbook{LiFr98,
	Author = {Henry Lieberman and Christopher Fry},
	Booktitle = {Software Visualization},
	Chapter = {19},
	Organization = {MIT Press},
	Pages = {277--292},
	Publisher = {MIT Press},
	Title = {ZStep 95: A Reversible, Animated Source Code Stepper},
	Year = {1998}}

@inproceedings{LiHu12a,
	 author = {Li, Huiqing and Thompson, Simon},
	 title = {Let's Make Refactoring Tools User-extensible!},
	 booktitle = {Proceedings of the Fifth Workshop on Refactoring Tools},
	 series = {WRT '12},
	 year = {2012},
	 isbn = {978-1-4503-1500-5},
	 location = {Rapperswil, Switzerland},
	 pages = {32--39},
	 numpages = {8},
	 url = {http://doi.acm.org/10.1145/2328876.2328881},
	 doi = {10.1145/2328876.2328881},
	 acmid = {2328881},
	 publisher = {ACM},
	 address = {New York, NY, USA},
	 keywords = {API, DSL, Erlang, Wrangler, analysis, concrete syntax, extensible, program transformation, refactoring}
}

@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},
	Doi = {10.1145/286936.286945},
	Pages = {36--44},
	Title = {Dynamic Class Loading in the {Java} Virtual Machine},
	Year = {1998},
	Bdsk-Url-1 = {http://dx.doi.org/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 scg-none 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{Lian13a,
 author = {Liang, Guangtai and Wang, Qianxiang and Xie, Tao and Mei, Hong},
 title = {Inferring Project-specific Bug Patterns for Detecting Sibling Bugs},
 booktitle = {Proceedings of the 2013 9th Joint Meeting on Foundations of Software Engineering},
 series = {ESEC/FSE 2013},
 year = {2013},
 isbn = {978-1-4503-2237-9},
 location = {Saint Petersburg, Russia},
 pages = {565--575},
 numpages = {11},
 url = {http://doi.acm.org/10.1145/2491411.2491422},
 doi = {10.1145/2491411.2491422},
 acmid = {2491422},
 publisher = {ACM},
 address = {New York, NY, USA},
 keywords = {Project-specific bug patterns, incomplete fixes, sibling-bug detection}
}

@article{Lian13b,
  title={Learning dependency-based compositional semantics},
  author={Liang, Percy and Jordan, Michael I and Klein, Dan},
  journal={Computational Linguistics},
  volume={39},
  number={2},
  pages={389--446},
  year={2013},
  publisher={MIT Press}
}

@article{Lian16a,
  title={Learning executable semantic parsers for natural language understanding},
  author={Liang, Percy},
  journal={Communications of the ACM},
  volume={59},
  number={9},
  pages={68--76},
  year={2016},
  publisher={ACM}
}

@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{Libl06a,
	Author = {Liblit, Ben and Begel, Andrew and Sweetser, Eve},
	Booktitle = {Proceedings of the 18th Annual Psychology of Programming Workshop},
	Keywords = {identifiers},
	Month = sep,
	Organization = {Psychology of Programming Interest Group},
	Title = {Cognitive Perspectives on the Role of Naming in Computer Programs},
	Year = {2006}}

@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}}

@phdthesis{Lick95a,
	Author = {Paul Lickman},
	Keywords = {parsing, fixed points, parser combinator},
	Month = dec,
	School = {Oxford University},
	Title = {Parsing With Fixed Points},
	Type = {{Ph.D}. Thesis},
	Year = {1995}}

@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}}

@book{Lidw10a,
	author = {Lidwell, William and Holden, Kritina and Butler, Jill},
	year = {2010},
	title = {Universal {Principles} of {Design}},
	publisher = {Rockport Publishers}
}

@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 pl-lit},
	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}}

@techreport{Liec17a,
	Title = {Inferring schemata from semi-structured data with Formal Concept Analysis},
	Author = {Jan Luca Liechti},
	Abstract = {Semi-structured data do not conform to the schematic rigor of
	relational databases, but still present their content in a
	structured way. They are described as self-describing data,
	because they provide a schema for every record, for example as
	XML elements or JSON keywords. We are interested in inferring
	a relational schema from such semi-structured data that both
	preserves semantic information, i.e. keeps similar records
	together, and requires as little extra space as possible. We
	are operating under the assumption that we do not know
	records' true types. We employ well-established notions of
	Formal Concept Analysis and use them in ways similar to basic
	operations on graphs and automata. Specifically, we create a
	formal context from the data where records are objects and
	tags are attributes and compute its concept lattice. Based on
	the assumption that semantically similar records are also
	structurally similar, i.e. have a similar set of attributes,
	we designed and implemented an algorithm that iteratively
	performs updates on the lattice in order to obtain a partition
	of the data ful lling the above mentioned criteria. In tests
	with real-life data, we obtain good results for datasets that
	are already highly structured --- that contain few outliers and
	many structurally equivalent records --- and mixed results at best
	for very diverse datasets.},
	Institution = {University of Bern},
	Keywords = {scg-bp snf-17 scg17 jb17},
	Type = {Bachelor's thesis},
	Url = {http://scg.unibe.ch/archive/projects/Liec17a.pdf},
	Month = may,
	Year = {2017}
}

@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 scg-none 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 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.},
	Acceptnum = {28},
	Accepttotal = {291},
	Aeres = {ACT},
	Aeresstatus = {aeres08},
	Annote = {internationalconference topconference},
	Author = {Adrian Lienhard and St\'ephane Ducasse and Gabriela Ar\'evalo},
	Booktitle = {ASE'05: Proceedings of the 20th International Conference on Automated Software Engineering},
	Cvs = {ConAnASE05Traits},
	Doi = {10.1145/1101908.1101921},
	Inria = {hors},
	Keywords = {scg-pub snf05 recast06 stefPub moose-pub arevalo scg-none jb06 listic},
	Medium = {2},
	Misc = {acceptance rate: 28/291 = 9\%},
	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 scg-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 scg-none 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},
	Year = {2006},
	Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Lien06aCapturingHowObjectsFlowPCODA06.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},
	url2 = {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 scg-none 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},
	Pages = {356-358},
	Publisher = {Oldenbourg Wissenschaftsverlag},
	Title = {Dynamische Objekt-Fluss-Analyse},
	Volume = {52},
	Year = {2010},
	Bdsk-Url-1 = {http://dx.doi.org/10.1524/itit.2010.0615}}

@article{Lien12a,
	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},
	Author = {Adrian Lienhard and Tudor G\^irba and Oscar Nierstrasz},
	Doi = {10.1109/TSE.2011.38},
	Journal = {Transactions on Software Engineering},
	Keywords = {scg-pub scg12 jb11 snf10 girba ercim11},
	Medium = {2},
	Nb = {was Lien11a},
	Number = {3},
	Pages = {694--706},
	Peerreview = {yes},
	Publisher = {IEEE Press},
	Title = {Specifying Dynamic Analyses by Extending Language Semantics},
	Url = {http://scg.unibe.ch/archive/papers/Lien11aDynamicAnalysis.pdf},
	Volume = {38},
	Year = {2012},
	Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Lien11aDynamicAnalysis.pdf},
	Bdsk-Url-2 = {http://dx.doi.org/10.1109/TSE.2011.38}}

@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{Lili18a,
  author    = {Hongwei Li and
               Sirui Li and
               Jiamou Sun and
               Zhenchang Xing and
               Xin Peng and
               Mingwei Liu and
               Xuejiao Zhao},
  title     = {Improving {API} Caveats Accessibility by Mining {API} Caveats Knowledge
               Graph},
  booktitle = {2018 {IEEE} International Conference on Software Maintenance and Evolution,
               {ICSME} 2018, Madrid, Spain, September 23-29, 2018},
  pages     = {183--193},
  publisher = {{IEEE} Computer Society},
  year      = {2018},
  url       = {https://doi.org/10.1109/ICSME.2018.00028},
  doi       = {10.1109/ICSME.2018.00028},
  Keywords =  {comment-quality-slr},
  timestamp = {Wed, 16 Oct 2019 14:14:50 +0200},
  biburl    = {https://dblp.org/rec/conf/icsm/LiLSXPLZ18.bib},
  bibsource = {dblp computer science bibliography, https://dblp.org}
}

@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{Lin08a,
	title = {A domain-customizable svg-based graph editor for software visualizations},
	author = {Lin, Tony and Zou, Feng and Kienle, Holger M and Muller, HA},
	booktitle = {Software Maintenance, 2008. ICSM 2008. IEEE International Conference on},
	pages = {466--467},
	year = {2008},
	organization = {IEEE}}

@inproceedings{Lina13a,
 author = {Linares-V\'{a}squez, Mario and Dit, Bogdan and Poshyvanyk, Denys},
 title = {An Exploratory Analysis of Mobile Development Issues Using {Stack Overflow}},
 booktitle = {Proceedings of the 10th Working Conference on Mining Software Repositories},
 series = {MSR '13},
 year = {2013},
 isbn = {978-1-4673-2936-1},
 location = {San Francisco, CA, USA},
 pages = {93--96},
 numpages = {4},
 url = {http://dl.acm.org/citation.cfm?id=2487085.2487108},
 acmid = {2487108},
 publisher = {IEEE Press},
 Keywords = {dev-questions},
 address = {Piscataway, NJ, USA}}

@inproceedings{Lina14a,
  title={Mining energy-greedy {API} usage patterns in {Android} apps: an empirical study},
  author={Linares-V{\'a}squez, Mario and Bavota, Gabriele and Bernal-C{\'a}rdenas, Carlos and Oliveto, Rocco and Di Penta, Massimiliano and Poshyvanyk, Denys},
  booktitle={Proceedings of the 11th Working Conference on Mining Software Repositories},
  pages={2--11},
  year={2014},
  organization={ACM}
}

@article{Linc11a,
	Acmid = {1998804},
	Address = {Amsterdam, The Netherlands, The Netherlands},
	Author = {Lincke, Jens and Appeltauer, Malte and Steinert, Bastian and Hirschfeld, Robert},
	Doi = {10.1016/j.scico.2010.11.013},
	Issn = {0167-6423},
	Issue = {12},
	Issue_Date = {December, 2011},
	Journal = {Sci. Comput. Program.},
	Keywords = {Context-oriented programming, ContextJS, Dynamic adaptation, Open implementations, Scope},
	Month = dec,
	Numpages = {16},
	Pages = {1194--1209},
	Publisher = {Elsevier North-Holland, Inc.},
	Title = {An open implementation for context-oriented layer composition in ContextJS},
	Url = {http://dx.doi.org/10.1016/j.scico.2010.11.013},
	Volume = {76},
	Year = {2011},
	Bdsk-Url-1 = {http://dx.doi.org/10.1016/j.scico.2010.11.013}}

@inproceedings{Linc13a,
 author = {Lincke, Jens and Hirschfeld, Robert},
 title = {User-evolvable Tools in the Web},
 booktitle = {Proceedings of the 9th International Symposium on Open Collaboration},
 series = {WikiSym '13},
 year = {2013},
 isbn = {978-1-4503-1852-5},
 location = {Hong Kong, China},
 pages = {19:1--19:8},
 articleno = {19},
 numpages = {8},
 url = {http://doi.acm.org/10.1145/2491055.2491074},
 doi = {10.1145/2491055.2491074},
 acmid = {2491074},
 publisher = {ACM},
 address = {New York, NY, USA}
}

@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{Lind11,
	 author = {Lindeman, Ricky T. and Kats, Lennart C.L. and Visser, Eelco},
	 title = {Declaratively Defining Domain-specific Language Debuggers},
	 journal = {SIGPLAN Not.},
	 issue_date = {March 2012},
	 volume = {47},
	 number = {3},
	 month = oct,
	 year = {2011},
	 issn = {0362-1340},
	 pages = {127--136},
	 numpages = {10},
	 url = {http://doi.acm.org/10.1145/2189751.2047885},
	 doi = {10.1145/2189751.2047885},
	 acmid = {2047885},
	 publisher = {ACM},
	 address = {New York, NY, USA},
	 keywords = {debugging, domain-specific language, language workbench, spoofax}
}

@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}}

@article{Ling16a,
  title={Latent predictor networks for code generation},
  author={Ling, Wang and Grefenstette, Edward and Hermann, Karl Moritz and Ko{\v{c}}isk{\`y}, Tom{\'a}{\v{s}} and Senior, Andrew and Wang, Fumin and Blunsom, Phil},
  journal={arXiv preprint arXiv:1603.06744},
  year={2016}
}

@inproceedings{Lino95a,
	Abstract = {We present a tool that facilitates the comprehension and re-engineering of complex multi-language
				program integrations (i.e. programs written using multiple programming languages and integrated in a
				single system). To this end, we classify and formalize program components and their relationships
				(known as program dependencies) used by different programming languages. Then, a specialized fool called
				PolyCARE (Poly-paradigmatic Computer-Aided Re-engineering) is introduced which automates the process of
				detecting and visualizing such dependencies. During the implementation of a prototype version of PolyCARE,
				it is observed that the combination of the unique characteristics of each individual programming language
				and paradigm can increase the complexity of program comprehension and re-engineering. For instance,
				integrating programs written using an object-oriented language that supports inheritance and polymorphism
				(e.g. C++) and a functional language (e.g. Lisp) which uses a recursive style can have a significant impact
				on program comprehension. Finally, some early experiences from using PolyCARE indicate that its presentation
				model, transformation mechanisms and partitioning techniques constitute a promising platform for the
				re-engineering and maintenance of complex integrations of programs},
	Author = {Linos, P.K.},
	Booktitle = {Engineering of Complex Computer Systems, 1995. Held jointly with 5th CSESAW, 3rd IEEE RTAW and 20th IFAC/IFIP WRTP, Proceedings., First IEEE International Conference on},
	Doi = {10.1109/ICECCS.1995.479355},
	Keywords = {PolyCARE tool; dependency detection; dependency visualisation; maintenance; multi-language program integration reengineering tool; multiple programming languages; partitioning techniques; poly-paradigmatic computer-aided re-engineering; presentation model; program component classification; program component formalisation; program component relationships; program comprehension; transformation mechanisms; computer aided software engineering; data visualisation; multiprogramming; software maintenance; software tools; systems analysis; systems re-engineering;},
	Month = nov,
	Pages = {338 -341},
	Title = {PolyCARE: a tool for re-engineering multi-language program integrations},
	Year = {1995},
	Bdsk-Url-1 = {http://dx.doi.org/10.1109/ICECCS.1995.479355}}

@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{Lino03a,
	Abstract = {This paper describes a prototype tool that facilitates the process of understanding and
				managing multi-language program dependencies. More specifically, the software tool
				maintains a repository of host-to-foreign language dependencies between C/C++ and Java code.
				We describe some program comprehension features of the tool and we discuss a preliminary
				case study performed in order to verify its functionality and validate its usefulness.
				Based on the results of this study, we continue improving the tool.},
	Author = {Linos, P.K. and Zhi-hong Chen and Berrier, S. and O'Rourke, B.},
	Booktitle = {Program Comprehension, 2003. 11th IEEE International Workshop on},
	Doi = {10.1109/WPC.2003.1199190},
	Issn = {1092-8138},
	Keywords = {C/C++ code; Java code; host-to-foreign language dependencies; multilanguage program dependencies understanding; software tool; C language; Java; multiprogramming; reverse engineering;},
	Month = may,
	Pages = {64 - 72},
	Title = {A tool for understanding multi-language program dependencies},
	Year = {2003},
	Bdsk-Url-1 = {http://dx.doi.org/10.1109/WPC.2003.1199190}}

@inproceedings{Lino07a,
	Address = {Anaheim, CA, USA},
	Author = {Linos, Panos and Lucas, Whitney and Myers, Sig and Maier, Ezekiel},
	Booktitle = {Proceedings of the 11th IASTED International Conference on Software Engineering and Applications},
	Isbn = {978-0-88986-706-2},
	Keywords = {intermediate language, multi-language software, program analysis, software metrics},
	Location = {Cambridge, Massachusetts},
	Numpages = {6},
	Pages = {324--329},
	Publisher = {ACTA Press},
	Series = {SEA '07},
	Title = {A metrics tool for multi-language software},
	Url = {http://dl.acm.org/citation.cfm?id=1647636.1647692},
	Year = {2007},
	Bdsk-Url-1 = {http://dl.acm.org/citation.cfm?id=1647636.1647692}}

@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{Lint03a,
	title = {Plugging-in visualization: experiences integrating a visualization tool with Eclipse},
	author = {Lintern, Rob and Michaud, Jeff and Storey, Margaret-Anne and Wu, Xiaomin},
	booktitle = {Proceedings of the 2003 ACM symposium on Software visualization},
	pages = {47--ff},
	year = {2003},
	organization = {ACM}}

@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{Lisk88a,
 author = {Liskov, B. and Shrira, L.},
 title = {Promises: Linguistic Support for Efficient Asynchronous Procedure Calls in Distributed Systems},
 booktitle = {Proceedings of the ACM SIGPLAN 1988 Conference on Programming Language Design and Implementation},
 series = {PLDI '88},
 year = {1988},
 isbn = {0-89791-269-1},
 location = {Atlanta, Georgia, USA},
 pages = {260--267},
 numpages = {8},
 url = {http://doi.acm.org/10.1145/53990.54016},
 doi = {10.1145/53990.54016},
 acmid = {54016},
 publisher = {ACM},
 address = {New York, NY, USA}
}

@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}}

@article{Litt87,
	Acmid = {39170},
	Address = {New York, NY, USA},
	Author = {Littman, David C. and Pinto, Jeannine and Letovsky, Stanley and Soloway, Elliot},
	Doi = {10.1016/0164-1212(87)90033-1},
	Issn = {0164-1212},
	Issue_Date = {December 1, 1987},
	Journal = {J. Syst. Softw.},
	Month = dec,
	Number = {4},
	Numpages = {15},
	Pages = {341--355},
	Publisher = {Elsevier Science Inc.},
	Title = {Mental models and software maintenance},
	Url = {http://dx.doi.org/10.1016/0164-1212(87)90033-1},
	Volume = {7},
	Year = {1987},
	Bdsk-Url-1 = {http://dx.doi.org/10.1016/0164-1212(87)90033-1}}

@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}}

@inproceedings{Liu07a,
	 author = {Liu, Dapeng and Marcus, Andrian and Poshyvanyk, Denys and Rajlich, Vaclav},
	 title = {Feature Location via Information Retrieval Based Filtering of a Single Scenario Execution Trace},
	 booktitle = {Proceedings of the Twenty-second IEEE/ACM International Conference on Automated Software Engineering},
	 series = {ASE '07},
	 year = {2007},
	 isbn = {978-1-59593-882-4},
	 location = {Atlanta, Georgia, USA},
	 pages = {234--243},
	 numpages = {10},
	 url = {http://doi.acm.org/10.1145/1321631.1321667},
	 doi = {10.1145/1321631.1321667},
	 acmid = {1321667},
	 publisher = {ACM},
	 address = {New York, NY, USA},
	 keywords = {concept location, dynamic and static analyses, feature identification, information retrieval, program understanding}
}

@inproceedings{Liu10a,
	author={Q. {Liu} and B. R. {Bryant} and M. {Mernik}},
	booktitle={2010 IEEE 34th Annual Computer Software and Applications Conference},
	title={Metamodel Recovery from Multi-tiered Domains Using Extended MARS},
	year={2010},
	volume={},
	number={},
	pages={279-288},
	keywords={grammars;hypermedia markup languages;program interpreters;software engineering;metamodel recovery system;multitiered domains;extended MARS;model driven engineering;domain specific modeling;software development technique;schema definition;static semantics;XSLT translator;MRL;model representation language;XML representation;Mars;XML;Object oriented modeling;Load modeling;Grammar;Computational modeling;DSL;domain-specific modeling;grammar inference;metamodel;model-driven engineering},
	doi={10.1109/COMPSAC.2010.35},
	ISSN={},
	month=jul
}

@inproceedings{Liu13,
 author = {Liu, Chen and Yang, Jinqiu and Tan, Lin and Hafiz, Munawar},
 title = {R2Fix: Automatically Generating Bug Fixes from Bug Reports},
 booktitle = {Proceedings of the 2013 IEEE Sixth International Conference on Software Testing, Verification and Validation},
 series = {ICST '13},
 year = {2013},
 isbn = {978-0-7695-4968-2},
 pages = {282--291},
 numpages = {10},
 url = {http://dx.doi.org/10.1109/ICST.2013.24},
 doi = {10.1109/ICST.2013.24},
 acmid = {2511609},
 publisher = {IEEE Computer Society},
 address = {Washington, DC, USA},
 keywords = {automated bug fixing, automated program repair, bug report classification, fix pattern study}
}

@inproceedings{Liu15a,
 author = {Liu, Xiaotong and Shen, Han-Wei},
 title = {The Effects of Representation and Juxtaposition on Graphical Perception of Matrix Visualization},
 booktitle = {Proceedings of the 33rd Annual ACM Conference on Human Factors in Computing Systems},
 series = {CHI '15},
 year = {2015},
 isbn = {978-1-4503-3145-6},
 location = {Seoul, Republic of Korea},
 pages = {269--278},
 numpages = {10},
 url = {http://doi.acm.org/10.1145/2702123.2702217},
 doi = {10.1145/2702123.2702217},
 acmid = {2702217},
 publisher = {ACM},
 address = {New York, NY, USA},
 keywords = {adjacency matrices, information visualization, networks}
}

@inproceedings{Liu15b,
  title={Analyzing program readability based on {WordNet}},
  author={Liu, Yangchao and Sun, Xiaobing and Duan, Yucong},
  booktitle={Proceedings of the 19th International Conference on Evaluation and Assessment in Software Engineering},
  pages={27},
  year={2015},
  organization={ACM}}

@inproceedings{Liu16a,
  author = {Hui Liu and Qiurong Liu and Cristian-Alexandru Staicu and Michael Pradel and Yue Luo},
  title = {Nomen Est Omen: Exploring and Exploiting Similarities between Argument
	and Parameter Names},
  booktitle = {International Conference on Software Engineering (ICSE)},
  year = {2016}}

@inproceedings{Liu18a,
  author    = {Zhiyong Liu and
               Huanchao Chen and
               Xiangping Chen and
               Xiaonan Luo and
               Fan Zhou},
  editor    = {Sorel Reisman and
               Sheikh Iqbal Ahamed and
               Claudio Demartini and
               Thomas M. Conte and
               Ling Liu and
               William R. Claycomb and
               Motonori Nakamura and
               Edmundo Tovar and
               Stelvio Cimato and
               Chung{-}Horng Lung and
               Hiroki Takakura and
               Ji{-}Jiang Yang and
               Toyokazu Akiyama and
               Zhiyong Zhang and
               Kamrul Hasan},
  title     = {Automatic Detection of Outdated Comments During Code Changes},
  booktitle = {2018 {IEEE} 42nd Annual Computer Software and Applications Conference,
               {COMPSAC} 2018, Tokyo, Japan, 23-27 July 2018, Volume 1},
  pages     = {154--163},
  publisher = {{IEEE} Computer Society},
  year      = {2018},
  url       = {https://doi.org/10.1109/COMPSAC.2018.00028},
  doi       = {10.1109/COMPSAC.2018.00028},
  keywords =  {comment-quality-slr},
  timestamp = {Mon, 08 Oct 2018 14:00:09 +0200},
  biburl    = {https://dblp.org/rec/conf/compsac/LiuCCL018.bib},
  bibsource = {dblp computer science bibliography, https://dblp.org}
}

@inproceedings{Livi07a,
	Author = {Simone Livieri and Yoshiki Higo and Makoto Matsushita and Katsuro Inoue},
	Booktitle = {ICSE},
	Pages = {106-115},
	Title = {Very-Large Scale Code Clone Analysis and Visualization of Open Source Programs Using Distributed CCFinder: D-CCFinder},
	Year = {2007}}

@article{Livs05a,
	Acmid = {1081754},
	Address = {New York, NY, USA},
	Author = {Livshits, Benjamin and Zimmermann, Thomas},
	Doi = {10.1145/1095430.1081754},
	Issn = {0163-5948},
	Issue_Date = {September 2005},
	Journal = {SIGSOFT Softw. Eng. Notes},
	Keywords = {coding patterns, data mining, dynamic analysis, error patterns, one-line check-ins, revision histories, software bugs},
	Month = sep,
	Number = {5},
	Numpages = {10},
	Pages = {296--305},
	Publisher = {ACM},
	Title = {DynaMine: finding common error patterns by mining software revision histories},
	Url = {http://doi.acm.org/10.1145/1095430.1081754},
	Volume = {30},
	Year = {2005},
	Bdsk-Url-1 = {http://doi.acm.org/10.1145/1095430.1081754},
	Bdsk-Url-2 = {http://dx.doi.org/10.1145/1095430.1081754}}

@inproceedings{Livs05b,
 author = {Livshits, Benjamin and Whaley, John and Lam, Monica S.},
 title = {Reflection Analysis for Java},
 booktitle = {Proceedings of the Third Asian Conference on Programming Languages and Systems},
 series = {APLAS'05},
 year = {2005},
 isbn = {3-540-29735-9, 978-3-540-29735-2},
 location = {Tsukuba, Japan},
 pages = {139--160},
 numpages = {22},
 url = {http://dx.doi.org/10.1007/11575467_11},
 doi = {10.1007/11575467_11},
 acmid = {2099724},
 publisher = {Springer-Verlag},
 address = {Berlin, Heidelberg}
}

@article{Livs15a,
 author = {Livshits, Benjamin and Sridharan, Manu and Smaragdakis, Yannis and Lhot\'{a}k, Ond\v{r}ej and Amaral, J. Nelson and Chang, Bor-Yuh Evan and Guyer, Samuel Z. and Khedker, Uday P. and M{\o}ller, Anders and Vardoulakis, Dimitrios},
 title = {In Defense of Soundiness: A Manifesto},
 journal = {Commun. ACM},
 issue_date = {February 2015},
 volume = {58},
 number = {2},
 month = jan,
 year = {2015},
 issn = {0001-0782},
 pages = {44--46},
 numpages = {3},
 url = {http://doi.acm.org/10.1145/2644805},
 doi = {10.1145/2644805},
 acmid = {2644805},
 publisher = {ACM},
 address = {New York, NY, USA}
}

@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}}

@inproceedings{Lo17a,
  title={MEANT 2.0: Accurate semantic MT evaluation for any output language},
  author={Lo, Chi-kiu},
  booktitle={Proceedings of the Second Conference on Machine Translation},
  pages={589--597},
  year={2017}}

@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 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}}

@inproceedings{Logi08a,
 author = {Loginov, Alexey and Yahav, Eran and Chandra, Satish and Fink, Stephen and Rinetzky, Noam and Nanda, Mangala},
 title = {Verifying Dereference Safety via Expanding-scope Analysis},
 booktitle = {Proceedings of the 2008 International Symposium on Software Testing and Analysis},
 series = {ISSTA '08},
 year = {2008},
 isbn = {978-1-60558-050-0},
 location = {Seattle, WA, USA},
 pages = {213--224},
 numpages = {12},
 url = {http://doi.acm.org/10.1145/1390630.1390657},
 doi = {10.1145/1390630.1390657},
 acmid = {1390657},
 publisher = {ACM},
 address = {New York, NY, USA},
 keywords = {abstract interpretation, specification inference, static analysis}
}

@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}}

@inproceedings{Lope16a,
author={R. E. Lopez-Herrejon and S. Illescas and A. Egyed},
booktitle={2016 IEEE Working Conference on Software Visualization (VISSOFT)},
title={Visualization for Software Product Lines: A Systematic Mapping Study},
year={2016},
pages={26-35},
keywords={data visualisation;program visualisation;software product lines;software reusability;software reuse;time to market;complexity visualization techniques;information complexity;SPL life cycle;systematic mapping;software product line visualization;Visualization;Systematics;Software product lines;Computer architecture;Conferences;Software systems;software product lines;information visualization;software visualization;domain engineering;application engineering},
doi={10.1109/VISSOFT.2016.11},
month=oct
}

@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 snf11 scg11 jb11 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},
	Bdsk-Url-1 = {http://scg.unibe.ch/archive/masters/Lore11a.pdf}}

@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 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}}

@article{Lour06b,
 author = {Louridas, Panagiotis},
 title = {Static Code Analysis},
 journal = {IEEE Softw.},
 issue_date = {July 2006},
 volume = {23},
 number = {4},
 month = jul,
 year = {2006},
 issn = {0740-7459},
 pages = {58--61},
 numpages = {4},
 url = {http://dx.doi.org/10.1109/MS.2006.114},
 doi = {10.1109/MS.2006.114},
 acmid = {1159392},
 publisher = {IEEE Computer Society Press},
 address = {Los Alamitos, CA, USA},
 keywords = {debugging, software testing, software testing, static checkers, debugging, static checkers}
}

@article{Lour08a,
	Acmid = {1391986},
	Address = {New York, NY, USA},
	Articleno = {2},
	Author = {Louridas, Panagiotis and Spinellis, Diomidis and Vlachos, Vasileios},
	Doi = {10.1145/1391984.1391986},
	Issn = {1049-331X},
	Issue_Date = {September 2008},
	Journal = {ACM Trans. Softw. Eng. Methodol.},
	Keywords = {Scale-free networks, power laws},
	Month = oct,
	Number = {1},
	Numpages = {26},
	Pages = {2:1--2:26},
	Publisher = {ACM},
	Title = {Power Laws in Software},
	Url = {http://doi.acm.org/10.1145/1391984.1391986},
	Volume = {18},
	Year = {2008},
	Bdsk-Url-1 = {http://doi.acm.org/10.1145/1391984.1391986},
	Bdsk-Url-2 = {http://dx.doi.org/10.1145/1391984.1391986}}

@inproceedings{Love83a,
	Author = {Tom Love},
	Booktitle = {Proceedings of SoftFair},
	Keywords = {smalltalk},
	Title = {Experiences with Smalltalk-80 for Application Development},
	Year = {1983}}

@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}}

@article{Lovi68a,
  title={Development of a stemming algorithm},
  author={Lovins, Julie Beth},
  journal={Mech. Transl. Comput. Linguistics},
  volume={11},
  number={1-2},
  pages={22--31},
  year={1968}
}

@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{Lowr69a,
	Acmid = {362838},
	Address = {New York, NY, USA},
	Author = {Lowry, Edward S. and Medlock, C. W.},
	Doi = {10.1145/362835.362838},
	Issn = {0001-0782},
	Issue_Date = {Jan. 1969},
	Journal = {Commun. ACM},
	Keywords = {FORTRAN, System/360, compilers, data flow analysis, dominance, efficiency, graph theory, loop structure, machine instructions, object code, optimization, redundancy elimination, register assignment},
	Month = jan,
	Number = {1},
	Numpages = {10},
	Pages = {13--22},
	Publisher = {ACM},
	Title = {Object Code Optimization},
	Url = {http://doi.acm.org/10.1145/362835.362838},
	Volume = {12},
	Year = {1969},
	Bdsk-Url-1 = {http://doi.acm.org/10.1145/362835.362838},
	Bdsk-Url-2 = {http://dx.doi.org/10.1145/362835.362838}}

@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}}

@inproceedings{Lowr98a,
  title={Towards a theory for integration of mathematical verification and empirical testing},
  author={Lowry, Michael and Boyd, Mark and Kulkami, Deepak},
  booktitle={Automated Software Engineering, 1998. Proceedings. 13th IEEE International Conference on},
  pages={322--331},
  year={1998},
  organization={IEEE}
}

@article{Loza15a,
	Title = {Usage contracts: Offering immediate feedback on violations of structural source-code regularities},
	Journal = {Science of Computer Programming},
	Volume = {105},
	Pages = {73 - 91},
	Year = {2015},
	Issn = {0167-6423},
	Doi = {10.1016/j.scico.2015.01.004},
	Url = {http://www.sciencedirect.com/science/article/pii/S016764231500012X},
	Author = {Angela Lozano and Kim Mens and Andy Kellens}}

@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{Lu06a,
	Author = {Lu, Yi and Potter, John},
	Booktitle = {In ECOOP'06, volume 4067 of LNCS},
	Date-Added = {2012-05-08 14:26:26 +0000},
	Date-Modified = {2012-08-09 09:02:23 +0000},
	Keywords = {aliasing},
	Pages = {99--123},
	Publisher = {Springer-Verlag},
	Rating = {4},
	Title = {On ownership and accessibility},
	Year = {2006}}

@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},
	Keywords = {damiencbib automotive},
	Month = dec,
	School = {University of Toulouse},
	Title = {Robustesse du logiciel embarqu\'e multicouche par une approche r\'eflexive: application \`a l'automobile},
	Year = {2009}}

@phdthesis{Lu13a,
	Author = {Lu, Xin},
	Publisher = {Inst f{\"o}r folkh{\"a}lsovetenskap/Dept of Public Health Sciences},
	School = {Karolinska Institutet},
	Title = {Respondent-Driven Sampling: Theory, Limitations \& Improvements},
	Year = {2013}}

@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{Luci97a,
	Author = {De Lucia, A. and Di Lucca, G.A. and Fasolino, A.R. and Guerra, P. and Petruzzelli, S.},
	Booktitle = {Software Maintenance, 1997. Proceedings., International Conference on},
	Doi = {10.1109/ICSM.1997.624238},
	Issn = {1063-6773},
	Pages = {122-129},
	Title = {Migrating legacy systems towards object-oriented platforms},
	Year = {1997},
	Bdsk-Url-1 = {http://dx.doi.org/10.1109/ICSM.1997.624238}}

@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{Luci11a,
  author    = {Andrea De Lucia and
               Massimiliano Di Penta and
               Rocco Oliveto},
  title     = {Improving Source Code Lexicon via Traceability and Information Retrieval},
  journal   = {{IEEE} Trans. Software Eng.},
  volume    = {37},
  number    = {2},
  pages     = {205--227},
  year      = {2011},
  url       = {https://doi.org/10.1109/TSE.2010.89},
  doi       = {10.1109/TSE.2010.89},
  keywords =  {comment-quality-slr},
  timestamp = {Wed, 25 Sep 2019 18:00:07 +0200},
  biburl    = {https://dblp.org/rec/journals/tse/LuciaPO11.bib},
  bibsource = {dblp computer science bibliography, https://dblp.org}
}

@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,
	Author = {Luckham, David C. and Vera, James},
	Doi = {10.1109/32.464548},
	Journal = {IEEE Transactions on Software Engineering},
	Keywords = {rapide sa architecture tose95 damiencbib communication-integrity},
	Month = sep,
	Number = {9},
	Pages = {717--734},
	Title = {An Event-Based Architecture Definition Language},
	Volume = {21},
	Year = {1995},
	Bdsk-Url-1 = {http://dx.doi.org/10.1109/32.464548}}

@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,
	Address = {Boston, MA, USA},
	Author = {Luckham, David C.},
	Isbn = {0201727897},
	Publisher = {Addison-Wesley Longman Publishing Co., Inc.},
	Title = {The Power of Events: An Introduction to Complex Event Processing in Distributed Enterprise Systems},
	Year = {2001}}

@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 scg-none 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(38) focbs97 snf97 scg-none 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 = {skip-doi toBeChecked scg-phd pil olit pi cose glue piccola snf99 scg-coord-99 scg-none 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 scg-none 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{Lump07a,
	Author = {Markus Lumpe},
	Doi = {10.1016/j.entcs.2006.09.035},
	Journal = {Electr. Notes Theor. Comput. Sci.},
	Keywords = {gloo},
	Pages = {123-138},
	Title = {Applications = Components + {GLoo}},
	Url = {http://www.ict.swin.edu.au/personal/mlumpe/Pubs/FACS06.pdf},
	Volume = {182},
	Year = {2007},
	Bdsk-Url-1 = {http://www.ict.swin.edu.au/personal/mlumpe/Pubs/FACS06.pdf},
	Bdsk-Url-2 = {http://dx.doi.org/10.1016/j.entcs.2006.09.035}}

@inproceedings{Lump08a,
	Author = {Markus Lumpe},
	Booktitle = {Software Composition},
	Doi = {10.1007/978-3-540-78789-1_1},
	Keywords = {gloo},
	Pages = {1-19},
	Title = {Growing a Language: The {GLoo} Perspective},
	Url = {http://www.ict.swin.edu.au/personal/mlumpe/Pubs/SC2008.pdf},
	Year = {2008},
	Bdsk-Url-1 = {http://www.ict.swin.edu.au/personal/mlumpe/Pubs/SC2008.pdf},
	Bdsk-Url-2 = {http://dx.doi.org/10.1007/978-3-540-78789-1_1}}

@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 scg-none 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 scg-none 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 sde-visualization},
	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 snf-none 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 scg-none 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 scg-none 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}}

@inproceedings{Lung08a,
	title = {Towards reverse engineering software ecosystems},
	author = {Lungu, Mircea},
	booktitle = {Software Maintenance, 2008. ICSM 2008. IEEE International Conference on},
	pages = {428--431},
	year = {2008},
	organization = {IEEE}}

@phdthesis{Lung09b,
	Author = {Mircea Lungu},
	Keywords = {sde-ecosystems, moose-pub},
	Month = nov,
	School = {University of Lugano},
	Title = {Reverse Engineering Software Ecosystems},
	Url = {http://scg.unibe.ch/archive/papers/Lung09b.pdf},
	Year = {2009},
	Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Lung09b.pdf}}

@inproceedings{Lung10a,
	Abstract = {In large software systems, knowing the dependencies
				  between 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
				  software projects, the dependencies that need to
				  be recovered reside not only within the individual
				  systems, but also between 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},
	Doi = {10.1145/1858996.1859058},
	Keywords = {scg-bigdata scg-pub scg10 jb12 snf-none ecosystems lungu sde-ecosystems},
	PeerReview = {yes},
	Medium = {2},
	Publisher = {ACM Press},
	Title = {Recovering Inter-Project Dependencies in Software Ecosystems},
	Url = {http://scg.unibe.ch/archive/papers/Lung10a.pdf},
	Year = {2010},
	Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Lung10a.pdf},
	Bdsk-Url-2 = {http://dx.doi.org/10.1145/1858996.1859058}}

@article{Lung10b,
	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},
	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}}

@article{Lung12a,
	Abstract = {As a complex software system evolves, its architecture typically
		degrades, and thus it becomes progressively harder to understand and
		maintain. Softwarenaut is an interactive and collaborative tool that helps
		developers recover and consequently improve the architecture of such
		systems by offering mechanisms to represent, filter, query and manipulate
		architectural views of the system under analysis. Softwarenaut is an open
		and extensible tool that is part of the Moose software analysis platform,
		which is used for numerous academic and industrial projects related to
		software evolution.},
	Annote = {notrefereed},
	Author = {Mircea Lungu and Oscar Nierstrasz},
	Journal = {ERCIM News},
	Keywords = {scg-pub skip-doi jb12 snf12 scg12},
	Medium = {2},
	Month = jan,
	Peerreview = {no},
	Title = {Recovering Software Architecture with {Softwarenaut}},
	Url = {http://ercim-news.ercim.eu/en88/special/recovering-software-architecture-with-softwarenaut},
	Volume = 88,
	Year = {2012},
	Bdsk-Url-1 = {http://ercim-news.ercim.eu/en88/special/recovering-software-architecture-with-softwarenaut}}

@article{Lung12c,
	Abstract = {Research has been empowered by increased network bandwidth and raw computation power to analyze all of these artifacts at possibly massive scales. Therefore it shouldn't surprise us that current software engineering research uses the new wealth of information to improve the lives of software developers. Analysis of software ecosystems and super-repositories enters the realm of big software data. },
	Annote = {notrefereed},
	Author = {Mircea Lungu and Oscar Nierstrasz and Niko Schwarz},
	Journal = {ERCIM News},
	Keywords = {scg-pub skip-doi jb12 snf12 scg-bigdata scg12},
	Medium = {2},
	Month = apr,
	Peerreview = {no},
	Title = {Big Software Data Analysis},
	Url = {http://ercim-news.ercim.eu/en89/special/big-software-data-analysis},
	Volume = 89,
	Year = {2012},
	Bdsk-Url-1 = {http://ercim-news.ercim.eu/en89/special/big-software-data-analysis}}

@inproceedings{Lung13a,
	Annote = {internationalconference},
	Author = {Mircea Lungu and Jan Kur\v{s}},
	Abstract = {One of the long running debates between
	programmers is whether camelCaseldentifiers are better than
	underscore_identifiers. This is ultimately a matter of
	programming language culture and personal taste, and to our
	best knowledge none of the camps has won the argument yet. It
	is our intuition that a solution exists which is superior to
	both the previous ones from the point of view of usability:
	the solution we name sentence case identifiers allows phrases
	as nams for program entities such as classes or methods. In
	this paper we propose a study in which to evaluate the impact
	of sentence case identifiers in practice.},
	Booktitle = {{USER}'13: Proceedings of the 2nd Workshop on User evaluations for Software Engineering Researchers},
	Keywords = {scg-pub snf-asa1 scg13 jb14 lungu internationalworkshop, kursjan},
	Medium = {4},
	Pages = {13 - 15},
	Peerreview = {yes},
	Title = {On Planning an Evaluation of the Impact of Identifier Names on the Readability and Maintainability of Programs},
	Url = {http://scg.unibe.ch/archive/papers/Lung13a-Planning.pdf},
	doi = {10.1109/USER.2013.6603079},
	Year = {2013},
	Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Lung13a-Planning.pdf}}

@article{Lung14a,
	Abstract = {Architecture recovery is an activity applied to a system whose initial architecture has eroded. When the system is large, the user must use dedicated tools to support the recovery process. We present Softwarenaut -- a tool which supports architecture recovery through interactive exploration and visualization. Classical architecture recovery features, such as filtering and details on demand, are enhanced with evolutionary capabilities when multi-version information about a subject system is available. The tool allows sharing and discovering the results of previous analysis sessions through a global repository of architectural views indexed by systems. We present the features of the tool together with the architecture recovery process that it supports using as a case-study ArgoUML, a well-known open source Java system.},
	Annote = {internationaljournal},
	Author = {Mircea Lungu and Michele Lanza and Oscar Nierstrasz},
	Doi = {10.1016/j.scico.2012.04.007},
	Journal = {Science of Computer Programming},
	Keywords = {softwarenaut mircpub jb14 snf-asa1 scg-pub scg14},
	Medium = {2},
	Number = {0},
	Pages = {204 - 223},
	Peerreview = {yes},
	Publisher = {Elsevier},
	Title = {Evolutionary and Collaborative Software Architecture Recovery with {Softwarenaut}},
	Url = {http://scg.unibe.ch/archive/papers/Lung14a.pdf},
	Volume = {79},
	Year = {2014},
	Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Lung14a.pdf},
	Bdsk-Url-2 = {http://dx.doi.org/10.1016/j.scico.2012.04.007}}

@inproceedings{Luo16a,
 author = {Luo, Qi and Poshyvanyk, Denys and Grechanik, Mark},
 title = {Mining Performance Regression Inducing Code Changes in Evolving Software},
 booktitle = {Proceedings of the 13th International Conference on Mining Software Repositories},
 series = {MSR '16},
 year = {2016},
 isbn = {978-1-4503-4186-8},
 location = {Austin, Texas},
 pages = {25--36},
 numpages = {12},
 url = {http://doi.acm.org/10.1145/2901739.2901765},
 doi = {10.1145/2901739.2901765},
 acmid = {2901765},
 publisher = {ACM},
 address = {New York, NY, USA},
 keywords = {change impact analysis, genetic algorithms, mining execution traces, performance regression testing}
}

@article{Luqi90a,
	Acmid = {101758},
	Address = {Piscataway, NJ, USA},
	Author = {Luqi},
	Doi = {10.1109/32.57627},
	Issn = {0098-5589},
	Issue_Date = {August 1990},
	Journal = {IEEE Trans. Softw. Eng.},
	Keywords = {automated support, automatic assistance, automatic programming, complex software systems, consistency, data integrity, evolving software system, graph model, graph theory, integrity, software evolution, software tools.},
	Month = aug,
	Number = {8},
	Numpages = {11},
	Pages = {917--927},
	Publisher = {IEEE Press},
	Title = {A Graph Model for Software Evolution},
	Url = {http://dx.doi.org/10.1109/32.57627},
	Volume = {16},
	Year = {1990},
	Bdsk-Url-1 = {http://dx.doi.org/10.1109/32.57627}}

@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,
	Address = {Vancouver, BC, Canada},
	Author = {Lynch, Nancy A. and Tuttle, Mark R.},
	Booktitle = {PODC'87: Proceedings of the 6th Symposium on Principles of Distributed Computing},
	Doi = {10.1145/41840.41852},
	Isbn = {0-89791-239-4},
	Month = dec,
	Pages = {137--151},
	Publisher = {ACM},
	Title = {Hierarchical correctness proofs for distributed algorithms},
	Year = {1987},
	Bdsk-Url-1 = {http://dx.doi.org/10.1145/41840.41852}}

@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}}}

@inproceedings{Maal09,
	Acmid = {1747531},
	Address = {Washington, DC, USA},
	Author = {Maalej, Walid},
	Booktitle = {Proceedings of the 2009 IEEE/ACM International Conference on Automated Software Engineering},
	Doi = {10.1109/ASE.2009.36},
	Isbn = {978-0-7695-3891-4},
	Keywords = {tool integration, information need, task management, context awareness, emperical research},
	Numpages = {12},
	Pages = {344--355},
	Publisher = {IEEE Computer Society},
	Series = {ASE '09},
	Title = {Task-First or Context-First? {Tool} Integration Revisited},
	Url = {http://dx.doi.org/10.1109/ASE.2009.36},
	Year = {2009},
	Bdsk-Url-1 = {http://dx.doi.org/10.1109/ASE.2009.36}}

@article{Maal14a,
 author = {Maalej, Walid and Tiarks, Rebecca and Roehm, Tobias and Koschke, Rainer},
 title = {On the Comprehension of Program Comprehension},
 journal = {ACM TOSEM},
 issue_date = {August 2014},
 volume = {23},
 number = {4},
 month = sep,
 year = {2014},
 issn = {1049-331X},
 pages = {31:1--31:37},
 articleno = {31},
 numpages = {37},
 url = {http://mobis.informatik.uni-hamburg.de/wp-content/uploads/2014/06/TOSEM-Maalej-Comprehension-PrePrint2.pdf},
 doi = {10.1145/2622669},
 acmid = {2622669},
 publisher = {ACM},
 address = {New York, NY, USA},
 keywords = {Empirical software engineering, context-aware software engineering, information needs, knowledge sharing, program comprehension, dev-questions}
}

@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,
	Acmid = {169431},
	Address = {New York, NY, USA},
	Author = {MacKenzie, I. Scott and Ware, Colin},
	Booktitle = {Proceedings of the INTERACT '93 and CHI '93 conference on Human factors in computing systems},
	Doi = {10.1145/169059.169431},
	Isbn = {0-89791-575-5},
	Keywords = {Fitts' law, feedback delay, human performance modeling, lag, speed-accuracy tradeoff, virtual reality},
	Location = {Amsterdam, The Netherlands},
	Numpages = {6},
	Pages = {488--493},
	Publisher = {ACM},
	Series = {CHI '93},
	Title = {Lag as a determinant of human performance in interactive systems},
	Year = {1993},
	Bdsk-Url-1 = {http://dx.doi.org/10.1145/169059.169431}}

@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,
	Address = {Boston, MA, USA},
	Author = {Mackinnon, Tim and Freeman, Steve and Craig, Philip},
	Booktitle = {Extreme programming examined},
	Chapter = {17},
	Keywords = {damiencbib},
	Numpages = {15},
	Pages = {287--301},
	Publisher = {Addison-Wesley Longman Publishing Co., Inc.},
	Title = {Endo-testing: Unit testing with mock objects},
	Year = {2001}}

@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}}

@inproceedings{Madh11a,
	author = {Madhavan, Ravichandhran and Komondoor, Raghavan},
	title = {Null Dereference Verification via Over-approximated Weakest Pre-conditions Analysis},
	booktitle = {Proceedings of the 2011 ACM International Conference on Object Oriented Programming Systems Languages and Applications},
	series = {OOPSLA '11},
	year = {2011},
	isbn = {978-1-4503-0940-0},
	location = {Portland, Oregon, USA},
	pages = {1033--1052},
	numpages = {20},
	url = {http://doi.acm.org/10.1145/2048066.2048144},
	doi = {10.1145/2048066.2048144},
	acmid = {2048144},
	publisher = {ACM},
	address = {New York, NY, USA},
	keywords = {Java analysis, abstract interpretation, assertion checking, null dereferences}
}

@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,
	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.},
	Acmid = {161247},
	Address = {Hertfordshire, UK, UK},
	Author = {Madsen, Ole Lehrmann and M{\/o}ller-Pedersen, Birger},
	Booktitle = {Proceedings of the seventh international conference on Technology of object-oriented languages and systems},
	Isbn = {0-13-917436-2},
	Location = {Dortmund, Germany},
	Numpages = {15},
	Pages = {283--297},
	Publisher = {Prentice Hall International (UK) Ltd.},
	Title = {Part objects and their location},
	Url = {http://portal.acm.org/citation.cfm?id=161213.161247; http://www.daimi.au.dk/PB/406/PB-406.ps.gz"},
	Year = {1992},
	Bdsk-Url-1 = {http://portal.acm.org/citation.cfm?id=161213.161247;%20http://www.daimi.au.dk/PB/406/PB-406.ps.gz%22}}

@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}}

@mastersthesis{Mads07a,
  title={Ecstatic--type inference for {R}uby using the {C}artesian product algorithm},
  author={Madsen, Martin and S{\o}rensen, Peter and Kristensen, Kristian},
  year={2007},
  school={Aalborg University}
}

@inproceedings{Mads10a,
	Address = {Oslo, Norway},
	Author = {Madsen, Ole Lehrmann and M{\/o}ller-Pedersen, Birger},
	Booktitle = {MODELS'10: Proceedings of the 13th International Conference on Model Driven Engineering Languages and Systems},
	Doi = {10.1007/978-3-642-16145-2_1},
	Keywords = {damiencbib uml simula beta delta models programming language DSL},
	Month = oct,
	Pages = {1-15},
	Publisher = {Springer},
	Series = {Lecture Notes in Computer Science},
	Title = {A Unified Approach to Modeling and Programming},
	Url = {http://models2010.ifi.uio.no/material/Models10.pdf},
	Volume = {6394},
	Year = {2010},
	Bdsk-Url-1 = {http://models2010.ifi.uio.no/material/Models10.pdf},
	Bdsk-Url-2 = {http://dx.doi.org/10.1007/978-3-642-16145-2_1}}

@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}}

@techreport{Maer13a,
	Abstract = {Dynamic Ownership is an effective way to ensure encapsulation, but it is too restrictive. We
	propose a more flexible variant of Dynamic Ownership based on two mechanisms: filters and crossing
	handlers. Filters define interfaces for accessing objects and crossing handlers control aliasing. This
	thesis details our approach and reports on the implementation of a prototype in Pharo Smalltalk. We
	describe the adaptation of a Smalltalk web server with our approach and assess its performance. We
	conclude that our approach is flexible enough to suit existing designs, but our prototype entails a
	significant performance overhead.},
	Author = {Pascal Maerki},
	Institution = {University of Bern},
	Keywords = {scg-bp scg13 jb13 snf-none},
	Month = feb,
	Title = {Flexible Dynamic Ownership in {Smalltalk}},
	Type = {Bachelor's thesis},
	Url = {http://scg.unibe.ch/archive/projects/Maer13a-DynamicOwnership.pdf},
	Year = {2013},
	Bdsk-Url-1 = {http://scg.unibe.ch/archive/projects/Maer13a-DynamicOwnership.pdf}}

@inproceedings{Maes87a,
	Author = {Pattie Maes},
	Booktitle = {Proceedings OOPSLA '87, ACM SIGPLAN Notices},
	Doi = {10.1145/38765.38821},
	Keywords = {olit oopsla87 binder uni-refl},
	Month = dec,
	Pages = {147--155},
	Title = {Concepts and Experiments in Computational Reflection},
	Volume = {22},
	Year = {1987},
	Bdsk-Url-1 = {http://dx.doi.org/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,
	Address = {Sitges, Spain},
	Author = {Magee, Jeff and Dulay, Naranker and Eisenbach, Susan and Kramer, Jeffrey},
	Booktitle = {ESEC'95: Proceedings of the 5th European Software Engineering Conference},
	Doi = {10.1007/3-540-60406-5_12},
	Keywords = {olit visprog scripting darwin regis binder damiencbib},
	Month = sep,
	Pages = {137--153},
	Publisher = {Springer-Verlag},
	Series = {LNCS},
	Title = {Specifying Distributed Software Architectures},
	Volume = {989},
	Year = {1995},
	Bdsk-Url-1 = {http://dx.doi.org/10.1007/3-540-60406-5_12}}

@inproceedings{Mage96a,
	Address = {San Francisco, CA, USA},
	Author = {Magee, Jeff and Kramer, Jeff},
	Booktitle = {SIGSOFT'96: Proceedings of the 4th Symposium on Foundations of software engineering},
	Doi = {10.1145/239098.239104},
	Keywords = {damiencbib architecture darwin adl},
	Pages = {3--14},
	Publisher = {ACM},
	Title = {Dynamic structure in software architectures},
	Year = {1996},
	Bdsk-Url-1 = {http://dx.doi.org/10.1145/239098.239104}}

@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{Mage99b,
	Acmid = {696373},
	Address = {Deventer, The Netherlands, The Netherlands},
	Author = {Magee, Jeff and Kramer, Jeff and Giannakopoulou, Dimitra},
	Booktitle = {Proceedings of the TC2 First Working IFIP Conference on Software Architecture (WICSA1)},
	Isbn = {0-7923-8453-9},
	Numpages = {16},
	Pages = {35--50},
	Publisher = {Kluwer, B.V.},
	Series = {WICSA1},
	Title = {Behaviour Analysis of Software Architectures},
	Url = {http://dl.acm.org/citation.cfm?id=646545.696373},
	Year = {1999},
	Bdsk-Url-1 = {http://dl.acm.org/citation.cfm?id=646545.696373}}

@inproceedings{Magee99a,
	Address = {Los Angeles, CA, USA},
	Author = {Magee, Jeff},
	Booktitle = {ICSE'99: Proceedings of the 21st International Conference on Software Engineering},
	Doi = {10.1145/302405.302726},
	Isbn = {1-58113-074-0},
	Keywords = {behavior analysis, software architecture damiencbib},
	Pages = {634--637},
	Publisher = {ACM},
	Title = {Behavioral analysis of software architectures using {LTSA}},
	Year = {1999},
	Bdsk-Url-1 = {http://dx.doi.org/10.1145/302405.302726}}

@inproceedings{Magi12a,
	Acmid = {2384636},
	Address = {New York, NY, USA},
	Author = {Magill, Stephen and Hicks, Michael and Subramanian, Suriya and McKinley, Kathryn S.},
	Booktitle = {Proceedings of the ACM international conference on Object oriented programming systems languages and applications},
	Date-Added = {2012-11-29 08:37:08 +0000},
	Date-Modified = {2012-11-29 08:38:19 +0000},
	Doi = {10.1145/2384616.2384636},
	Isbn = {978-1-4503-1561-6},
	Keywords = {DSU; dynamic-analysis; transformation},
	Location = {Tucson, Arizona, USA},
	Numpages = {16},
	Pages = {265--280},
	Publisher = {ACM},
	Series = {OOPSLA '12},
	Title = {Automating object transformations for dynamic software updating},
	Url = {http://doi.acm.org/10.1145/2384616.2384636},
	Year = {2012},
	Bdsk-Url-1 = {http://doi.acm.org/10.1145/2384616.2384636},
	Bdsk-Url-2 = {http://dx.doi.org/10.1145/2384616.2384636}}

@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{Mahm08a,
	Abstract = {There is significant interest in the data mining and network management communities about
			the need to improve existing techniques for clustering multivariate network traffic flow
			records so that we can quickly infer underlying traffic patterns. In this paper, we
			investigate the use of clustering techniques to identify interesting traffic patterns from
			network traffic data in an efficient manner. We develop a framework to deal with mixed type
			attributes including numerical, categorical, and hierarchical attributes for a one-pass
			hierarchical clustering algorithm. We demonstrate the improved accuracy and efficiency of our
			approach in comparison to previous work on clustering network traffic.},
	Author = {Mahmood, A.N. and Leckie, C. and Udaya, P.},
	Doi = {10.1109/TKDE.2007.190725},
	Issn = {1041-4347},
	Journal = {Knowledge and Data Engineering, IEEE Transactions on},
	Keywords = {clustering scheme;data mining;hierarchical data;network management;network traffic analysis;data mining;pattern clustering;telecommunication computing;telecommunication network management;telecommunication traffic;},
	Month = jun,
	Number = {6},
	Pages = {752 -767},
	Title = {An Efficient Clustering Scheme to Exploit Hierarchical Data in Network Traffic Analysis},
	Volume = {20},
	Year = {2008},
	Bdsk-Url-1 = {http://dx.doi.org/10.1109/TKDE.2007.190725}}

@inproceedings{Maid10a,
  title={Requirements engineering as creative problem solving: A research agenda for idea finding},
  author={Maiden, Neil and Jones, Sara and Karlsen, Kristine and Neill, Roger and Zachos, Konstantinos and Milne, Alastair},
  booktitle={Requirements Engineering Conference (RE), 2010 18th IEEE International},
  pages={57--66},
  year={2010},
  organization={IEEE}
}

@inproceedings{Maid14a,
 author = {Maidl, Andr{\'e} Murbach and Mascarenhas, Fabio and Ierusalimschy, Roberto},
 title = {Typed {L}ua: An Optional Type System for {L}ua},
 booktitle = {Proceedings of the Workshop on Dynamic Languages and Applications},
 series = {Dyla'14},
 year = {2014},
 isbn = {978-1-4503-2916-3},
 location = {Edinburgh, United Kingdom},
 pages = {3:1--3:10},
 articleno = {3},
 numpages = {10},
 url = {http://doi.acm.org/10.1145/2617548.2617553},
 doi = {10.1145/2617548.2617553},
 acmid = {2617553},
 publisher = {ACM},
 address = {New York, NY, USA},
 keywords = {Lua programming language, gradual typing, optional typing, type systems}
}

@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}}

@article{Maie14a,
	title = {Reliable scalable symbolic computation: The design of {SymGridPar2}},
	journal = {Computer Languages, Systems and Structures},
	volume = {40},
	number = {1},
	pages = {19--35},
	year = {2014},
	note = {Special issue on the Programming Languages track at the 28th \{ACM\} Symposium on Applied Computing},
	issn = {1477-8424},
	doi = {10.1016/j.cl.2014.03.001},
	url = {http://www.sciencedirect.com/science/article/pii/S1477842414000049},
	author = {P. Maier and R. Stewart and P.W. Trinder}
}

@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}}

@incollection{Mair13a,
	year={2013},
	isbn={978-3-642-39030-2},
	booktitle={Software Architecture},
	volume={7957},
	series={Lecture Notes in Computer Science},
	editor={Drira, Khalil},
	doi={10.1007/978-3-642-39031-9_25},
	title={Towards Extensive Software Architecture Erosion Repairs},
	url={http://dx.doi.org/10.1007/978-3-642-39031-9_25},
	publisher={Springer Berlin Heidelberg},
	author={Mair, Matthias and Herold, Sebastian},
	pages={299-306}}

@inproceedings{Mait15a,
  title={Analysis and prediction of question topic popularity in community Q\&A sites: a case study of Quora},
  author={Maity, Suman Kalyan and Sahni, Jot Sarup Singh and Mukherjee, Animesh},
  booktitle={Ninth International AAAI Conference on Web and Social Media},
  year={2015}
}

@inproceedings{Mait17a,
  title={Language use matters: Analysis of the linguistic structure of question texts can characterize answerability in quora},
  author={Maity, Suman Kalyan and Kharb, Aman and Mukherjee, Animesh},
  booktitle={Eleventh International AAAI Conference on Web and Social Media},
  year={2017}
}

@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,
	Acmid = {1855838},
	Address = {Berkeley, CA, USA},
	Author = {Makris, Kristis and Bazzi, Rida A.},
	Booktitle = {Proceedings of the 2009 conference on USENIX Annual technical conference},
	Location = {San Diego, California},
	Numpages = {1},
	Pages = {31--31},
	Publisher = {USENIX Association},
	Series = {USENIX'09},
	Title = {Immediate multi-threaded dynamic software updates using stack reconstruction},
	Url = {http://portal.acm.org/citation.cfm?id=1855807.1855838},
	Year = {2009},
	Bdsk-Url-1 = {http://portal.acm.org/citation.cfm?id=1855807.1855838}}

@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},
	Doi = {10.1007/3-540-45102-1_17},
	Isbn = {3-540-67660-0},
	Pages = {337--361},
	Publisher = {Springer-Verlag},
	Title = {Runtime Support for Type-Safe Dynamic {Java} Classes},
	Year = {2000},
	Bdsk-Url-1 = {http://dx.doi.org/10.1007/3-540-45102-1_17}}

@article{Mala02a,
	Author = {Malaiya, Y.K. and Li, M.N. and Bieman, J.M. and Karcich, R.},
	Doi = {10.1109/TR.2002.804489},
	Issn = {0018-9529},
	Journal = {Reliability, IEEE Transactions on},
	Number = {4},
	Pages = {420-426},
	Title = {Software reliability growth with test coverage},
	Volume = {51},
	Year = {2002},
	Bdsk-Url-1 = {http://dx.doi.org/10.1109/TR.2002.804489}}

@article{Mala13a,
	Author = {Malavolta, I. and Lago, P. and Muccini, H. and Pelliccione, P. and Tang, A.},
	Doi = {10.1109/TSE.2012.74},
	Issn = {0098-5589},
	Journal = {Software Engineering, IEEE Transactions on},
	Number = {6},
	Pages = {869-891},
	Title = {What Industry Needs from Architectural Languages: A Survey},
	Volume = {39},
	Year = {2013},
	Bdsk-Url-1 = {http://dx.doi.org/10.1109/TSE.2012.74}}

@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 = {Jacques 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 = {Jaques Malenfant and M. Jacques and Fran{\c{c}}ois-Nicolas Demers},
	Booktitle = {Proceedings of Reflection},
	Title = {Compiling Static Behavioral Reflection},
	Year = {1996}}

@inproceedings{Male96b,
	Author = {Jacques Malenfant and M. Jacques and Fran{\c{c}}ois-Nicolas 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},
	Year = {1996},
	Bdsk-Url-1 = {http://www2.parc.com/csl/groups/sda/projects/reflection96/docs/malenfant/ref96/ref96.html}}

@inproceedings{Male96c,
	Author = {Jacques Malenfant and Christophe Dony and Pierre Cointe},
	Booktitle = {LISP and Symbolic Computation},
	Doi = {10.1007/BF01806111},
	Numbers = {2-3},
	Pages = {153--180},
	Title = {A Semantics of Introspection in a Reflective Prototype-Based Language},
	Volume = {9},
	Year = {1996},
	Bdsk-Url-1 = {http://dx.doi.org/10.1007/BF01806111}}

@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{Malh10a,
  title={Empirical validation of object-oriented metrics for predicting fault proneness at different severity levels using support vector machines},
  author={Malhotra, Ruchika and Kaur, Arvinder and Singh, Yogesh},
  journal={International Journal of System Assurance Engineering and Management},
  volume={1},
  number={3},
  pages={269--281},
  year={2010},
  publisher={Springer}
}

@article{Malh11a,
  title={On the applicability of machine learning techniques for object oriented software fault prediction},
  author={Malhotra, Ruchika and Singh, Yogesh},
  journal={Software Engineering: An International Journal},
  volume={1},
  number={1},
  pages={24--37},
  year={2011}
}

@article{Malh15a,
  title={A systematic review of machine learning techniques for software fault prediction},
  author={Malhotra, Ruchika},
  journal={Applied Soft Computing},
  volume={27},
  pages={504--518},
  year={2015},
  publisher={Elsevier}
}

@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{Maln09a,
	Abstract = {We analyzed the gnome family of systems with the small project observatory, our online ecosystem visualization platform. We begin by briefly introducing the model of SPO. We then observe and discuss several phases in the activity of the gnome ecosystem. We follow and look at how the contributors are distributed between writing source code and doing other activities such as internationalization. We end with a visual overview of the activity of more than 900 contributors in the 10 years of existence of gnome.},
	Author = {Lungu, Mircea and Malnati, Jacopo and Lanza, Michele},
	Booktitle = {Mining Software Repositories, 2009. MSR '09. 6th IEEE International Working Conference on},
	Keywords = {ecosystems, visualization, lungu, skip-doi},
	Medium = {2},
	Pages = {103--106},
	Peerreview = {yes},
	Title = {Visualizing Gnome with the Small Project Observatory},
	Url = {http://scg.unibe.ch/archive/papers/Maln09a-GnomeEcosystemsWithSPO.pdf},
	Year = {2009},
	Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Maln09a-GnomeEcosystemsWithSPO.pdf}}

@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,
	Acmid = {215636},
	Address = {New York, NY, USA},
	Author = {Maloney, John H. and Smith, Randall B.},
	Booktitle = {Proceedings of the 8th annual ACM symposium on User interface and software technology},
	Doi = {10.1145/215585.215636},
	Isbn = {0-89791-709-X},
	Keywords = {animation, automatic layout, direct manipulation, directness, live editing, liveness, structural reification, user interface construction, user interface frameworks},
	Location = {Pittsburgh, Pennsylvania, United States},
	Numpages = {8},
	Pages = {21--28},
	Publisher = {ACM},
	Series = {UIST '95},
	Title = {Directness and liveness in the {Morphic} user interface construction environment},
	Url = {http://selflanguage.org/documentation/published/directness.pdf},
	Year = {1995},
	Bdsk-Url-1 = {http://selflanguage.org/documentation/published/directness.pdf},
	Bdsk-Url-2 = {http://dx.doi.org/10.1145/215585.215636}}

@inproceedings{Malo04a,
	Adress = {Los Alamitos, CA, USA},
	Author = {John Maloney and Leo Burd and Yasmin Kafai and Natalie Rusk and Brian Silverman and Mitchel Resnick},
	Booktitle = {International Conference on Creating, Connecting and Collaborating through Computing},
	Doi = {10.1109/C5.2004.1314376},
	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 scg-none 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{Mama14a,
author={M. Mamani and A. Infante and A. Bergel},
booktitle={2014 33rd International Conference of the Chilean Computer Science Society (SCCC)},
title={Inti: Tracking Performance Issue Using a Compact and Effective Visualization},
year={2014},
pages={132-134},
doi={10.1109/SCCC.2014.28},
ISSN={1522-4902},
month=nov}

@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{Manc90a,
author={D. Mancl and W. Havanas},
booktitle={Proceedings. Conference on Software Maintenance 1990},
title={A study of the impact of {C}++ on software maintenance},
year={1990},
pages={63-69},
keywords={C language;object-oriented programming;software maintenance;C++ programming language;CXR;object-oriented design;object-oriented programming;software changes;software development project;software maintenance;software reuse;telephone-company central office equipment;Computer languages;Costs;Data structures;Object oriented programming;Phase measurement;Productivity;Programming profession;Software design;Software maintenance;Software systems},
doi={10.1109/ICSM.1990.131325}}

@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,
	Address = {Lisbon, Portugal},
	Author = {Mandel, Louis and Pouzet, Marc},
	Booktitle = {PPDP'05: Proceedings of the 7th International conference on Principles and Practice of Declarative Programming},
	Doi = {10.1145/1069774.1069782},
	Isbn = {1-59593-090-6},
	Keywords = {damiencbib functional programming, reactive programming, semantics},
	Month = jul,
	Pages = {82--93},
	Publisher = {ACM},
	Title = {{ReactiveML}, a Reactive Extension to {ML}},
	Year = {2005},
	Bdsk-Url-1 = {http://dx.doi.org/10.1145/1069774.1069782}}

@article{Mand05b,
	Acmid = {1065018},
	Address = {New York, NY, USA},
	Author = {Mandelin, David and Xu, Lin and Bod\'{\i}k, Rastislav and Kimelman, Doug},
	Doi = {10.1145/1064978.1065018},
	Issn = {0362-1340},
	Issue_Date = {June 2005},
	Journal = {SIGPLAN Not.},
	Keywords = {mining, program synthesis, reuse},
	Month = jun,
	Number = {6},
	Numpages = {14},
	Pages = {48--61},
	Publisher = {ACM},
	Title = {Jungloid Mining: Helping to Navigate the {API} Jungle},
	Url = {http://doi.acm.org/10.1145/1064978.1065018},
	Volume = {40},
	Year = {2005},
	Bdsk-Url-1 = {http://doi.acm.org/10.1145/1064978.1065018},
	Bdsk-Url-2 = {http://dx.doi.org/10.1145/1064978.1065018}}

@inproceedings{Mang10a,
	Author = {Mangano, Nicolas and Baker, Alex and Dempsey, Mitch and Navarro, Emily and van der Hoek, Andr{\'e}},
	Booktitle = {ASE '10: Proceedings of the IEEE/ACM international conference on Automated software engineering},
	Month = sep,
	Publisher = {ACM Request Permissions},
	Title = {{Software design sketching with calico}},
	Year = {2010}}

@article{Mani13a,
	Acmid = {2459390},
	Address = {New York, NY, USA},
	Author = {Manikas, Konstantinos and Hansen, Klaus Marius},
	Doi = {10.1016/j.jss.2012.12.026},
	Issn = {0164-1212},
	Issue_Date = {May, 2013},
	Journal = {J. Syst. Softw.},
	Keywords = {Software ecosystem, Software ecosystems, Systematic literature review},
	Month = may,
	Number = {5},
	Numpages = {13},
	Pages = {1294--1306},
	Publisher = {Elsevier Science Inc.},
	Title = {Software Ecosystems --- A Systematic Literature Review},
	Url = {http://dx.doi.org/10.1016/j.jss.2012.12.026},
	Volume = {86},
	Year = {2013},
	Bdsk-Url-1 = {http://dx.doi.org/10.1016/j.jss.2012.12.026}}

@article{Mani16a,
		title = {Revisiting software ecosystems Research: A longitudinal literature study},
		journal = {Journal of Systems and Software},
		volume = {117},
		pages = {84 - 103},
		year = {2016},
		issn = {0164-1212},
		doi = {10.1016/j.jss.2016.02.003},
		url = {http://www.sciencedirect.com/science/article/pii/S0164121216000406},
		author = {Konstantinos Manikas},
		keywords = {Software ecosystems, Longitudinal literature study, Software ecosystem maturity },
		abstract = {Software ecosystems is argued to first appear as a concept more than 10 years ago and software ecosystem research started to take off in 2010. We conduct a systematic literature study, based on the most extensive literature review in the field up to date, with two primarily aims: (a) to provide an updated overview of the field and (b) to document evolution in the field. In total, we analyze 231 papers from 2007 until 2014 and provide an overview of the research in software ecosystems. Our analysis reveals a field that is rapidly growing, both in volume and empirical focus, while becoming more mature. We identify signs of field maturity from the increase in: (i) the number of journal articles, (ii) the empirical models within the last two years, and (iii) the number of ecosystems studied. However, we note that the field is far from mature and identify a set of challenges that are preventing the field from evolving. We propose means for future research and the community to address them. Finally, our analysis shapes the view of the field having evolved outside the existing definitions of software ecosystems and thus propose the update of the definition of software ecosystems.}}

@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}}

@book{Mann08a,
	Author = {Christopher D. Manning and Prabhakar Raghavan and Hinrich Sch{\"u}tze},
	Isbn = {0521865719},
	Publisher = {Cambridge University Press},
	Title = {Introduction to Information Retrieval},
	Year = {2008}}

@incollection{Mann10,
	year={2011},
	isbn={978-3-642-19439-9},
	booktitle={Software Language Engineering},
	volume={6563},
	series={Lecture Notes in Computer Science},
	editor={Malloy, Brian and Staab, Steffen and van den Brand, Mark},
	doi={10.1007/978-3-642-19440-5_17},
	title={Debugging in Domain-Specific Modelling},
	url={http://dx.doi.org/10.1007/978-3-642-19440-5_17},
	publisher={Springer Berlin Heidelberg},
	author={Mannadiar, Raphael and Vangheluwe, Hans},
	pages={276-285},
	language={English}
}

@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}}

@article{Maoz11a,
	Acmid = {2039232},
	Address = {Secaucus, NJ, USA},
	Author = {Maoz, Shahar and Harel, David},
	Doi = {10.1007/s10270-010-0151-2},
	Issn = {1619-1366},
	Issue = {4},
	Issue_Date = {October 2011},
	Journal = {Softw. Syst. Model.},
	Keywords = {Dynamic analysis, Live sequence charts, Model-based traces, Sequence diagrams, Software visualization, UML interactions},
	Month = oct,
	Numpages = {22},
	Pages = {447--468},
	Publisher = {Springer-Verlag New York, Inc.},
	Title = {On tracing reactive systems},
	Volume = {10},
	Year = {2011},
	Bdsk-Url-1 = {http://dx.doi.org/10.1007/s10270-010-0151-2}}

@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,
	Address = {Washington, DC, USA},
	Author = {Marcus, Andrian and Maletic, Jonathan I.},
	Booktitle = {ICSE '03: Proceedings of the 25th International Conference on Software Engineering},
	Isbn = {0-7695-1877-X},
	Location = {Portland, Oregon},
	Pages = {125--135},
	Publisher = {IEEE Computer Society},
	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{Marc03d,
 author = {Marcus, Andrian and Feng, Louis and Maletic, Jonathan I.},
 title = {3D Representations for Software Visualization},
 booktitle = {Proceedings of the 2003 ACM Symposium on Software Visualization},
 series = {SoftVis '03},
 year = {2003},
 isbn = {1-58113-642-0},
 location = {San Diego, California},
 pages = {27--ff},
 url = {http://doi.acm.org/10.1145/774833.774837},
 doi = {10.1145/774833.774837},
 acmid = {774837},
 publisher = {ACM},
 address = {New York, NY, USA},
 keywords = {3D visualization, SeeSoft, file maps, software visualization}
}

@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}}

@inproceedings{Marc05d,
 author = {Marcus, Andrian and Comorski, Denise and Sergeyev, Andrey},
 title = {Supporting the Evolution of a Software Visualization Tool Through Usability Studies},
 booktitle = {Proceedings of the 13th International Workshop on Program Comprehension},
 series = {IWPC '05},
 year = {2005},
 isbn = {0-7695-2254-8},
 pages = {307--316},
 numpages = {10},
 url = {http://dx.doi.org/10.1109/WPC.2005.34},
 doi = {10.1109/WPC.2005.34},
 acmid = {1059368},
 publisher = {IEEE Computer Society},
 address = {Washington, DC, USA}
}

@article{Marc07a,
	 author = {Marceau, Guillaume and Cooper, Gregory H. and Spiro, Jonathan P. and Krishnamurthi, Shriram and Reiss, Steven P.},
	 title = {The Design and Implementation of a Dataflow Language for Scriptable Debugging},
	 journal = {Automated Software Engg.},
	 issue_date = {March 2007},
	 volume = {14},
	 number = {1},
	 month = mar,
	 year = {2007},
	 issn = {0928-8910},
	 pages = {59--86},
	 numpages = {28},
	 url = {http://dx.doi.org/10.1007/s10515-006-0003-z},
	 doi = {10.1007/s10515-006-0003-z},
	 acmid = {1265119},
	 publisher = {Kluwer Academic Publishers},
	 address = {Hingham, MA, USA},
	 keywords = {Dataflow dsl scheme, Debugging, Java, Script automation}
}

@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}}

@article{Marc08b,
	author={Marchi, Fabien De
	and Lopes, St{\'e}phane
	and Petit, Jean-Marc},
	title={Unary and n-ary inclusion dependency discovery in relational databases},
	journal={Journal of Intelligent Information Systems},
	year={2008},
	volume={32},
	number={1},
	pages={53--73},
	keywords = {schema-inference, inclusion dependencies},
	issn={1573-7675},
	doi={10.1007/s10844-007-0048-x},
	url={https://www.researchgate.net/profile/Stephane_Lopes/publication/220615937_Unary_and_n-ary_inclusion_dependency_discovery_in_relational_databases/links/09e415140a2e20d3c7000000.pdf}
}

@inproceedings{Mare12a,
	Acmid = {2162077},
	Address = {New York, NY, USA},
	Author = {Marek, Luk\'{a}\v{s} and Villaz\'{o}n, Alex and Zheng, Yudi and Ansaloni, Danilo and Binder, Walter and Qi, Zhengwei},
	Booktitle = {Proceedings of the 11th annual international conference on Aspect-oriented Software Development},
	Doi = {10.1145/2162049.2162077},
	Isbn = {978-1-4503-1092-5},
	Keywords = {JVM, aspect-oriented programming, bytecode instrumentation, dynamic program analysis},
	Location = {Potsdam, Germany},
	Numpages = {12},
	Pages = {239--250},
	Publisher = {ACM},
	Series = {AOSD '12},
	Title = {{DiSL}: a domain-specific language for bytecode instrumentation},
	Url = {http://d3s.mff.cuni.cz/publications/download/Marek-aosd12.pdf},
	Year = {2012},
	Bdsk-Url-1 = {http://d3s.mff.cuni.cz/publications/download/Marek-aosd12.pdf},
	Bdsk-Url-2 = {http://dx.doi.org/10.1145/2162049.2162077}}

@inproceedings{Mare12b,
	Author = {Marek, Luk\'{a}\v{s} and Villaz\'{o}n, Alex and Zheng, Yudi and Ansaloni, Danilo and Binder, Walter and Qi, Zhengwei},
	Booktitle = {Proceedings 10th Asian Symposium on Programming Languages and Systems},
	Keywords = {JVM, aspect-oriented programming, bytecode instrumentation, dynamic program analysis},
	Series = {APLAS '12},
	Title = {Java Bytecode Instrumentation Made Easy: The {DiSL} Framework for Dynamic Program Analysis},
	Url = {http://d3s.mff.cuni.cz/publications/download/Marek-aplas12.pdf},
	Year = {2012},
	Bdsk-Url-1 = {http://d3s.mff.cuni.cz/publications/download/Marek-aplas12.pdf}}

@article{Mare15a,
title = {Introduction to dynamic program analysis with DiSL},
journal = {Science of Computer Programming},
volume = {98},
number = {0},
pages = {100 - 115},
year = {2015},
note = {Fifth issue of Experimental Software and Toolkits (EST): A special issue on Academics Modelling with Eclipse (ACME2012)},
issn = {0167-6423},
doi = {10.1016/j.scico.2014.01.003},
url = {http://www.sciencedirect.com/science/article/pii/S0167642314000070},
author = {Luk\'as Marek and Yudi Zheng and Danilo Ansaloni and Lubom\'ir Bulej and Aibek Sarimbekov and Walter Binder and Petr Tuma},
keywords = {Dynamic program analysis},
keywords = {Bytecode instrumentation},
keywords = {Aspect-oriented programming},
keywords = {Domain-specific languages},
keywords = {Java Virtual Machine }
}

@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{Mari03a,
	Acmid = {949333},
	Address = {New York, NY, USA},
	Author = {Marinov, Darko and O'Callahan, Robert},
	Booktitle = {Proceedings of the 18th annual ACM SIGPLAN conference on Object-oriented programing, systems, languages, and applications},
	Doi = {10.1145/949305.949333},
	Isbn = {1-58113-712-5},
	Location = {Anaheim, California, USA},
	Numpages = {13},
	Pages = {313--325},
	Publisher = {ACM},
	Series = {OOPSLA '03},
	Title = {Object equality profiling},
	Url = {http://doi.acm.org/10.1145/949305.949333},
	Year = {2003},
	Bdsk-Url-1 = {http://doi.acm.org/10.1145/949305.949333},
	Bdsk-Url-2 = {http://dx.doi.org/10.1145/949305.949333}}

@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 = {scg-none 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}}

@article{Mari05c,
  title={What Motivates Programmers to Comment?},
  author={Marin, David Patrick},
  journal={Technical Report No. UCB/EECS-2005018, University of California at Berkeley},
  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},
	Doi = {10.1109/SYNASC.2006.3},
	Isbn = {0-7695-2740-X},
	Pages = {187--194},
	Publisher = {IEEE Computer Society},
	Title = {A Meta-Model for Enterprise Applications},
	Year = {2006},
	Bdsk-Url-1 = {http://dx.doi.org/10.1109/SYNASC.2006.3}}

@inproceedings{Mari06c,
	Address = {Washington, DC, USA},
	Author = {Marinescu, Cristina},
	Booktitle = {Proceedings of the 13th Working Conference on Reverse Engineering},
	Doi = {10.1109/WCRE.2006.46},
	Isbn = {0-7695-2719-1},
	Keywords = {enterprise software systems, meta-models, quality assessment},
	Numpages = {2},
	Pages = {309--310},
	Publisher = {IEEE Computer Society},
	Series = {WCRE '06},
	Title = {Quality Assessment of Enterprise Software Systems},
	Url = {http://dx.doi.org/10.1109/WCRE.2006.46},
	Year = {2006},
	Bdsk-Url-1 = {http://dx.doi.org/10.1109/WCRE.2006.46}}

@article{Mari07a,
	Author = {Marius Marin and van Deursen, Arie 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},
	Doi = {10.1109/WCRE.2007.20},
	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},
	Bdsk-Url-1 = {http://dx.doi.org/10.1109/WCRE.2007.20}}

@inproceedings{Mari07d,
	title = {An integrated crosscutting concern migration strategy and its application to {JHotDraw}},
	author = {Marin, Marius and Moonen, Leon and Deursen, Arie V},
	booktitle = {Source Code Analysis and Manipulation, 2007. SCAM 2007. Seventh IEEE International Working Conference on},
	pages = {101--110},
	year = {2007},
	organization = {IEEE}}

@inproceedings{Mari08a,
author={Mariani, L. and Pastore, F.},
booktitle={Software Reliability Engineering, 2008. ISSRE 2008. 19th International Symposium on},
title={Automated Identification of Failure Causes in System Logs},
year={2008},
month={nov},
pages={117-126},
abstract={Log files are commonly inspected by system administrators and developers to detect suspicious behaviors and diagnose failure causes. Since size of log files grows fast, thus making manual analysis impractical, different automatic techniques have been proposed to analyze log files. Unfortunately, accuracy and effectiveness of these techniques are often limited by the unstructured nature of logged messages and the variety of data that can be logged.This paper presents a technique to automatically analyze log files and retrieve important information to identify failure causes. The technique automatically identifies dependencies between events and values in logs corresponding to legal executions, generates models of legal behaviors and compares log files collected during failing executions with the generated models to detect anomalous event sequences that are presented to users. Experimental results show the effectiveness of the technique in supporting developers and testers to identify failure causes.},
keywords={software fault tolerance;system monitoring;failure causes automated identification;log files;system administrators;system logs;Databases;Event detection;Expert systems;Failure analysis;Information analysis;Inspection;Law;Legal factors;Software reliability;System testing;anomaly detection;automated analysis;k behavior;log file analysis;software debugging;software fault diagnosis;software quality;software tools},
doi={10.1109/ISSRE.2008.48},
ISSN={1071-9458}}

@inproceedings{Mari10a,
	Author = {Marinescu, R. and Ganea, G.},
	Booktitle = {Intelligent Computer Communication and Processing (ICCP), 2010 IEEE International Conference on},
	Doi = {10.1109/ICCP.2010.5606420},
	Month = aug,
	Pages = {305-312},
	Title = {{inCode.Rules}: An agile approach for defining and checking architectural constraints},
	Year = {2010},
	Bdsk-Url-1 = {http://dx.doi.org/10.1109/ICCP.2010.5606420}}

@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,
	Address = {Washington, DC, USA},
	Author = {Marr\'{e}, Martina and Bertolino, Antonia},
	Booktitle = {ICSE '96: Proceedings of the 18th international conference on Software engineering},
	Isbn = {0-8186-7246-3},
	Location = {Berlin, Germany},
	Pages = {486--494},
	Publisher = {IEEE Computer Society},
	Title = {Reducing and estimating the cost of test coverage criteria},
	Year = {1996}}

@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}}

@inproceedings{Marr12a,
author = {Marr, Stefan and D'Hondt, Theo},
title = {Identifying a Unifying Mechanism for the Implementation of Concurrency Abstractions on Multi-language Virtual Machines},
booktitle = {Proceedings of the 50th International Conference on Objects, Models, Components, Patterns},
series = {TOOLS'12},
year = {2012},
isbn = {978-3-642-30560-3},
location = {Prague, Czech Republic},
pages = {171--186},
numpages = {16},
url = {http://dx.doi.org/10.1007/978-3-642-30561-0_13},
doi = {10.1007/978-3-642-30561-0_13},
acmid = {2367001},
publisher = {Springer-Verlag},
address = {Berlin, Heidelberg},
keywords = {abstraction, concurrency, language support, parallelism, virtual machines}
}

@article{Marr13a,
	title = {Abstracting runtime heaps for program understanding},
	author = {Marron, Mark and Sanchez, Cesar and Su, Zhendong and Fahndrich, Manuel},
	journal = {Software Engineering, IEEE Transactions on},
	volume = {39},
	number = {6},
	pages = {774--786},
	year = {2013},
	publisher = {IEEE}}

@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 scg-none 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,
	Author = {James Martin},
	Journal = {New Jersey},
	Title = {Fourth Generation Languages, Volume I, Principles},
	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{Mart97a,
	Author = {Martin, John C.},
	Edition = {2nd},
	Isbn = {0070408459},
	Publisher = {McGraw-Hill Higher Education},
	Title = {Introduction to Languages and the Theory of Computation},
	Year = {1997}}

@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 C. 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}}

@book{Mart03b,
	 author = {Robert C. Martin},
	 title = {Agile Software Development: Principles, Patterns, and Practices},
	 year = {2003},
	 isbn = {0135974445},
	 publisher = {Prentice Hall PTR},
	 address = {Upper Saddle River, NJ, USA}}

@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,
	Address = {San Jose, CA, USA},
	Author = {Martin, Miquel and Nurmi, Petteri},
	Booktitle = {MobiQuitous'06: Proceedings of the 3rd International Conference on Mobile and Ubiquitous Systems: Networking \& Services},
	Doi = {10.1109/MOBIQ.2006.340388},
	Keywords = {damiencbib siafu},
	Owner = {Miquel Martin},
	Pages = {1--3},
	Publisher = {IEEE Computer Society},
	Title = {A Generic Large Scale Simulator for Ubiquitous Computing (poster)},
	Year = {2006},
	Bdsk-Url-1 = {http://dx.doi.org/10.1109/MOBIQ.2006.340388}}

@book{Mart08a,
	Address = {Upper Saddle River, NJ, USA},
	Author = {Martin, Robert C.},
	Edition = {1},
	Isbn = {0132350882, 9780132350884},
	Keywords = {p2lit},
	Publisher = {Prentice Hall PTR},
	Title = {Clean Code: A Handbook of Agile Software Craftsmanship},
	Year = {2008}}

@inproceedings{Mart11a,
  title={A genetic algorithm to configure support vector machines for predicting fault-prone components},
  author={Di Martino, Sergio and Ferrucci, Filomena and Gravino, Carmine and Sarro, Federica},
  booktitle={International Conference on Product Focused Software Process Improvement},
  pages={247--261},
  year={2011},
  organization={Springer}
}

@phdthesis{Mart12a,
  title={Application-Level Virtual Memory for Object-Oriented Systems},
  author={Martinez Peck, Mariano},
  year={2012},
  school={Universit{\'e} des Sciences et Technologie de Lille-Lille I}
}

@inproceedings{Mart13a,
	Author = {Martinez, Matias and Duchien, Laurence and Monperrus, Martin},
	Booktitle = {Proceedings of the 29th IEEE International Conference on Software Maintenance},
	Note = {ERA Track},
	Title = {Automatically Extracting Instances of Code Change Patterns with {AST} Analysis},
	Year = {2013}}

@techreport{Mart13b,
	Abstract = {ZeeGuu monitors the progress of a learner and builds a model of what parts of the vocabulary are already mastered and what parts still need to be learned. The collected data is used to generate personalized exercises to repeat newly acquired knowledge and help retain it.},
	Author = {Simon Marti},
	Institution = {University of Bern},
	Keywords = {snf-none scg-bp scg13 jb14},
	Month = aug,
	Title = {A Platform for Second Language Acquisition Through Free Reading and Repetition},
	Type = {Bachelor's thesis},
	Url = {http://scg.unibe.ch/archive/projects/Mart13b-ZeeguuPlatformForSLA.pdf},
	Year = {2013},
	Bdsk-Url-1 = {http://scg.unibe.ch/archive/projects/Mart13b-ZeeguuPlatformForSLA.pdf}}

@article{Mart13c,
	Author = {Matias Martinez and Martin Monperrus},
	Doi = {10.1007/s10664-013-9282-8},
	Journal = {Empirical Software Engineering},
	Month = sep,
	Publisher = {Springer},
	Title = {Mining Software Repair Models for Reasoning on the Search Space of Automated Program Fixing},
	Url = {http://hal.inria.fr/docs/00/90/38/08/PDF/mining-software-repair-models.pdf},
	Volume = {Online First},
	X-Abbrv = {EmSE},
	Year = {2013},
	Bdsk-Url-1 = {http://hal.inria.fr/docs/00/90/38/08/PDF/mining-software-repair-models.pdf},
	Bdsk-Url-2 = {http://dx.doi.org/10.1007/s10664-013-9282-8}}

@article{Mart13d,
  TITLE = {{Marea: An Efficient Application-Level Object Graph Swapper}},
  AUTHOR = {Martinez Peck, Mariano and Bouraqadi, Noury and Denker, Marcus and Ducasse, St{\'e}phane and Fabresse, Luc},
  URL = {https://hal.inria.fr/hal-00781129},
  JOURNAL = {{The Journal of Object Technology}},
  PUBLISHER = {{Chair of Software Engineering}},
  VOLUME = {12},
  NUMBER = {1},
  PAGES = {2:1-30},
  YEAR = {2013},
  MONTH = jan,
  DOI = {10.5381/jot.2013.12.1.a2},
  KEYWORDS = {Object Swapping ; Unused objects ; Virtual Memory},
  PDF = {https://hal.inria.fr/hal-00781129/file/Marea-JOT-CameraReady.pdf},
  HAL_ID = {hal-00781129},
  HAL_VERSION = {v1}
}

@inproceedings{Mart14a,
	title = {Feature Relations Graphs: A Visualisation Paradigm for Feature Constraints in Software Product Lines},
	author = {Martinez, Jabier and Ziadi, Tewfik and Mazo, Raul and Bissyand{\'e}, Tegawend{\'e} F and Klein, Jacques and Traon, Yves Le},
	booktitle = {Software Visualization (VISSOFT), 2014 Second IEEE Working Conference on},
	pages = {50--59},
	year = {2014},
	organization = {IEEE}
}

@inproceedings{Mart14b,
 author = {Martinez, Matias and Weimer, Westley and Monperrus, Martin},
 title = {Do the Fix Ingredients Already Exist? An Empirical Inquiry into the Redundancy Assumptions of Program Repair Approaches},
 booktitle = {Companion Proceedings of the 36th International Conference on Software Engineering},
 series = {ICSE Companion 2014},
 year = {2014},
 isbn = {978-1-4503-2768-8},
 location = {Hyderabad, India},
 pages = {492--495},
 numpages = {4},
 url = {http://doi.acm.org/10.1145/2591062.2591114},
 doi = {10.1145/2591062.2591114},
 acmid = {2591114},
 publisher = {ACM},
 address = {New York, NY, USA},
 keywords = {automatic software repair, mining software repositories}
}

@article{Mart15a,
  title={Mining software repair models for reasoning on the search space of automated program fixing},
  author={Martinez, Matias and Monperrus, Martin},
  journal={Empirical Software Engineering},
  volume={20},
  number={1},
  pages={176--205},
  year={2015},
  publisher={Springer}
}

@inproceedings{Mart15b,
  title={The app sampling problem for app store mining},
  author={Martin, William and Harman, Mark and Jia, Yue and Sarro, Federica and Zhang, Yuanyuan},
  booktitle={2015 IEEE/ACM 12th Working Conference on Mining Software Repositories},
  pages={123--133},
  year={2015},
  organization={IEEE}
}

@article{Mart15c,
  title={Causal impact analysis applied to app releases in google play and windows phone store},
  author={Martin, William and Sarro, Federica and Harman, Mark},
  journal={RN},
  volume={15},
  number={07},
  year={2015}
}

@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}}

@article{Masc13a,
	author    = {Fabio Mascarenhas, S{\'{e}}rgio Medeiros, Roberto Ierusalimschy},
	title     = {On the Relation between Context-Free Grammars and Parsing Expression Grammars},
	journal   = {CoRR},
	volume    = {abs/1304.3177},
	year      = {2013},
	url       = {http://arxiv.org/abs/1304.3177},
	timestamp = {Thu, 02 May 2013 15:54:11 +0200},
	biburl    = {http://dblp.uni-trier.de/rec/bib/journals/corr/abs-1304-3177},
	bibsource = {dblp computer science bibliography, http://dblp.org}
}

@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{Masu03a,
	Acmid = {1765937},
	Address = {Berlin, Heidelberg},
	Author = {Masuhara, H. and Kiczales, G. and Dutchyn, C.},
	Booktitle = {Proceedings of the 12th international conference on Compiler construction},
	Isbn = {3-540-00904-3},
	Location = {Warsaw, Poland},
	Numpages = {15},
	Pages = {46--60},
	Publisher = {Springer-Verlag},
	Series = {CC'03},
	Title = {A compilation and optimization model for aspect-oriented programs},
	Url = {http://dl.acm.org/citation.cfm?id=1765931.1765937},
	Year = {2003},
	Bdsk-Url-1 = {http://dl.acm.org/citation.cfm?id=1765931.1765937}}

@inproceedings{Masu12a,
 author = {Masuhara, Hidehiko and Nishiguchi, Yusuke},
 title = {A Data-parallel Extension to Ruby for GPGPU: Toward a Framework for Implementing Domain-specific Optimizations},
 booktitle = {Proceedings of the 9th ECOOP Workshop on Reflection, AOP, and Meta-Data for Software Evolution},
 series = {RAM-SE '12},
 year = {2012},
 isbn = {978-1-4503-1277-6},
 location = {Beijing, China},
 pages = {3--6},
 numpages = {4},
 url = {http://doi.acm.org/10.1145/2237887.2237888},
 doi = {10.1145/2237887.2237888},
 acmid = {2237888},
 publisher = {ACM},
 address = {New York, NY, USA},
 keywords = {Ruby, data-parallel programming, general-purpose computing on graphical processing unit (GPGPU), type inference}
}

@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{Math19a,
  title={Deep Dive into Anonymity: Large Scale Analysis of Quora Questions},
  author={Mathew, Binny and Dutt, Ritam and Maity, Suman Kalyan and Goyal, Pawan and Mukherjee, Animesh},
  booktitle={International Conference on Social Informatics},
  pages={35--49},
  year={2019},
  organization={Springer}
}

@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,
	Address = {1005 Gravenstein Highway North, Sebastopol, CA 95472},
	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}}

@article{Matt12a,
 author = {Mattsson, Anders and Fitzgerald, Brian and Lundell, Bj\"{o}rn and Lings, Brian},
 title = {An Approach for Modeling Architectural Design Rules in UML and Its Application to Embedded Software},
 journal = {ACM Trans. Softw. Eng. Methodol.},
 issue_date = {March 2012},
 volume = {21},
 number = {2},
 month = mar,
 year = {2012},
 issn = {1049-331X},
 pages = {10:1--10:29},
 articleno = {10},
 numpages = {29},
 url = {http://doi.acm.org/10.1145/2089116.2089120},
 doi = {10.1145/2089116.2089120},
 acmid = {2089120},
 publisher = {ACM},
 address = {New York, NY, USA}}

@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}}

@inproceedings{Maul08a,
	Acmid = {1368150},
	Address = {New York, NY, USA},
	Author = {Maule, Andy and Emmerich, Wolfgang and Rosenblum, David S.},
	Booktitle = {Proceedings of the 30th international conference on Software engineering},
	Doi = {10.1145/1368088.1368150},
	Isbn = {978-1-60558-079-1},
	Keywords = {impact analysis},
	Location = {Leipzig, Germany},
	Numpages = {10},
	Pages = {451--460},
	Publisher = {ACM},
	Series = {ICSE '08},
	Title = {Impact analysis of database schema changes},
	Year = {2008},
	Bdsk-Url-1 = {http://dx.doi.org/10.1145/1368088.1368150}}

@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}}

@article{Maye12a,
	Acmid = {2384666},
	Address = {New York, NY, USA},
	Author = {Mayer, Clemens and Hanenberg, Stefan and Robbes, Romain and Tanter, \'{E}ric and Stefik, Andreas},
	Doi = {10.1145/2398857.2384666},
	Issn = {0362-1340},
	Issue_Date = {October 2012},
	Journal = {SIGPLAN Not.},
	Keywords = {empirical research, programming languages, type systems},
	Month = oct,
	Number = {10},
	Numpages = {20},
	Pages = {683--702},
	Publisher = {ACM},
	Title = {An Empirical Study of the Influence of Static Type Systems on the Usability of Undocumented Software},
	Url = {http://doi.acm.org/10.1145/2398857.2384666},
	Volume = {47},
	Year = {2012},
	Bdsk-Url-1 = {http://doi.acm.org/10.1145/2398857.2384666},
	Bdsk-Url-2 = {http://dx.doi.org/10.1145/2398857.2384666}}

@article{Maye17a,
author={Mayer, Philip
and Kirsch, Michael
and Le, Minh Anh},
title={On multi-language software development, cross-language links and accompanying tools: a survey of professional software developers},
journal={Journal of Software Engineering Research and Development},
year={2017},
month=apr,
day={19},
volume={5},
number={1},
pages={1},
abstract={Non-trivial software systems are written using multiple (programming) languages, which are connected by cross-language links. The existence of such links may lead to various problems during software development. There is little empirical evidence on the incidence of these problems and the experiences of professional developers in this field.},
issn={2195-1721},
doi={10.1186/s40411-017-0035-z}
}

@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}}

@inproceedings{Mayr93a,
	Abstract = {A major portion of the software maintenance effort is spent on the reverse engineering
				activity of understanding existing software. If one can learn more about how programmers understand
				code successfully, one can build better tools to support the understanding process. This contributes
				to higher quality and improved efficiency of maintenance tasks. An integrated code comprehension
				model and experiences with it in an industrial setting are presented. Audio-taped, think-aloud
				reports were used to investigate how well the integrated code comprehension model works during
				industrial maintenance activities that range from code fixes to enhancements, code leverage, and
				reuse. The tapes were analyzed for information needs during maintenance activities, and tool
				capabilities were derived accordingly. The results are presented and discussed},
	Author = {von Mayrhauser, A. and Vans, A.M.},
	Booktitle = {Computer-Aided Software Engineering, 1993. CASE '93., Proceeding of the Sixth International Workshop on},
	Doi = {10.1109/CASE.1993.634824},
	Issn = {1066-1387},
	Keywords = {audio-taped think-aloud reports, code enhancements, code fixes, code leverage, code reuse, efficiency, industrial maintenance activities, information needs, integrated code comprehension model, quality, reverse engineering tool capabilities, software maintenance, understanding needs, computer aided software engineering, human factors, information needs, program debugging, reverse engineering, software maintenance, software reusability, software tools, dev-questions},
	Pages = {230 -239},
	Title = {From code understanding needs to reverse engineering tool capabilities},
	Year = {1993},
	Bdsk-Url-1 = {http://dx.doi.org/10.1109/CASE.1993.634824}}

@inproceedings{Mayr94a,
 author = {von Mayrhauser, A. and Vans, A. M.},
 title = {Comprehension Processes During Large Scale Maintenance},
 booktitle = {Proceedings of the 16th International Conference on Software Engineering},
 series = {ICSE '94},
 year = {1994},
 isbn = {0-8186-5855-X},
 location = {Sorrento, Italy},
 pages = {39--48},
 numpages = {10},
 url = {http://dl.acm.org/citation.cfm?id=257734.257741},
 acmid = {257741},
 publisher = {IEEE Computer Society Press},
 address = {Los Alamitos, CA, USA},
 Keywords = {dev-questions}
}

@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}}

@inproceedings{Mayr97a,
 author = {Mayrhauser, Anneliese von and Vans, A. Marie},
 title = {Program Understanding Needs During Corrective Maintenance of Large Scale Software},
 booktitle = {Proceedings of the 21st International Computer Software and Applications Conference},
 series = {COMPSAC '97},
 year = {1997},
 isbn = {0-8186-8105-5},
 pages = {630--637},
 numpages = {8},
 url = {http://dl.acm.org/citation.cfm?id=645979.675993},
 acmid = {675993},
 publisher = {IEEE Computer Society},
 address = {Washington, DC, USA},
 keywords = {corrective maintenance, information needs, large scale software, productivity, professional software maintenance engineers, program understanding needs, reverse engineering, software tool, software understanding field study, dev-questions}}

@article{Mayr97b,
 author = {von Mayrhauser, Anneliese and Vans, A. Marie and Howe, Adele E.},
 title = {Program Understanding Behaviour During Enhancement of Large-scale Software},
 journal = {Journal of Software Maintenance},
 volume = {9},
 number = {5},
 year = {1997},
 issn = {1040-550X},
 pages = {299--327},
 numpages = {29},
 url = {http://dx.doi.org/10.1002/(SICI)1096-908X(199709/10)9:5<299::AID-SMR157>3.3.CO;2-J},
 doi = {10.1002/(SICI)1096-908X(199709/10)9:5<299::AID-SMR157>3.3.CO;2-J},
 acmid = {273224},
 publisher = {John Wiley \& Sons, Inc.},
 address = {New York, NY, USA},
 keywords = {abstraction level, cross-referencing, information needs, program comprehension, software evolution, software maintenance, dev-questions}
}

@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}}

@inproceedings{Mazi14a,
 author = {Mazinanian, Davood and Tsantalis, Nikolaos and Mesbah, Ali},
 title = {Discovering Refactoring Opportunities in Cascading Style Sheets},
 booktitle = {Proceedings of the 22Nd ACM SIGSOFT International Symposium on Foundations of Software Engineering},
 series = {FSE 2014},
 year = {2014},
 isbn = {978-1-4503-3056-5},
 location = {Hong Kong, China},
 pages = {496--506},
 numpages = {11},
 url = {http://doi.acm.org/10.1145/2635868.2635879},
 doi = {10.1145/2635868.2635879},
 acmid = {2635879},
 publisher = {ACM},
 address = {New York, NY, USA},
 keywords = {Cascading style sheets, duplication, refactoring}
}

@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}}

@incollection{Mazu01a,
	Author = {Mazur, Nancy and Ross, Peter and Janssens, Gerda and Bruynooghe, Maurice},
	Booktitle = {Logic Programming},
	Doi = {10.1007/3-540-45635-X_15},
	Editor = {Codognet, Philippe},
	Isbn = {978-3-540-42935-7},
	Language = {English},
	Pages = {105-119},
	Publisher = {Springer Berlin Heidelberg},
	Series = {Lecture Notes in Computer Science},
	Title = {Practical Aspects for a Working Compile Time Garbage Collection System for Mercury},
	Volume = {2237},
	Year = {2001},
	Bdsk-Url-1 = {http://dx.doi.org/10.1007/3-540-45635-X_15}}

@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},
	Doi = {10.1007/3-540-49538-X_10},
	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},
	Bdsk-Url-1 = {http://dx.doi.org/10.1007/3-540-49538-X_10}}

@phdthesis{McAf95b,
	Author = {Jeff McAffer},
	Month = sep,
	School = {University of Tokyo},
	Title = {A Meta-level Architecture for Prototyping Object Systems},
	Type = {{Ph.D}. Thesis},
	Url = {http://www.laputan.org/pub/mcaffer/mcaffer-phd.pdf},
	Year = {1995},
	Bdsk-Url-1 = {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{McBu16a,
  author    = {Paul W. McBurney and
               Collin McMillan},
  title     = {Automatic Source Code Summarization of Context for Java Methods},
  journal   = {{IEEE} Trans. Software Eng.},
  volume    = {42},
  number    = {2},
  pages     = {103--119},
  year      = {2016},
  url       = {https://doi.org/10.1109/TSE.2015.2465386},
  doi       = {10.1109/TSE.2015.2465386},
  keywords =  {comment-quality-slr},
  timestamp = {Wed, 17 May 2017 10:56:37 +0200},
  biburl    = {https://dblp.org/rec/journals/tse/McBurneyM16.bib},
  bibsource = {dblp computer science bibliography, https://dblp.org}
}

@article{McBu16b,
  author    = {Paul W. McBurney and
               Collin McMillan},
  title     = {An empirical study of the textual similarity between source code and
               source code summaries},
  journal   = {Empir. Softw. Eng.},
  volume    = {21},
  number    = {1},
  pages     = {17--42},
  year      = {2016},
  url       = {https://doi.org/10.1007/s10664-014-9344-6},
  doi       = {10.1007/s10664-014-9344-6},
  keywords =  {comment-quality-slr},
  timestamp = {Tue, 25 Aug 2020 16:58:36 +0200},
  biburl    = {https://dblp.org/rec/journals/ese/McBurneyM16.bib},
  bibsource = {dblp computer science bibliography, https://dblp.org}
}

@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 Complexity Measure},
	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,
	Address = {San Francisco, CA, USA},
	Author = {McCabe, Thomas J.},
	Doi = {10.1109/TSE.1976.233837},
	Journal = {IEEE Transactions on Software Engineering},
	Keywords = {damiencbib metrics cyclomatic complexity},
	Month = dec,
	Number = {4},
	Pages = {308--320},
	Title = {A complexity measure},
	Volume = {SE-2},
	Year = {1976},
	Bdsk-Url-1 = {http://dx.doi.org/10.1109/TSE.1976.233837}}

@article{McCab89a,
	Address = {New York, NY, USA},
	Author = {McCabe, Thomas J. and Butler, Charles W.},
	Journal = {Commun. ACM},
	Keywords = {damiencbib},
	Number = {12},
	Pages = {1415--1425},
	Publisher = {ACM},
	Title = {Design complexity measurement and testing},
	Volume = {32},
	Year = {1989}}

@book{McCl97a,
	Author = {Carma McClure},
	Isbn = {0-13-661000-5},
	Keywords = {reuse scglib},
	Publisher = {Prentice-Hall},
	Title = {Software Reuse Techniques},
	Year = {1997}}

@book{McCo04a,
	Author = {McConnell, Steve},
	Day = {07},
	Edition = {2nd},
	Howpublished = {Paperback},
	Isbn = {0735619670},
	Month = jul,
	Publisher = {Microsoft Press},
	Title = {Code Complete: A Practical Handbook of Software Construction, Second Edition},
	Url = {http://www.amazon.com/exec/obidos/redirect?tag=citeulike07-20\&path=ASIN/0735619670},
	Year = {2004},
	Bdsk-Url-1 = {http://www.amazon.com/exec/obidos/redirect?tag=citeulike07-20%5C&path=ASIN/0735619670}}

@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,
	Address = {Washington, DC, USA},
	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},
	Doi = {10.1109/PERCOM.2005.10},
	Keywords = {damiencbib},
	Pages = {300--306},
	Publisher = {IEEE Computer Society},
	Title = {Applying a Disciplined Approach to the Development of a Context-Aware Communication Application},
	Year = {2005},
	Bdsk-Url-1 = {http://dx.doi.org/10.1109/PERCOM.2005.10}}

@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 = {Peter Naur and Brian 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},
	Bdsk-Url-1 = {http://dx.doi.org/10.1109/MSR.2010.5463341}}

@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}}

@misc{McKe09a,
	Author = {Paul E. Mckenney},
	Date-Added = {2012-01-25 10:30:02 +0100},
	Date-Modified = {2012-04-04 14:43:25 +0200},
	Howpublished = {Linux Technology Center, IBM Beaverton.},
	Keywords = {memory; concurrency;},
	Title = {Memory Barriers: a Hardware View for Software Hackers},
	Year = {2009}}

@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}}

@book{McLu64a,
	Author={Marshall McLuhan},
	Title={Understanding Media: The Extensions of Man},
	Year={1964},
	Publisher = {Mentor},
	Address = {New York}
	}

@book{McLu67a,
	Author = {Marshall McLuhan and Quentin Fiore},
	Publisher = {Penguin Books},
	Title = {The Medium is the Massage: An Inventory of Effects},
	Year = {1967}}

@inproceedings{McMa04a,
	title={A stakeholder perspective within software engineering projects},
	author={McManus, John},
	booktitle={Engineering Management Conference, 2004. Proceedings. 2004 IEEE International},
	volume={2},
	pages={880--884},
	year={2004},
	organization={IEEE}
}

@article{McMi04a,
 author = {McMinn, Phil},
 title = {Search-based Software Test Data Generation: A Survey: Research Articles},
 journal = {Softw. Test. Verif. Reliab.},
 issue_date = {June 2004},
 volume = {14},
 number = {2},
 month = jun,
 year = {2004},
 issn = {0960-0833},
 pages = {105--156},
 numpages = {52},
 url = {http://dx.doi.org/10.1002/stvr.v14:2},
 doi = {10.1002/stvr.v14:2},
 acmid = {1077279},
 publisher = {John Wiley and Sons Ltd.},
 address = {Chichester, UK},
 keywords = {automated software test data generation, evolutionary algorithms, evolutionary testing, metaheuristic search, search-based software engineering, simulated annealing}
}

@inproceedings{McMi10a,
  title={Recommending source code examples via {API} call usages and documentation},
  author={McMillan, Collin and Poshyvanyk, Denys and Grechanik, Mark},
  booktitle={Proceedings of the 2nd International Workshop on Recommendation Systems for Software Engineering},
  pages={21--25},
  year={2010}
}

@inproceedings{McMi11a,
	author={McMillan, Colin and Grechanik, Mark and Poshyvanyk, Denys and Xie, Qing and Chen Fu},
	booktitle={Software Engineering (ICSE), 2011 33rd International Conference on},
	title={Portfolio: finding relevant functions and their usage},
	year={2011},
	month=may,
	pages={111-120},
	keywords={data visualisation;information retrieval;search engines;statistical analysis;Google code search;Koders;Portfolio code search system;Portfolio function;Portfolio usage;code reuse;code search engine;function retrieval;function visualization;statistical significance;Google;Navigation;Portfolios;Search engines;Storage area networks;Visualization;code search;function call graph;pagerank;portfolio;ranking},
	doi={10.1145/1985793.1985809},
	ISSN={0270-5257}
}

@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{Mcea05a,
	Acmid = {1052915},
	Address = {New York, NY, USA},
	Author = {McEachen, Nathan and Alexander, Roger T.},
	Booktitle = {Proceedings of the 4th international conference on Aspect-oriented software development},
	Doi = {10.1145/1052898.1052915},
	Isbn = {1-59593-042-6},
	Keywords = {AspectJ, aspect interference, aspect-orientation, foreign aspects},
	Location = {Chicago, Illinois},
	Numpages = {9},
	Pages = {192--200},
	Publisher = {ACM},
	Series = {AOSD '05},
	Title = {Distributing classes with woven concerns: an exploration of potential fault scenarios},
	Year = {2005},
	Bdsk-Url-1 = {http://dx.doi.org/10.1145/1052898.1052915}}

@inproceedings{Mcin14a,
  title={The impact of code review coverage and code review participation on software quality: A case study of the qt, vtk, and itk projects},
  author={McIntosh, Shane and Kamei, Yasutaka and Adams, Bram and Hassan, Ahmed E},
  booktitle={Proceedings of the 11th Working Conference on Mining Software Repositories},
  pages={192--201},
  year={2014},
  organization={ACM}
}

@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}}

@article{Mede12a,
  title={From regexes to parsing expression grammars},
  author={Medeiros, S{\'e}rgio and Mascarenhas, Fabio and Ierusalimschy, Roberto},
  journal={Science of Computer Programming},
  year={2012},
  publisher={Elsevier}
}

@unpublished{Medi98a,
	Author = {MediaGenix},
	Note = {Poster Presentation at OOPSLA '98},
	Title = {Understanding Applications Dependencies}}

@phdthesis{Medi82a,
	Author = {Medina-Mora, Raul},
	School = {Carnegie-Mellon University},
	Title = {Syntax-directed editing : towards integrated programming environments},
	Year = {1982}
}

@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,
	Abstract = {Software architectures have the potential to substantially improve the
			development and evolution of large, complex, multi-lingual, multi-platform, long-running systems.
			However, in order to achieve this potential, specific techniques for architecture-based modeling,
			analysis, and evolution must be provided. Furthermore, one cannot fully benefit from such techniques
			unless support for mapping an architecture to an implementation also exists. This paper motivates
			and presents one such approach, which is an outgrowth of our experience with systems developed and
			evolved according to the C2 architectural style. We describe an architecture description language (ADL)
			specifically designed to support architecture-based evolution and discuss the kinds of evolution
			the language supports. We then describe a component-based environment that enables modeling, analysis,
			and evolution of architectures expressed in the ADL, as well as mapping of architectural models to an
			implementation infrastructure. The architecture of the environment itself can be evolved easily to
			support multiple ADLs, kinds of analyses, architectural styles, and implementation platforms.
			Our approach is fully reflexive: the environment can be used to describe, analyze, evolve, and
			(partially) implement itself, using the very ADL it supports. An existing architecture is used
			throughout the paper to provide illustrations and examples.},
	Address = {Los Angeles, CA, USA},
	Author = {Medvidovic, Nenad and Rosenblum, David S. and Taylor, Richard N.},
	Booktitle = {ICSE'99: Proceedings of the 21st International Conference on Software engineering},
	Doi = {10.1145/302405.302410},
	Issn = {0270-5257},
	Keywords = {damiencbib architecture c2},
	Month = may,
	Pages = {44--53},
	Publisher = {IEEE Computer Society},
	Title = {A language and environment for architecture-based software development and evolution},
	Year = {1999},
	Bdsk-Url-1 = {http://dx.doi.org/10.1145/302405.302410}}

@article{Medv00a,
	Address = {Piscataway, NJ, USA},
	Author = {Medvidovic, Nenad and Taylor, Richard N.},
	Doi = {10.1109/32.825767},
	Journal = {IEEE Transactions on Software Engineering},
	Keywords = {damiencbib architecture adl},
	Number = 1,
	Pages = {70--93},
	Publisher = {IEEE Computer Society},
	Title = {A Classification and Comparison Framework for Software Architecture Description Languages},
	Volume = 26,
	Year = {2000},
	Bdsk-Url-1 = {http://dx.doi.org/10.1109/32.825767}}

@article{Medv02a,
	Acmid = {504088},
	Address = {New York, NY, USA},
	Author = {Medvidovic, Nenad and Rosenblum, David S. and Redmiles, David F. and Robbins, Jason E.},
	Doi = {10.1145/504087.504088},
	Issn = {1049-331X},
	Issue_Date = {January 2002},
	Journal = {ACM Trans. Softw. Eng. Methodol.},
	Keywords = {C2, Object Constraint Language, Rapide, Unified Modeling Language, Wright, formal modeling, object-oriented design, software architecture},
	Month = jan,
	Number = {1},
	Numpages = {56},
	Pages = {2--57},
	Publisher = {ACM},
	Title = {Modeling software architectures in the Unified Modeling Language},
	Url = {http://doi.acm.org/10.1145/504087.504088},
	Volume = {11},
	Year = {2002},
	Bdsk-Url-1 = {http://doi.acm.org/10.1145/504087.504088},
	Bdsk-Url-2 = {http://dx.doi.org/10.1145/504087.504088}}

@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,
	Address = {Newton, MA, USA},
	Author = {Medvidovic, Nenad and Dashofy, Eric M. and Taylor, Richard N.},
	Doi = {10.1016/j.infsof.2006.08.006},
	Journal = {Information and Software Technology},
	Keywords = {adl damiencbib},
	Number = {1},
	Numpages = {20},
	Pages = {12--31},
	Publisher = {Butterworth-Heinemann},
	Title = {Moving architectural description from under the technology lamppost},
	Volume = {49},
	Year = {2007},
	Bdsk-Url-1 = {http://dx.doi.org/10.1016/j.infsof.2006.08.006}}

@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 scg-none 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{Meht97a,
 author = {Mehta, Huzefa and Owens, Robert Michael and Irwin, Mary Jane and Chen, Rita and Ghosh, Debashree},
 title = {Techniques for Low Energy Software},
 booktitle = {Proceedings of the 1997 International Symposium on Low Power Electronics and Design},
 series = {ISLPED '97},
 year = {1997},
 isbn = {0-89791-903-3},
 location = {Monterey, California, USA},
 pages = {72--75},
 numpages = {4},
 url = {http://doi.acm.org/10.1145/263272.263286},
 doi = {10.1145/263272.263286},
 acmid = {263286},
 publisher = {ACM},
 address = {New York, NY, USA}
}

@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 scg-none 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 scg-none 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 scg-none 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 scg-none 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}}

@misc{Meij01a,
	Author = {Erik Meijer and John Gough},
	Title = {Technical Overview of the Common Language Runtime},
	Url = {http://dforeman.cs.binghamton.edu/~foreman/552pages/Readings/meijer.pdf},
	Year = {2001},
	Bdsk-Url-1 = {http://dforeman.cs.binghamton.edu/~foreman/552pages/Readings/meijer.pdf}}

@inproceedings{Meij03a,
  title={Unifying tables, objects, and documents},
  author={Meijer, Erik and Schulte, Wolfram and Bierman, Gavin},
  booktitle={Workshop on Declarative Programming in the Context of Object-Oriented Languages},
  pages={145--166},
  year={2003},
  organization={Citeseer}
}

@inproceedings{Meij04a,
	Author = {Erik Meijer and Peter Drayton},
	Booktitle = {Proceedings OOPSLA Workshop On The Revival Of Dynamic Languages},
	Title = {Static typing where possible, dynamic typing when needed: The end of the cold war between programming 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}}

@inproceedings{Mein10a,
	Abstract = {Regular expression ({RE}) matching is a core component of deep packet inspection in modern networking and security devices. In this paper, we propose the first hardware-based {RE} matching approach that uses Ternary Content Addressable Memories ({TCAMs}), which are off-the-shelf chips and have been widely deployed in modern networking devices for packet classification. We propose three novel techniques to reduce {TCAM} space and improve {RE} matching speed: transition sharing, table consolidation, and variable striding. We tested our techniques on 8 real-world {RE} sets, and our results show that small {TCAMs} can be used to store large {DFAs} and achieve potentially high {RE} matching throughtput. For space, we were able to store each of the corresponding 8 {DFAs} with as many as 25,000 states in a {0.59Mb} {TCAM} chip where the number of {TCAM} bits required per {DFA} state were 12, 12, 12, 13, 14, 26, 28, and 42. Using a different {TCAM} encoding scheme that facilitates processing multiple characters per transition, we were able to achieve potential {RE} matching throughputs of between 10 and 19 Gbps for each of the 8 {DFAs} using only a single 2.36 Mb {TCAM} chip.},
	Address = {Berkeley, CA, USA},
	Author = {Meiners, Chad R. and Patel, Jignesh and Norige, Eric and Torng, Eric and Liu, Alex X.},
	Booktitle = {Proceedings of the 19th USENIX conference on Security},
	Isbn = {888-7-6666-5555-4},
	Keywords = {regex},
	Location = {Washington, DC},
	Pages = {8},
	Publisher = {USENIX Association},
	Series = {USENIX Security'10},
	Title = {Fast regular expression matching using small {TCAMs} for network intrusion detection and prevention systems},
	Url = {http://portal.acm.org/citation.cfm?id=1929831},
	Year = {2010},
	Bdsk-Url-1 = {http://portal.acm.org/citation.cfm?id=1929831}}

@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{Mela99b,
	Address = {Washington, DC, USA},
	Author = {Melab, N. and Basson, H. and Bouneffa, M. and Deruelle, L.},
	Booktitle = {Proceedings of the IEEE International Conference on Software Maintenance},
	Isbn = {0-7695-0016-1},
	Pages = {433--},
	Publisher = {IEEE Computer Society},
	Series = {ICSM '99},
	Title = {Performance of Object-Oriented Software Code: Profiling and Instrumentation},
	Url = {http://dl.acm.org/citation.cfm?id=519621.853347},
	Year = {1999},
	Bdsk-Url-1 = {http://dl.acm.org/citation.cfm?id=519621.853347}}

@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}}

@inproceedings{Melt06a,
 author = {Melton, Hayden and Tempero, Ewan},
 title = {Identifying Refactoring Opportunities by Identifying Dependency Cycles},
 booktitle = {Proceedings of the 29th Australasian Computer Science Conference - Volume 48},
 series = {ACSC '06},
 year = {2006},
 isbn = {1-920682-30-9},
 location = {Hobart, Australia},
 pages = {35--41},
 numpages = {7},
 acmid = {1151703},
 publisher = {Australian Computer Society, Inc.},
 address = {Darlinghurst, Australia, Australia}}

@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}}

@inproceedings{Melt07b,
	Author = {Melton, Hayden and Tempero, Ewan},
	Title = {Jooj: Real-Time Support For Avoiding Cyclic Dependencies},
	BookTitle = {Thirtieth Australasian Computer Science Conference (ACSC2007)},
	Editor = {Dobbie, Gillian},
	Series= {CRPIT},
	Address= {Ballarat Australia},
	Publisher = {ACS},
	Volume = {62},
	Pages = {87-95},
	Year = {2007}}

@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,
	Acmid = {503244},
	Address = {New York, NY, USA},
	Author = {Memon, Atif M. and Soffa, Mary Lou and Pollack, Martha E.},
	Booktitle = {Proceedings of the 8th European software engineering conference held jointly with 9th ACM SIGSOFT international symposium on Foundations of software engineering},
	Doi = {10.1145/503209.503244},
	Isbn = {1-58113-390-1},
	Keywords = {GUI test coverage, GUI testing, component testing, event-based coverage, event-flow graph, integration tree},
	Location = {Vienna, Austria},
	Numpages = {12},
	Pages = {256--267},
	Publisher = {ACM},
	Series = {ESEC/FSE-9},
	Title = {Coverage criteria for GUI testing},
	Year = {2001},
	Bdsk-Url-1 = {http://dx.doi.org/10.1145/503209.503244}}

@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}}

@inproceedings{Mend09a,
	Acmid = {1640002},
	Address = {New York, NY, USA},
	Author = {Mendonca, Marcilio and Branco, Moises and Cowan, Donald},
	Booktitle = {Proceedings of the 24th ACM SIGPLAN conference companion on Object oriented programming systems languages and applications},
	Doi = {10.1145/1639950.1640002},
	Isbn = {978-1-60558-768-4},
	Keywords = {automated reasoning, feature model automated analysis, feature models, interactive configuration, software product lines},
	Location = {Orlando, Florida, USA},
	Numpages = {2},
	Pages = {761--762},
	Publisher = {ACM},
	Series = {OOPSLA '09},
	Title = {S.P.L.O.T.: software product lines online tools},
	Url = {http://doi.acm.org/10.1145/1639950.1640002},
	Year = {2009},
	Bdsk-Url-1 = {http://doi.acm.org/10.1145/1639950.1640002},
	Bdsk-Url-2 = {http://dx.doi.org/10.1145/1639950.1640002}}

@inproceedings{Mend09b,
	Acmid = {1540448},
	Address = {New York, NY, USA},
	Articleno = {7},
	Author = {Mende, Thilo and Koschke, Rainer},
	Booktitle = {Proceedings of the 5th International Conference on Predictor Models in Software Engineering},
	Doi = {10.1145/1540438.1540448},
	Isbn = {978-1-60558-634-2},
	Keywords = {cost-sensitive performance measures, defect prediction},
	Location = {Vancouver, British Columbia, Canada},
	Numpages = {10},
	Pages = {7:1--7:10},
	Publisher = {ACM},
	Series = {PROMISE '09},
	Title = {Revisiting the Evaluation of Defect Prediction Models},
	Url = {http://doi.acm.org/10.1145/1540438.1540448},
	Year = {2009},
	Bdsk-Url-1 = {http://doi.acm.org/10.1145/1540438.1540448},
	Bdsk-Url-2 = {http://dx.doi.org/10.1145/1540438.1540448}}

 @inproceedings{Mend10a,
 author = {Mende, Thilo and Koschke, Rainer},
 title = {Effort-Aware Defect Prediction Models},
 booktitle = {Proceedings of the 2010 14th European Conference on Software Maintenance and Reengineering},
 series = {CSMR '10},
 year = {2010},
 isbn = {978-0-7695-4321-5},
 pages = {107--116},
 numpages = {10},
 url = {http://dx.doi.org/10.1109/CSMR.2010.18},
 doi = {10.1109/CSMR.2010.18},
 acmid = {1955974},
 publisher = {IEEE Computer Society},
 address = {Washington, DC, USA},
 keywords = {Defect Prediction Models, Evaluation, Cost-Benefits}
}

@inproceedings{Mend10b,
  title={Replication of defect prediction studies: problems, pitfalls and recommendations},
  author={Mende, Thilo},
  booktitle={Proceedings of the 6th International Conference on Predictive Models in Software Engineering},
  pages={5},
  year={2010},
  organization={ACM}
}

@inproceedings{Mend13a,
  title={Empirical evidence of large-scale diversity in {API} usage of object-oriented software},
  author={Mendez, Diego and Baudry, Benoit and Monperrus, Martin},
  booktitle={Source Code Analysis and Manipulation (SCAM), 2013 IEEE 13th International Working Conference on},
  pages={43--52},
  year={2013},
  organization={IEEE}
}

@techreport{Mend18a,
	Title = {Visualising Objects in {Pharo}},
	Author = {Eve Mendoza Quiros},
	Abstract = {Object inspection in the Pharo IDE is currently focused on the
	individual object. The inspection of inter-object relationships is
	possible in a very limited way, making object set inspection difficult.
	Understanding the relationship between objects and sets of objects is an
	important debugging aid and facilitates proper code analysis. In order to
	efficiently understand code, a visualization of data structures in an
	interactive graph helps programmers get a thorough conceptual overview.
	This can save time during debugging as well as code analysis and
	maintenance. In this thesis a tool is presented that facilitates the
	visualization of object sets in a graph, in Pharo. The tool highlights the
	relationships between objects while also conveying important information
	about each individual object. The strengths of this framework are, first
	subgraphs persist over different graph renderings, making the comparison
	of similar sets easy and effectively presenting the set evolution. Second
	the interactive graph and ability to customize the visualization makes it
	more understandable and useful to the user. By using this tool in Pharo
	interesting visualizations can be created since Pharo's mantra is
	everything is an object, therefore we can also make graphs containing
	classes as elements and show the relationships between different classes.
	The tool facilitates node customization, giving the user the possibility
	to mold the visualization to fit their needs. For each object an
	individual node representation can be created. In this thesis we present a
	node customization for linked lists and for abstract syntax trees. Overall
	the tool is very intuitive and supports program understanding and
	debugging.},
	Institution = {University of Bern},
	Keywords = {scg-bp snf-18 scg18 jb18},
	Type = {Bachelor's thesis},
	Url = {http://scg.unibe.ch/archive/projects/Mend18a.pdf},
	Month = jun,
	Year = {2018}
}

@inproceedings{Mene08a,
	Acmid = {1453106},
	Address = {New York, NY, USA},
	Author = {Meneely, Andrew and Williams, Laurie and Snipes, Will and Osborne, Jason},
	Booktitle = {Proceedings of the 16th ACM SIGSOFT International Symposium on Foundations of Software Engineering},
	Doi = {10.1145/1453101.1453106},
	Isbn = {978-1-59593-995-1},
	Keywords = {developer network, failure prediction, logistic regression, negative binomial regression, social network analysis},
	Location = {Atlanta, Georgia},
	Numpages = {11},
	Pages = {13--23},
	Publisher = {ACM},
	Series = {SIGSOFT '08/FSE-16},
	Title = {Predicting Failures with Developer Networks and Social Network Analysis},
	Url = {http://doi.acm.org/10.1145/1453101.1453106},
	Year = {2008},
	Bdsk-Url-1 = {http://doi.acm.org/10.1145/1453101.1453106},
	Bdsk-Url-2 = {http://dx.doi.org/10.1145/1453101.1453106}}

@inproceedings{Meng11,
 author = {Meng, Na and Kim, Miryung and McKinley, Kathryn S.},
 title = {Sydit: Creating and Applying a Program Transformation from an Example},
 booktitle = {Proceedings of the 19th ACM SIGSOFT Symposium and the 13th European Conference on Foundations of Software Engineering},
 series = {ESEC/FSE '11},
 year = {2011},
 isbn = {978-1-4503-0443-6},
 location = {Szeged, Hungary},
 pages = {440--443},
 numpages = {4},
 url = {http://doi.acm.org/10.1145/2025113.2025185},
 doi = {10.1145/2025113.2025185},
 acmid = {2025185},
 publisher = {ACM},
 address = {New York, NY, USA},
 keywords = {program differencing, program transformation, software evolution}
}

@inproceedings{Meng13,
 author = {Meng, Na and Kim, Miryung and McKinley, Kathryn S.},
 title = {LASE: Locating and Applying Systematic Edits by Learning from Examples},
 booktitle = {Proceedings of the 2013 International Conference on Software Engineering},
 series = {ICSE '13},
 year = {2013},
 isbn = {978-1-4673-3076-3},
 location = {San Francisco, CA, USA},
 pages = {502--511},
 numpages = {10},
 url = {http://dl.acm.org/citation.cfm?id=2486788.2486855},
 acmid = {2486855},
 publisher = {IEEE Press},
 address = {Piscataway, NJ, USA}
}

@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 = {ftp://prog.vub.ac.be/tech_report/2000/vub-prog-phd-00-02.pdf},
	Year = {2000},
	Bdsk-Url-1 = {ftp://prog.vub.ac.be/tech_report/2000/vub-prog-phd-00-02.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 scg-none 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 scg-none 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 scg-none 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},
	Doi = {10.1145/568760.568812},
	Keywords = {crosscutting concerns, logic metaprogramming, modularisation, software maintenance and evolution, validation and verification},
	Pages = {289--296},
	Publisher = {ACM Press},
	Title = {Maintaining software through intentional source-code views},
	Year = {2002},
	Bdsk-Url-1 = {http://dx.doi.org/10.1145/568760.568812}}

@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 scg-none 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,
	Address = {Piscataway, NJ, USA},
	Author = {Mens, Tom and Tourw\'{e}, Tom},
	Doi = {10.1109/TSE.2004.1265817},
	Issn = {0098-5589},
	Issue = {2},
	Journal = {IEEE Transactions on Software Engineering},
	Keywords = {Coding tools and techniques, programming environments/construction tools, restructuring, reverse engineering, and reengineering.},
	Month = feb,
	Numpages = {14},
	Pages = {126--139},
	Publisher = {IEEE Press},
	Title = {A Survey of Software Refactoring},
	Url = {http://dl.acm.org/citation.cfm?id=972215.972286},
	Volume = {30},
	Year = {2004},
	Bdsk-Url-1 = {http://dl.acm.org/citation.cfm?id=972215.972286},
	Bdsk-Url-2 = {http://dx.doi.org/10.1109/TSE.2004.1265817}}

@inproceedings{Mens05a,
	Acceptnum = {13},
	Accepttotal = {54},
	Address = {Lisbon, Portugal},
	Aeres = {ACT},
	Aeresstatus = {aeres08},
	Annote = {internationalworkshop},
	Author = {Mens, Tom and Wermelinger, Michel and Ducasse, St\'ephane and Demeyer, Serge and Hirschfeld, Robert and Jazayeri, Mehdi},
	Booktitle = {IWPSE'05: Proceedings of the 8th International Workshop on Principles of Software Evolution},
	Inria = {hors},
	Keywords = {stefPub scgPub},
	Misc = {acceptance rate: 13/54 = 24\%},
	Month = sep,
	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}}

@inproceedings{Mens06c,
	Author = {Kim Mens and Andy Kellens},
	Booktitle = {Software Maintenance and Reengineering, 2006. CSMR 2006. Proceedings of the 10th European Conference on},
	Doi = {10.1109/CSMR.2006.29},
	Issn = {1052-8725},
	Keywords = {IntensiVE toolsuite;Smalltalk application;software system;structural source-code regularity checking;structural source-code regularity documentation;software maintenance;software metrics;software tools;system documentation;},
	Month = {mar},
	Pages = {10 pp. -248},
	Title = {{IntensiVE}, a toolsuite for documenting and checking structural source-code regularities},
	Url = {http://soft.vub.ac.be/Publications/2006/vub-prog-tr-06-01.pdf},
	Year = {2006},
	Bdsk-Url-1 = {http://soft.vub.ac.be/Publications/2006/vub-prog-tr-06-01.pdf},
	Bdsk-Url-2 = {http://dx.doi.org/10.1109/CSMR.2006.29}}

@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,
	Doi = {10.1007/978-3-540-76440-3},
	Editor = {Tom Mens and Serge Demeyer},
	Isbn = {978-3-540-76439-7},
	Publisher = {Springer},
	Title = {Software Evolution},
	Year = {2008},
	Bdsk-Url-1 = {http://dx.doi.org/10.1007/978-3-540-76440-3}}

@inbook{Mens08c,
	Author = {Jean-Luc Hainaut and Anthony Cleve and Jean Henrard and Jean-Marc Hick},
	Chapter = {6: Migration of Legacy Information Systems},
	Publisher = {Springer},
	Title = {Software Evolution},
	Year = {2008}}

@incollection{Mens13a,
	Author = {Tom Mens and Mathieu Goeminne},
	Title = {Analysing ecosystems for open source software developer communities},
	Editor = {S. Jansen and M. Cusumano and S. Brinkkemper},
	Booktitle = {Software Ecosystems: Analyzing and Managing Business Networks in the Software Industry},
	Publisher = {Edward Elgar Publishers},
	Year= {2013}
}

@article{Menz00a,
  title={When to test less},
  author={Menzies, Tim and Cukic, Bojan},
  journal={IEEE Software},
  volume={17},
  number={5},
  pages={107--112},
  year={2000},
  publisher={IEEE}
}

@article{Menz07a,
	Author = {Menzies, T. and Greenwald, J. and Frank, A.},
	Doi = {10.1109/TSE.2007.256941},
	Issn = {0098-5589},
	Journal = {Software Engineering, IEEE Transactions on},
	Keywords = {Art;Artificial intelligence;Bayesian methods;Data mining;Financial management;Learning systems;Software quality;Software systems;Software testing;System testing;Data mining detect prediction;Halstead;McCabe;artifical intelligence;empirical;naive Bayes.},
	Month = jan,
	Number = {1},
	Pages = {2-13},
	Title = {Data Mining Static Code Attributes to Learn Defect Predictors},
	Volume = {33},
	Year = {2007},
	Bdsk-Url-1 = {http://dx.doi.org/10.1109/TSE.2007.256941}}

@article{Menz07b,
 author={Menzies, T. and Dekhtyar, A and Distefano, J. and Greenwald, J.},
 journal={Software Engineering, IEEE Transactions on},
 title={Problems with Precision: A Response to ``Comments on `Data Mining Static Code Attributes to Learn Defect Predictors'''},
 year={2007},
 month=sep,
 volume={33},
 number={9},
 pages={637-640},
 keywords={data mining;data mining static code attributes;defect predictors;Accuracy;Data mining;Detectors;Equations;NASA;Performance evaluation;Predictive models;Project management;Software engineering;Testing},
 doi={10.1109/TSE.2007.70721},
 ISSN={0098-5589}
 }

@article{Menz10a,
	Acmid = {1842517},
	Address = {Hingham, MA, USA},
	Author = {Menzies, Tim and Milton, Zach and Turhan, Burak and Cukic, Bojan and Jiang, Yue and Bener, Ay\c{s}e},
	Doi = {10.1007/s10515-010-0069-5},
	Issn = {0928-8910},
	Issue_Date = {December 2010},
	Journal = {Automated Software Engg.},
	Keywords = {Defect prediction, Static code features, WHICH},
	Month = dec,
	Number = {4},
	Numpages = {33},
	Pages = {375--407},
	Publisher = {Kluwer Academic Publishers},
	Title = {Defect Prediction from Static Code Features: Current Results, Limitations, New Approaches},
	Url = {http://dx.doi.org/10.1007/s10515-010-0069-5},
	Volume = {17},
	Year = {2010},
	Bdsk-Url-1 = {http://dx.doi.org/10.1007/s10515-010-0069-5}}

@inproceedings{Menz11a,
	Author = {Tim Menzies and Christian Bird and Thomas Zimmermann and Wolfram Schulte and Ekrem Kocaganeli},
	Booktitle = {Proceedings of the International Workshop on Machine Learning Technologies in Sofware Engineering},
	Keywords = {analytics inductive industry},
	Publisher = {ACM},
	Title = {The Inductive Software Engineering Manifesto: Principles for Industrial Data Mining},
	Year = {2011}}

@misc{Menz12a,
  title={Special issue on repeatable results in software engineering prediction},
  author={Menzies, Tim and Shepperd, Martin},
  year={2012},
  publisher={Springer}
}

@article{Menz13a,
  title={Software analytics: so what?},
  author={Menzies, Tim and Zimmermann, Thomas},
  journal={IEEE Software},
  volume={30},
  number={4},
  pages={31--37},
  year={2013},
  publisher={IEEE}
}

@book{Menz16a,
  title={Perspectives on Data Science for Software Engineering},
  author={Menzies, Tim and Zimmermann, Thomas},
  year={2016},
  publisher={Elsevier},
  isbn = {978-0-12-804206-9}
}

@inproceedings{Merc08a,
	Address = {Nashville, TN, USA},
	Author = {Mercadal, Julien and Palix, Nicolas and Consel, Charles and Lawall, Julia},
	Booktitle = {GPCE'08: Proceedings of the 7th International Conference on Generative Programming and Component Engineering},
	Doi = {10.1145/1449913.1449936},
	Keywords = {pantaxou generation programming-framework damiencbib telephony},
	Pages = {149--160},
	Publisher = {ACM Press},
	Title = {Pantaxou: A Domain-Specific Language for Developing Safe Coordination Services},
	Year = {2008},
	Bdsk-Url-1 = {http://dx.doi.org/10.1145/1449913.1449936}}

@inproceedings{Merc10a,
	Address = {Reno/Tahoe, NV, USA},
	Author = {Mercadal, Julien and Enard, Quentin and Consel, Charles and Loriant, Nicolas},
	Booktitle = {OOPSLA'10: Proceedings of the 25th International Conference on Object Oriented Programming Systems Languages and Applications},
	Doi = {10.1145/1869459.1869465},
	Keywords = {damiencbib diaspec},
	Month = oct,
	Pages = {47--61},
	Publisher = {ACM},
	Title = {A Domain-Specific Approach to Architecturing Error Handling in Pervasive Computing},
	Year = {2010},
	Bdsk-Url-1 = {http://dx.doi.org/10.1145/1869459.1869465}}

@inproceedings{Meri14a,
	Annote = {internationalworkshop},
	Abstract = {Software developers often ask questions about software systems and software ecosystems
				that entail exploration and navigation, such as who uses this component?,
				and where is this feature implemented?. Software visualisation can be a
				great aid to understanding and exploring the answers to such questions,
				but visualisations require expertise to implement effectively, and they
				do not always scale well to large systems. We propose to automatically
				generate software visualisations based on software models derived from open
				source software corpora and from an analysis of the properties of typical
				developers queries and commonly used visualisations. The key challenges we
				see are (1) understanding how to match queries to suitable visualisations,
				and (2) scaling visualisations effectively to very large software systems
				and corpora. In the paper we motivate the idea of automatic software
				visualisation, we enumerate the challenges and our proposals to address them,
				and we describe some very initial results in our attempts to develop scalable
				visualisations of open source software corpora.},
	Author = {Merino, Leonel},
	Booktitle = {SATToSE'14: Pre-Proceedings of the 7th International Seminar Series on Advanced Techniques \& Tools for Software Evolution},
	Keywords = {scg-pub snf-asa1 skip-doi visualisations merino scg14 jb14},
	PeerReview = {yes},
	Medium = {1},
	Month = jul,
	Pages = {71--74},
	Title = {Adaptable Visualisation Based On User Needs},
	Year = {2014},
	Url = {http://scg.unibe.ch/archive/papers/Meri14a.pdf},
	Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Meri14a.pdf}}

@inproceedings{Meri15a,
	Annote = {internationalworkshop},
        Abstract = {Visualisation provides good support for software analysis. It copes with
        the intangible nature of software by providing concrete representations of it. By
        reducing the complexity of software, visualisations are especially useful when
        dealing with large amounts of code. One domain that usually deals with large amounts
        of source code data is empirical analysis. Although there are many tools for
        analysis and visualisation, they do not cope well software corpora. In this paper we
        present Explora, an infrastructure that is specifically targeted at visualising
        corpora. We report on early results when conducting a sample analysis on Smalltalk
        and Java corpora.},
    Author = {Leonel Merino and Mircea Lungu and Oscar Nierstrasz},
    Booktitle = {SATToSE'14: Post-Proceedings of the 7th International Seminar Series on Advanced Techniques \& Tools for Software Evolution},
	Publisher = {{CEUR} Workshop Proceedings (CEUR-WS.org)},
	Volume = {1354},
	PeerReview = {yes},
	Medium = {1},
        Keywords = {scg-pub skip-doi visualisations merino scg15 jb15 snf-asa1},
	Title = {Explora: Infrastructure for Scaling Up Software Visualisation to Corpora},
    Year = {2015},
    Url = {http://scg.unibe.ch/archive/papers/Meri15a.pdf},
	Note = {http://ceur-ws.org/Vol-1354/},
    Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Meri15a.pdf}}

@inproceedings{Meri15b,
	Author    = {Leonel Merino and Mircea Lungu and Oscar Nierstrasz},
	Title     = {Explora: A Visualisation Tool for Metric Analysis of Software Corpora},
	Booktitle = {{VISSOFT}'15: Proceedings of the 3rd IEEE Working Conference on Software Visualization},
	Abstract  = {When analysing software metrics, users find that
			visualisation tools lack support for (1) the detection of patterns
			within metrics; and (2) enabling analysis of software corpora.
			In this paper we present Explora, a visualisation tool designed
			for the simultaneous analysis of multiple metrics of systems
			in software corpora. Explora incorporates a novel lightweight
			visualisation technique called PolyGrid that promotes the detection
			of graphical patterns. We present an example where we
			analyse the relation of subtype polymorphism with inheritance
			and invocation in corpora of Smalltalk and Java systems and
			find that (1) subtype polymorphism is more likely to be found
			in large hierarchies; (2) as class hierarchies grow horizontally,
			they also do so vertically; and (3) in polymorphic hierarchies the
			length of the name of the classes is orthogonal to the cardinality
			of the call sites.},
	Annote 	  = {internationalconference},
	Publisher = {IEEE},
	PeerReview = {yes},
	Medium    = {2},
	Keywords  = {scg-pub snf-asa1 scg15 jb16},
	Pages     = {195--199},
	Doi	  = {10.1109/VISSOFT.2015.7332436},
	Year      = {2015},
	Url       = {http://scg.unibe.ch/archive/papers/Meri15b.pdf}}

@inproceedings{Meri16a,
        Author    = {Leonel Merino and Mohammad Ghafari and Oscar Nierstrasz},
        Title     = {Towards Actionable Visualisation in Software Development},
        Booktitle = {{VISSOFT}'16: Proceedings of the 4th IEEE Working Conference on Software Visualization},
        Abstract  = {Although abundant studies have shown how visualisation can help software developers to perform their daily tasks, visualisation is still not a common practice since developers have little support for adopting a proper visualisation for their needs.
In this paper we review the 346 papers published in SOFTVIS/VISSOFT venues and identify 65 design study papers that describe how visualisation is used to alleviate various difficulties in software development. We classify these studies into several problem domains that we collected from the research on software development community, and highlight the characteristics of each study. On the one hand, we support software developers to put visualisation in action by mapping existing techniques to particular needs in various problem domains. On the other hand, we help researchers in the field by exposing domains with little visualisation support. We found a disconnect between the problem domains on which visualisation have focused and the domains that get the most attention from practitioners.},
        Annote    = {internationalconference},
        Publisher = {IEEE},
        PeerReview = {yes},
        Medium    = {2},
        Keywords  = {scg-pub snf-asa2 scg16 jb17},
        Doi       = {10.1109/VISSOFT.2016.10},
        Year      = {2016},
        Url       = {http://scg.unibe.ch/archive/papers/Meri16a.pdf}}

@inproceedings{Meri16b,
        Annote	= {internationalworkshop},
        Author	= {Leonel Merino and Dominik Seliner and Mohammad Ghafari and Oscar Nierstrasz},
        Booktitle = {Proceedings of International Workshop on Smalltalk Technologies (IWST 2016)},
        Abstract = {Understanding the network of collaborations, identifying the key players, potential future collaborators, and trends in the field are very important to carry out a project successfully. In this paper, we present CommunityExplorer, a visualization framework that facilitates presenting, exploring, and understanding the network of collaborations at once. The framework performs data extraction, parsing, and modeling automatically. It is easy to adopt and utilizes a bigraph visualization that scales well. We demonstrate the advantage of CommunityExplorer to identify the collaboration of authors on 346 and 104 research papers published in SOTFVIS/VISSOFT and IWST communities respectively. We found that even though SOFTVIS/VISSOFT has more contributors, IWST exhibits more collaboration. We discovered that contributors in IWST are more resilient than those in SOFTVIS/VISSOFT, which are more volatile. Moreover, collaboration in IWST is concentrated in a single large group, while in SOFTVIS/VISSOFT it is spread among many tiny groups and a few medium-sized ones.},
	Keywords = {scg-pub snf-asa2 scg16 jb16},
        Peerreview = {yes},
        Title	= {{CommunityExplorer}: A Framework for Visualizing Collaboration Networks},
        Pages = {2:1--2:9},
        Year	= {2016},
        Medium	= {4},
	Doi     = {10.1145/2991041.2991043},
	Url	= {http://scg.unibe.ch/archive/papers/Meri16b.pdf}}

@inproceedings{Meri16c,
        Author    = {Leonel Merino and Mohammad Ghafari and Oscar Nierstrasz and Alexandre Bergel and Juraj Kubelka},
        Title     = {{MetaVis}: Exploring Actionable Visualization},
        Booktitle = {{VISSOFT}'16: Proceedings of the 4th IEEE Working Conference on Software Visualization},
        Abstract  = {Software visualization can be very useful for answering complex questions that arise in the software development process. Although modern visualization engines offer expressive APIs for building such visualizations, developers often have difficulties to (1) identify a suitable visualization technique to answer their particular development question, and to (2) implement that visualization using the existing APIs. Examples that illustrate the usage of an engine to build concrete visualizations offer a good starting point, but developers may have to traverse long lists of categories and analyze examples one-by-one to find a suitable one.
We propose MetaVis, a tool that fills the gap between existing visualization techniques and their practical applications during software development. We classify questions frequently formulated by software developers and for each, based on our expertise, identify suitable visualizations. MetaVis uses tags mined from these questions to offer a tag-iconic cloud-based visualization. Each tag links to suitable visualizations that developers can explore, modify and try out. We present initial results of an implementation of MetaVis in the Pharo programming environment. The tool visualizes 76 developers' questions assigned to 49 visualization examples.},
        Annote    = {internationalconference},
        Publisher = {IEEE},
        PeerReview = {yes},
        Medium    = {2},
        Keywords  = {scg-pub snf-asa2 scg16 jb17},
        Doi       = {10.1109/VISSOFT.2016.19},
        Year      = {2016},
        Url       = {http://scg.unibe.ch/archive/papers/Meri16c.pdf}}

@article{Meri17a,
        author = {Leonel Merino and Mohammad Ghafari and Oscar Nierstrasz},
        title = {Towards Actionable Visualization for Software Developers},
	Annote = {internationaljournal},
        journal = {Journal of Software: Evolution and Process},
		volume = {30},
		number = {2},
		issn = {2047-7481},
        PeerReview = {yes},
        Medium = {2},
        url = {http://scg.unibe.ch/archive/papers/Meri17a.pdf},
        doi = {10.1002/smr.1923},
		pages = {e1923--n/a},
        keywords = {scg-pub snf-asa2 scg18 jb18},
        year = {2017},
        abstract = {Abundant studies have shown that visualization is advantageous for software developers, yet adopting visualization during software development is not a common practice due to the large effort involved in finding an appropriate visualization. Developers require support to facilitate that task. Among 368 papers in SOFTVIS/VISSOFT venues, we identify 86 design study papers about the application of visualization to relieve concerns in software development. We extract from these studies the task, need, audience, data source, representation, medium and tool; and we characterize them according to the subject, process and problem domain. On the one hand, we support software developers to put visualization in action by mapping existing visualization techniques to particular needs from different perspectives. On the other hand, we highlight the problem domains that are overlooked in the field and need more support.}}

@inproceedings{Meri17b,
        Author    = {Leonel Merino and Johannes Fuchs and Michael Blumenschein and Craig Anslow and Mohammad Ghafari and Oscar Nierstrasz and Michael Behrisch and Daniel Keim},
        Title     = {On the Impact of the Medium in the Effectiveness of {3D} Software Visualization},
        Booktitle = {{VISSOFT}'17: Proceedings of the 5th IEEE Working Conference on Software Visualization},
        Abstract  = {Many visualizations have proven to be effective in supporting various software related tasks. Although multiple media can be used to display a visualization, the standard computer screen is used the most. We hypothesize that the medium has a role in their effectiveness. We investigate our hypotheses by conducting a controlled user experiment. In the experiment we focus on the 3D city visualization technique used for software comprehension tasks. We deploy 3D city visualizations across a standard computer screen (SCS), an immersive 3D environment (I3D), and a physical 3D printed model (P3D). We asked twenty-seven participants (whom we divided in three groups for each medium) to visualize software systems of various sizes, solve a set of uniform comprehension tasks, and complete a questionnaire. We measured the effectiveness of visualizations in terms of performance, recollection, and user experience. We found that even though developers using P3D required the least time to identify outliers, they perceived the least difficulty when visualizing systems based on SCS. Moreover, developers using I3D obtained the highest recollection.},
	Annote = {internationaljournal},
	Medium = {2},
        Keywords  = {scg-pub snf-asa2 scg17 jb18},
	Pages = {11--21},
        Doi = {10.1109/VISSOFT.2017.17},
        Publisher = {IEEE},
        PeerReview = {yes},
        Year      = {2017},
        Url       = {http://scg.unibe.ch/archive/papers/Meri17b.pdf}}

@inproceedings{Meri17c,
        Author    = {Leonel Merino and Mohammad Ghafari and Craig Anslow and Oscar Nierstrasz},
        Title     = {{CityVR}: Gameful Software Visualization},
        Booktitle = {{ICSME}'17: Proceedings of the 33rd IEEE International Conference on Software Maintenance and Evolution (TD Track)},
    Annote    = {internationalconference},
        Abstract  = {Gamification of software engineering tasks improve developer engagement, but has been limited to mechanisms such as points and badges. We believe that a tool that provides developers an interface analogous to computer games can represent the gamification of software engineering tasks more effectively via software visualization. We introduce CityVR -an interactive software visualization tool that implements the city metaphor technique using virtual reality in an immersive 3D environment medium to boost developer engagement in software comprehension tasks. We evaluated our tool with a case study based on ArgoUML. We measured engagement in terms of feelings, interaction, and time perception. We report on how our design choices relate to developer engagement. We found that developers i) felt curious, immersed, in control, excited, and challenged, ii) spent considerable interaction time navigating and selecting elements, and iii) perceived that time passed faster than in reality, and therefore were willing to spend more time using the tool to solve software engineering tasks.},
        Publisher = {IEEE},
        PeerReview = {yes},
        Medium = {2},
        Keywords  = {scg-pub snf-asa2 scg17 jb18},
	Pages = {633--637},
        Doi = {10.1109/ICSME.2017.70},
        Year      = {2017},
        Url       = {http://scg.unibe.ch/archive/papers/Meri17c.pdf}}

@article{Meri18a,
	title = {A Systematic Literature Review of Software Visualization Evaluation},
	journal = {Journal of Systems and Software},
	volume = {144},
	pages = {165-180},
	year = {2018},
	month = oct,
	issn = {0164-1212},
	doi = {10.1016/j.jss.2018.06.027},
	Annote = {internationaljournal},
	url = {http://scg.unibe.ch/archive/papers/Meri18a.pdf},
	author = {Leonel Merino and Mohammad Ghafari and Craig Anslow and Oscar Nierstrasz},
	keywords = {scg-pub snf-asa2 scg18 jb18},
	abstract = {Abstract Context: Software visualizations can help
		developers to analyze multiple aspects of complex software systems, but
		their effectiveness is often uncertain due to the lack of evaluation
		guidelines. Objective: We identify common problems in the evaluation of
		software visualizations with the goal of formulating guidelines to
		improve future evaluations. Method: We review the complete literature
		body of 387 full papers published in the SOFTVIS/VISSOFT conferences, and
		study 181 of those from which we could extract evaluation strategies,
		data collection methods, and other aspects of the evaluation. Results: Of
		the proposed software visualization approaches, 62% lack a strong
		evaluation. We argue that an effective software visualization should not
		only boost time and correctness but also recollection, usability,
		engagement, and other emotions. Conclusion: We call on researchers
		proposing new software visualizations to provide evidence of their
		effectiveness by conducting thorough (i) case studies for approaches that
		must be studied in situ, and when variables can be controlled, (ii)
		experiments with randomly selected participants of the target audience
		and real-world open source software systems to promote reproducibility
		and replicability. We present guidelines to increase the evidence of the
		effectiveness of software visualization approaches, thus improving their
		adoption rate.}
}

@phdthesis{Meri18b,
	Abstract = {Although abundant studies have shown how visualization can help software developers to understand software systems, visualization is still not a common practice since developers (i) have little support to find a proper visualization for their needs, and once they find a suitable visualization tool, they (ii) are unsure of its effectiveness. We aim to offer support for identifying proper visualizations, and to increase the effectiveness of visualization techniques.
In this dissertation, we characterize proposed software visualizations. To fill the gap between proposed visualizations and their practical application, we encapsulate such characteristics in an ontology, and propose a meta-visualization approach to find suitable visualizations. Amongst others characteristics of software visualizations, we identify that the medium used to display them can be a means to increase the effectiveness of visualization techniques for particular comprehension tasks. We implement visualization prototypes and validate our thesis via experiments.
We found that even though developers using a physical 3D model medium required the least time to deal with tasks that involve identifying outliers, they perceived the least difficulty when visualizing systems based on the standard computer screen medium. Moreover, developers using immersive virtual reality obtained the highest recollection.
We conclude that the effectiveness of software visualizations that use the city metaphor to support comprehension tasks can be increased when city visualizations are rendered in an appropriate medium. Furthermore, that visualization of software visualizations can be a suitable means for exploring their multiple characteristics that can be properly encapsulated in an ontology.},
	Author = {Leonel Merino},
	Keywords = {scg-phd snf-asa2 scg18 jb18},
	Month = jun,
	PeerReview = {yes},
	Medium = {2},
	School = {University of Bern},
	Title = {The Medium of Visualization for Software Comprehension},
	Type = {{PhD} thesis},
	Url = {http://scg.unibe.ch/archive/phd/merino-phd.pdf},
	Year = {2018},
	Bdsk-Url-1 = {http://scg.unibe.ch/archive/phd/merino-phd.pdf}
}

@inproceedings{Meri18c,
    Author    = {Leonel Merino and Alexandre Bergel and Oscar Nierstrasz},
    Title     = {Overcoming Issues of {3D} Software Visualization through Immersive Augmented Reality},
    Booktitle = {{VISSOFT}'18: Proceedings of the 6th IEEE Working Conference on Software Visualization},
    Abstract  = {Several usability issues (i.e., navigation, occlusion, selection, and text readability) affect the few 3D visualizations proposed to support developers on software engineering tasks. We observe that most 3D software visualizations are displayed on a standard computer screen, and hypothesize that displaying them in immersive augmented reality can help to (i) overcome usability issues of 3D visualizations, and (ii) increase their effectiveness to support software concerns. We investigate our hypothesis via a controlled experiment. In it, nine participants use 3D city visualizations displayed on a Microsoft HoloLens device to complete a set of software comprehension tasks. We further investigate our conjectures through an observational user study, in which the same participants of the experiment use a space-time cube visualization to analyze program executions. We collect data to (1) quantitatively analyze the effectiveness of visualizations in terms of user performance (i.e., completion time, correctness, and recollection), and user experience (i.e., difficulty, and emotions); and (2) qualitatively analyze how immersive augmented reality helps to overcome the limitations of 3D visualizations. We found that immersive augmented reality facilitates navigation and reduces occlusion, while performance is adequate, and developers obtain an outstanding experience. Selection and text readability still remain open issues.},
    Annote    = {internationalconference},
    Keywords  = {scg-pub snf-asa2 scg18 jb19},
    Publisher = {IEEE},
    PeerReview = {yes},
	Medium = {2},
    Year      = {2018},
	Doi       = {10.1109/VISSOFT.2018.00014},
	Pages     = {54--64},
    Url       = {http://scg.unibe.ch/archive/papers/Meri18c.pdf}}

@inproceedings{Meri19a,
 author = {Merino, Leonel and Hess, Mario and Bergel, Alexandre and Nierstrasz, Oscar and Weiskopf, Daniel},
 title = {{PerfVis}: Pervasive Visualization in Immersive Augmented Reality for Performance Awareness},
 abstract = {Developers are usually unaware of the impact of code changes
	to the performance of software systems. Although developers
	can analyze the performance of a system by executing, for
	instance, a performance test to compare the performance of two
	consecutive versions of the system, changing from a
	programming task to a testing task would disrupt the
	development flow. In this paper, we propose the use of a city
	visualization that dynamically provides developers with a
	pervasive view of the continuous performance of a system. We
	use an immersive augmented reality device (Microsoft HoloLens)
	to display our visualization and extend the integrated
	development environment on a computer screen to use the
	physical space. We report on technical details of the design
	and implementation of our visualization tool, and discuss
	early feedback that we collected of its usability. Our
	investigation explores a new visual metaphor to support the
	exploration and analysis of possibly very large and
	multidimensional performance data. Our initial result
	indicates that the city metaphor can be adequate to analyze
	dynamic performance data on a large and non-trivial software
	system.},
 booktitle = {Companion of the 2019 ACM/SPEC International Conference on Performance Engineering},
 series = {ICPE '19},
 year = {2019},
 isbn = {978-1-4503-6286-3},
 location = {Mumbai, India},
 pages = {13--16},
 numpages = {4},
 Url = {http://scg.unibe.ch/archive/papers/Meri19a-perfvis.pdf},
 doi = {10.1145/3302541.3313104},
    PeerReview = {yes},
	Medium = {2},
   Annote    = {internationalconference},
 acmid = {3313104},
 publisher = {ACM},
 address = {New York, NY, USA},
 keywords = {scg-pub jb19 scg19 snf-asa3 performance engineering, software visualization}
}

@inproceedings{Meri19b,
    Author    = {Leonel Merino and Ekaterina Kozlova and Oscar Nierstrasz and Daniel Weiskopf},
    Title     = {{VISON}: An Ontology-Based Approach for Software Visualization Tool Discoverability},
    Booktitle = {{VISSOFT}'19: Proceedings of the 7th IEEE Working Conference on Software Visualization},
    Abstract  = {Although many tools have been presented in the research
		literature of software visualization, there is little
		evidence of their adoption. To choose a suitable
		visualization tool, practitioners need to analyze various
		characteristics of tools such as their supported software
		concerns and level of maturity. Indeed, some of such
		tools can be prototypes for which the lifespan is
		expected to be short, whereas some other tools can be
		fairly mature products that are maintained for a longer
		time. Although such characteristics are often described
		in papers, we conjecture that practitioners willing to
		adopt software visualizations require additional support
		to discover suitable visualization tools. In this paper,
		we elaborate on our efforts to provide such support. To
		this end, we systematically analyzed research papers in
		the literature of software visualization and curated a
		catalog of 70 available tools that employ various
		visualization techniques to support the analysis of
		multiple software concerns. We further encapsulate these
		characteristics in an ontology. VISON, our software
		visualization ontology, captures these semantics as
		concepts and relationships. We report on early results of
		usage scenarios that demonstrate how the ontology can
		support (i) developers to find suitable tools for
		particular development concerns, and (ii) researchers who
		propose new software visualization tools to identify a
		baseline tool for a controlled experiment.},
    Annote    = {internationalconference},
	DOI = {10.1109/VISSOFT.2019.00014},
    Url = {http://scg.unibe.ch/archive/papers/Meri19b-vison.pdf},
    Keywords  = {scg-pub snf-asa3 scg19 jb20},
    Publisher = {IEEE},
    PeerReview = {yes},
	Medium = {2},
    Year = {2019}
}

@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}}

@book{Mess03a,
	Address = {Cambridge, MA, USA},
	Author = {Messerschmitt, David G. and Szyperski, Clemens},
	Isbn = {0262134322},
	Publisher = {MIT Press},
	Title = {Software Ecosystem: Understanding an Indispensable Technology and Industry},
	Year = {2003}}

@book{Mess05a,
	Author = {Messerschmitt, David G. and Szyperski, Clemens},
	Keywords = {software ecosystems},
	Publisher = {{The MIT Press}},
	Title = {{Software Ecosystem: Understanding an Indispensable Technology and Industry}},
	Url = {http://www.worldcat.org/isbn/0262633310},
	Year = {2005},
	Bdsk-Url-1 = {http://www.worldcat.org/isbn/0262633310}}

@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 scg-none 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 scg-none 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}}

@book{Metz03a,
  author       = {Metzger, R. C.},
  title        = {Debugging by Thinking: A Multidisciplinary Approach},
  year         = {2003},
  series       = {HP Technologies},
  publisher    = {Elsevier Science},
  isbn         = {9780080503813},
  url          = {https://books.google.ch/books?id=pBBntXutheYC}
}

@inproceedings{Metz05a,
	Acmid = {1081729},
	Address = {New York, NY, USA},
	Author = {Metz, Edu and Lencevicius, Raimondas and Gonzalez, Teofilo F.},
	Booktitle = {Proceedings of the 10th European software engineering conference held jointly with 13th ACM SIGSOFT international symposium on Foundations of software engineering},
	Doi = {10.1145/1081706.1081729},
	Isbn = {1-59593-014-0},
	Keywords = {profiling, sampling, tracing},
	Location = {Lisbon, Portugal},
	Numpages = {10},
	Pages = {126--135},
	Publisher = {ACM},
	Series = {ESEC/FSE-13},
	Title = {Performance data collection using a hybrid approach},
	Url = {http://doi.acm.org/10.1145/1081706.1081729},
	Year = {2005},
	Bdsk-Url-1 = {http://doi.acm.org/10.1145/1081706.1081729},
	Bdsk-Url-2 = {http://dx.doi.org/10.1145/1081706.1081729}}

@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,
	Address = {Upper Saddle River, NJ, USA},
	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 scg-none 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 scg-none jb07 fb06 mooseCincom norex06 moose-pub sde-visualization},
	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 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 scg-none 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},
	Issn = {0001-0782},
	Journal = {Commun. ACM},
	Keywords = {cacm},
	Number = {4},
	Pages = {31--34},
	Publisher = {ACM},
	Title = {Viewpoint Research evaluation for computer science},
	Url = {http://doi.acm.org/10.1145/1498765.1498780 http://www.informatics-europe.org/docs/research-eval.php},
	Volume = {52},
	Year = {2009},
	Bdsk-Url-1 = {http://dx.doi.org/10.1145/1498765.1498780}}

@book{Meye09b,
	Author = {Meyer, Bertrand},
	Edition = {1},
	Isbn = {3540921443, 9783540921448},
	Publisher = {Springer Publishing Company, Incorporated},
	Title = {Touch of Class: Learning to Program Well with Objects and Contracts},
	Year = {2009}}

@inproceedings{Meye14a,
 author = {Meyer, Andr{\'e} N. and Fritz, Thomas and Murphy, Gail C. and Zimmermann, Thomas},
 title = {Software Developers' Perceptions of Productivity},
 booktitle = {Proceedings of the 22Nd ACM SIGSOFT International Symposium on Foundations of Software Engineering},
 series = {FSE 2014},
 year = {2014},
 isbn = {978-1-4503-3056-5},
 location = {Hong Kong, China},
 pages = {19--29},
 numpages = {11},
 url = {http://doi.acm.org/10.1145/2635868.2635892},
 doi = {10.1145/2635868.2635892},
 acmid = {2635892},
 publisher = {ACM},
 address = {New York, NY, USA},
 keywords = {goal setting, productivity, retrospection}
}

@article{Meye17a,
  title={The work life of developers: Activities, switches and perceived productivity},
  author={Meyer, Andre N and Barton, Laura E and Murphy, Gail C and Zimmermann, Thomas and Fritz, Thomas},
  journal={IEEE Transactions on Software Engineering},
  volume={43},
  number={12},
  pages={1178--1193},
  year={2017},
  publisher={IEEE}
}

@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{MiQi16a,
  title={Measuring the stylistic inconsistency in software projects using hierarchical agglomerative clustering},
  author={Mi, Qing and Keung, Jacky and Yu, Yang},
  booktitle={Proceedings of the The 12th International Conference on Predictive Models and Data Analytics in Software Engineering},
  pages={1--10},
  year={2016}
}

@inproceedings{Mian08a,
	Acmid = {1416541},
	Address = {Stevens Point, Wisconsin, USA},
	Author = {Mian, Natash Ali and Hussain, Tauqeer},
	Booktitle = {Proceedings of the 7th WSEAS International Conference on Software Engineering, Parallel and Distributed Systems},
	Isbn = {978-960-6766-42-8},
	Keywords = {CASE tools, EER model, ER model, conceptual schema, database reverse engineering},
	Location = {Cambridge, UK},
	Numpages = {6},
	Pages = {206--211},
	Publisher = {World Scientific and Engineering Academy and Society (WSEAS)},
	Series = {SEPADS'08},
	Title = {Database reverse engineering tools},
	Url = {http://dl.acm.org/citation.cfm?id=1416502.1416541},
	Year = {2008},
	Bdsk-Url-1 = {http://dl.acm.org/citation.cfm?id=1416502.1416541}}

@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}}

@article{Mich01c,
	author = {Michael, C. C. and McGraw, G. and Schatz, M. A.},
	title = {Generating Software Test Data by Evolution},
	journal = {IEEE Trans. Softw. Eng.},
	issue_date = {December 2001},
	volume = {27},
	number = {12},
	month = dec,
	year = {2001},
	issn = {0098-5589},
	pages = {1085--1110},
	numpages = {26},
	url = {http://dx.doi.org/10.1109/32.988709},
	doi = {10.1109/32.988709},
	acmid = {631259},
	publisher = {IEEE Press},
	address = {Piscataway, NJ, USA},
	keywords = {Software testing, automatic test case generation, code coverage, genetic algorithms, combinatorial optimization}
}

@misc{Mich03a,
	Author = {Linda G. DeMichiel},
	Keywords = {JavaBeans},
	Month = nov,
	Organization = {Sun Microsystems},
	Title = {Enterprise {JavaBeans} specification, Version 2.1},
	Year = {2003}}

@inproceedings{Mich04a,
	Author = {Michael Salib},
	Booktitle = {in PyCon Proceedings, Washington DC},
	Pages = {2--26},
	Publisher = {SpringerVerlag},
	Title = {Faster than {C}: Static type inference with {Starkiller}},
	Year = {2004}}

@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}}

@incollection{Mich07a,
	year={2007},
	isbn={978-3-540-74608-9},
	booktitle={Logic Programming},
	volume={4670},
	series={Lecture Notes in Computer Science},
	editor={Dahl, Veronica and Niemela, Ilkka},
	doi={10.1007/978-3-540-74610-2_5},
	title={Multi-paradigm Declarative Languages},
	url={http://dx.doi.org/10.1007/978-3-540-74610-2_5},
	publisher={Springer Berlin Heidelberg},
	author={Hanus, Michael},
	pages={45-75},
	language={English}}

@article{Mich10a,
	Affiliation = {Division of Psychology, Nottingham Trent University, Burton Street, Nottingham, NG1 4BU UK},
	Author = {Michaelides, George and Thomson, Chris and Wood, Stephen},
	Doi = {10.1007/s10664-010-9130-z},
	Issn = {1382-3256},
	Issue = {6},
	Journal = {Empirical Software Engineering},
	Keyword = {xp adherence, shodan survey},
	Pages = {599-617},
	Publisher = {Springer Netherlands},
	Title = {Measuring fidelity to extreme programming: a psychometric approach},
	Volume = {15},
	Year = {2010},
	Bdsk-Url-1 = {http://dx.doi.org/10.1007/s10664-010-9130-z}}

@misc{Micr10a,
	Author = {Microsoft},
	Key = {Microsoft},
	Month = mar,
	Note = {http://www.microsoft.com/VisualStudio},
	Title = {Microsoft Visual Studio},
	Year = {2010}}

@misc{MicrXXa,
	Author = {Microsoft},
	Date-Added = {2012-09-14 07:09:02 +0000},
	Date-Modified = {2012-09-14 07:58:36 +0000},
	Keywords = {vm; proxy},
	Title = {Microsoft .NET Dynamic Language Runtime},
	Url = {http://dlr.codeplex.com/},
	Bdsk-Url-1 = {http://dlr.codeplex.com/}}

@article{Midd10a,
	Author = {Peter Middleton and David Joyce},
	Doi = {10.1109/TEM.2010.2081675},
	Issn = {0018-9391},
	Journal = {Engineering Management, IEEE Transactions on},
	Keywords = {kanban},
	Number = {99},
	Pages = {1-13},
	Title = {Lean Software Management: {BBC} Worldwide Case Study},
	Url = {http://leanandkanban.files.wordpress.com/2011/04/lean-software-management-bbc-worldwide-case-study-feb-2011.pdf},
	Volume = {PP},
	Year = {2011},
	Bdsk-Url-1 = {http://leanandkanban.files.wordpress.com/2011/04/lean-software-management-bbc-worldwide-case-study-feb-2011.pdf},
	Bdsk-Url-2 = {http://dx.doi.org/10.1109/TEM.2010.2081675}}

@article{Midh97a,
  title={Software configuration management for the 21st century},
  author={Midha, Anil K},
  journal={Bell Labs Technical Journal},
  volume={2},
  number={1},
  pages={154--165},
  year={1997},
  publisher={Alcatel-Lucent}
}

@inproceedings{Migh10a,
	Abstract = {Low-level program analysis is a fundamental problem, taking the shape of
		"flow analysis" in functional languages and "points-to" analysis in imperative
        and object-oriented languages. Despite the similarities, the vocabulary and
        results in the two communities remain largely distinct, with limited
        cross-understanding. One of the few links is Shivers's k-CFA work, which has
        advanced the concept of "context-sensitive analysis" and is widely known in both
        communities. Recent results indicate that the relationship between the
        functional and object-oriented incarnations of k-CFA is not as well understood
        as thought. Van Horn and Mairson proved k-CFA for k >= 1 to be EXPTIME-complete;
        hence, no polynomial-time algorithm can exist. Yet, there are several
        polynomial-time formulations of context-sensitive points-to analyses in
        object-oriented languages. Thus, it seems that functional k-CFA may actually be
        a profoundly different analysis from object-oriented k-CFA. We resolve this
        paradox by showing that the exact same specification of k-CFA is polynomial-time
        for object-oriented languages yet exponential-time for functional ones: objects
        and closures are subtly different, in a way that interacts crucially with
        context-sensitivity and complexity. This illumination leads to an immediate
        payoff: by projecting the object-oriented treatment of objects onto closures, we
        derive a polynomial-time hierarchy of context-sensitive CFAs for functional
        programs.},
	Author = {Matthew Might, Yannis Smaragdakis, David Van Horn},
	Booktitle = {PLDI},
	Doi = {10.1145/1806596.1806631},
	Isbn = {9781450300193},
	Keywords = {control-flow analysis, functional, k-cfa, m-cfa, pointer analysis, static analysis},
	Mendeley-Tags = {k-cfa},
	Pages = {305--315},
	Title = {Resolving and Exploiting the {k-CFA} Paradox},
	Url = {http://matt.might.net/papers/might2010mcfa.pdf},
	Year = {2010},
	Bdsk-Url-1 = {http://matt.might.net/papers/might2010mcfa.pdf},
	Bdsk-Url-2 = {http://dx.doi.org/10.1145/1806596.1806631}}

@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{Miha11a,
	title = {Type-preserving heap profiler for C++},
	author = {Mihalicza, J{\'o}zsef and Porkol{\'a}b, Zolt{\'a}n and Gabor, Abel},
	booktitle = {Software Maintenance (ICSM), 2011 27th IEEE International Conference on},
	pages = {457--466},
	year = {2011},
	organization = {IEEE}}

@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{Mile94a,
	Author = {Miles, Matthew B. and Huberman, Michael},
	Edition = {2nd},
	Howpublished = {Paperback},
	Isbn = {0803955405},
	Keywords = {case, method, methodology, qualitative},
	Posted-At = {2010-03-31 03:08:38},
	Publisher = {Sage Publications, Inc},
	Title = {{Qualitative Data Analysis: An Expanded Sourcebook(2nd Edition)}},
	Year = {1994}}

@inproceedings{Mile09a,
	Acmid = {1595821},
	Address = {New York, NY, USA},
	Annote = {internationalconference},
	Author = {Mileva, Yana Momchilova and Dallmeier, Valentin and Burger, Martin and Zeller, Andreas},
	Booktitle = {Proceedings of the joint international and annual ERCIM workshops on Principles of software evolution (IWPSE) and software evolution (Evol) workshops},
	Doi = {10.1145/1595808.1595821},
	Isbn = {978-1-60558-678-6},
	Keywords = {sde-ecosystems, global usage trends, library versions usage, mining software archives},
	Location = {Amsterdam, The Netherlands},
	Numpages = {6},
	Pages = {57--62},
	Peerreview = {yes},
	Publisher = {ACM},
	Series = {IWPSE-Evol '09},
	Title = {Mining trends of library usage},
	Year = {2009},
	Bdsk-Url-1 = {http://dx.doi.org/10.1145/1595808.1595821}}

@inproceedings{Mile10a,
	Acmid = {1885952},
	Address = {Berlin, Heidelberg},
	Author = {Mileva, Yana Momchilova and Dallmeier, Valentin and Zeller, Andreas},
	Booktitle = {Proceedings of the 5th International Academic and Industrial Conference on Testing - Practice and Research Techniques},
	Isbn = {3-642-15584-7, 978-3-642-15584-0},
	Location = {Windsor, UK},
	Numpages = {8},
	Pages = {173--180},
	Publisher = {Springer-Verlag},
	Series = {TAIC PART'10},
	Title = {Mining API Popularity},
	Url = {http://dl.acm.org/citation.cfm?id=1885930.1885952},
	Year = {2010},
	Bdsk-Url-1 = {http://dl.acm.org/citation.cfm?id=1885930.1885952}}

@inproceedings{Mile11a,
	Author = {Yana Mileva and Andrzej Wasylkowski and Andreas Zeller},
	Booktitle = {Proceedings of the 25th European Conference on Object-Oriented Programming (ECOOP'11)},
	Location = {Lankaster, UK},
	Month = jul,
	Pages = {105--129},
	Title = {Mining Evolution of Object Usage},
	Year = {2011}}

@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}}

@article{Mill03c,
  title={On Schema Discovery},
  author={Miller, Ren{\'e}e J and Andritsos, Periklis},
  journal={Data Engineering},
  volume={51},
  pages={39},
  year={2003},
  keywords = {schema-inference},
  url = {http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.9.6526&rep=rep1&type=pdf}
}

@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},
	Url = {http://e-drexler.com/d/06/00/robust_composition.pdf},
	Year = {2006},
	Bdsk-Url-1 = {http://e-drexler.com/d/06/00/robust_composition.pdf}}

@misc{Mill12a,
  title={Universal {Methods} of {Design}: 100 Ways to Research Complex Problems, Develop Innovative Ideas, and Design Effective Solutions},
  author={Miller, Elisa},
  year={2012},
  publisher={JSTOR}
}

@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}}

@techreport{Miln01a,
  title={Bigraphical reactive systems: basic theory},
  author={Milner, Robin},
  year={2001},
  institution={University of Cambridge, Computer Laboratory},
  url={https://www.cl.cam.ac.uk/techreports/UCAM-CL-TR-523.pdf},
  keywords={hypergraphs, bigraphs}
}

@inproceedings{Miln03a,
  title={Bigraphs for Petri nets},
  author={Milner, Robin},
  booktitle={Advanced Course on Petri Nets},
  pages={686--701},
  year={2003},
  doi={10.1007/978-3-540-27755-2_19},
  organization={Springer},
  keywords={hypergraphs, bigraphs}
}

@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}}

@inproceedings{Milo14a,
	Annote = {internationalworkshop},
	Abstract = {Polymorphism, along with inheritance, is one of the most important
		features in object-oriented languages, but it is also one of the biggest
		obstacles to source code comprehension. Depending on the run-time type of the
		receiver of a message, any one of a number of possible methods may be invoked.
		Several algorithms for creating accurate call-graphs using static analysis
		already exist, however, they consume significant time and memory resources. We
		propose an approach that will combine static and dynamic analysis and yield the
		best possible precision with a minimal trade-off between used resources and
		accuracy.},
	Author = {Milojkovi\'{c}, Nevena},
	Booktitle = {SATToSE'14: Pre-Proceedings of the 7th International Seminar Series on Advanced Techniques \& Tools for Software Evolution},
	PeerReview = {yes},
	Medium = {1},
	Keywords = {scg-pub snf-asa1 skip-doi dynamic analysis scg14 jb14 Milojkovic Milojkovi\'{c}},
	Month = jul,
	Pages = {54--55},
	Title = {Towards cheap, accurate polymorphism detection},
	Year = {2014},
	Url = {http://scg.unibe.ch/archive/papers/Milo14a.pdf},
	Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Milo14a.pdf}}

@inproceedings{Milo15a,
	Abstract = {Subtype polymorphism is a cornerstone of object-oriented programming. By
	hiding variability in behavior behind a uniform interface, polymorphism
	decouples clients from providers and thus enables genericity, modularity and extensi-
	bility. At the same time, however, it scatters the implementation of the behavior over
	multiple classes thus potentially hampering program comprehension. The extent to which
	polymorphism is used in real programs and the impact of polymorphism on program
	comprehension are not very well understood. We report on a preliminary study of the
	prevalence of polymorphism in several hundred open source software systems written in
	Smalltalk, one of the oldest object-oriented programming languages, and in Java, one of
	the most widespread ones. Although a large portion of the call sites in these systems are
	polymorphic, a majority have a small number of potential candidates. Smalltalk uses
	polymorphism to a much greater extent than Java. We discuss how these findings can be used
	as input for more detailed studies in program comprehension and for better developer
	support in the IDE.},
	Author = {Nevena Milojkovi\'{c} and Andrea Caracciolo and Mircea Lungu and Oscar Nierstrasz and David R\"{o}thlisberger and Romain Robbes},
	Booktitle = {Proceedings of the 2015 IEEE 23rd International Conference on Program Comprehension},
	location = {Florence, Italy},
	Issn = {1063-6897},
	Keywords = {scg-pub snf-asa1 scg15 jb15 Milojkovic Milojkovi\'{c}},
	Medium = {2},
	Pages = {186--195},
	numpages = {10},
	Peerreview = {yes},
	Title = {Polymorphism in the Spotlight: Studying its Prevalence in {Java} and {Smalltalk}},
	Note = {Published},
	Year = {2015},
	Publisher = {IEEE Press},
	doi={10.1109/ICPC.2015.29},
	Url = {http://scg.unibe.ch/archive/papers/Milo15a.pdf}
}

@inproceedings{Milo16a,
	Abstract = {Dynamically typed languages allow developers to write more expressive source code, but their lack of static information about types of variables is one of the main
obstacles during program comprehension and maintenance. Static type information reduces the complexity of a program.
Most of the type inference algorithms suffer from the problem of false positives or negatives. Complex approaches are required to avoid this problem.
We propose a simple heuristic that uses easily accessible run-time information about the usage of each class as a receiver type for a message send. This frequency serves as a proxy for the likelihood that a variable belongs to that class at run time and is used to promote the correct type towards the top of the list of possible types for a variable.
Our evaluation of a proof-of-concept prototype implemented in Pharo Smalltalk shows that our heuristic is reason- ably precise to detect both library and project-related types on average in 65.92% to 82.83% of cases.},
	Annote = {internationalworkshop},
	Author = {Nevena Milojkovi\'{c} and Cl\'ement B\'era and Mohammad Ghafari and Oscar Nierstrasz},
	Booktitle = {Proceedings of International Workshop on Smalltalk Technologies (IWST 2016)},
	Keywords = {scg-pub snf-asa2 scg16 jb16 Milojkovic},
	PeerReview = {yes},
	Pages = {6:1--6:11},
	Title = {Inferring Types by Mining Class Usage Frequency from Inline Caches},
	Year = {2016},
	DOI = {10.1145/2991041.2991047},
	Medium = {4},
	Url = {http://scg.unibe.ch/archive/papers/Milo16a.pdf}
}

@inproceedings{Milo16b,
	Abstract = {Although dynamically typed languages allow developers to be more productive in writing source code, their lack of information about types of variables is one of the main obstacles during program comprehension. Static type information helps developers to decrease software maintenance time.
Inferring the types of variables requires complex algorithms in order to avoid false positives or negatives. Their main aim is to shorten the list of possible types for a variable.
We have developed a couple of cheap heuristics that use easily accessible information about the presence of each class in the available source code to promote the correct type towards the top of the list of possible types for a variable.
Our evaluation of a proof-of-concept prototype, implemented in Pharo Smalltalk, shows that both for domain- specific types and standard libraries these heuristics tend to work well. The evaluated heuristics prove to be reasonably precise, promoting the correct types of a variable towards the top of the list in 50.67% up to 89.09% of cases on average, depending on the applied heuristic. The heuristic that has proven to be the best was compared with one existing type inference algorithm and the best heuristic yields significantly better results with less effort.},
	Annote = {internationalconference},
	Author = {Nevena Milojkovi\'{c} and Oscar Nierstrasz},
	Booktitle = {Proceedings of the 2016 ACM International Symposium on New Ideas, New Paradigms, and Reflections on Programming and Software, Onward! 2016},
    Annote    = {internationalconference},
	Keywords = {scg-pub snf-asa2 scg16 jb17 Milojkovic},
	PeerReview = {yes},
	Title = {Exploring Cheap Type Inference Heuristics in Dynamically Typed Languages},
    	doi = {10.1145/2986012.2986017},
	isbn = {978-1-4503-4076-2},
	location = {Amsterdam, Netherlands},
	pages = {43--56},
	publisher = {ACM},
	address = {New York, NY, USA},
	Year = {2016},
	Medium = {2},
	Url = {http://scg.unibe.ch/archive/papers/Milo16b.pdf}
	}

@inproceedings{Milo17a,
	Author = {Nevena Milojkovi\'{c} and Mohammad Ghafari and Oscar Nierstrasz},
	abstract = {The lack of static type information is one of the main obstacles to program comprehension in dynamically-typed languages. While static type inference algorithms try to remedy this problem, they usually suffer from the problem of false positives or false negatives.
In order to partially compensate for the lack of static type information, a common practice in dynamically-typed languages is to name or annotate method arguments in such a way that they reveal their expected type, e.g., aString, anInt, or string: String. Recent studies confirmed that these type annotations are indeed frequently used by developers in dynamically-typed languages.
We propose a lightweight heuristic that uses these hints from method argument names to augment the performance of a static type inference algorithm. The evaluation through a proof-of-concept prototype implemented in Pharo Smalltalk shows that the augmented algorithm outperforms the basic algorithm, and correctly infers types for 81% more method arguments.},
	location = {Buenos Aires, Argentina},
	Keywords = {scg-pub snf-asa2 scg17 jb17 Milojkovic},
	Peerreview = {yes},
	doi = {10.1109/ICPC.2017.33},
	Medium = {2},
	Booktitle = {25th IEEE International Conference on Program Comprehension},
    Annote    = {internationalconference},
	Title = {Exploiting Type Hints in Method Argument Names to Improve Lightweight Type Inference},
	Url = {http://scg.unibe.ch/archive/papers/Milo17a.pdf},
	Year = {2017}
}

@inproceedings{Milo17b,
	Author = {Nevena Milojkovi\'{c} and Mohammad Ghafari and Oscar Nierstrasz},
	location = {Buenos Aires, Argentina},
	abstract = {Duck typing provides a way to reuse code and allow a developer to write more extensible code. At the same time, it scatters the implementation of a functionality over multiple classes and causes difficulties in program comprehension.
The extent to which duck typing is used in real programs is not very well understood. We report on a preliminary study of the prevalence of duck typing in more than a thousand dynamically-typed open source software systems developed in Smalltalk.
Although a small portion of the call sites in these systems is duck-typed, in half of the analysed systems at least 20% of methods are duck-typed.},
	Keywords = {scg-pub snf-asa2 scg17 jb17 Milojkovic},
	Peerreview = {yes},
	doi = {10.1109/ICPC.2017.10},
	Medium = {2},
	Booktitle = {25th IEEE International Conference on Program Comprehension (ERA Track)},
    Annote    = {internationalconference},
	Title = {It's Duck (Typing) Season!},
	Url = {http://scg.unibe.ch/archive/papers/Milo17b.pdf},
	Year = {2017}
}

@inproceedings{Milo17c,
	Annote = {internationalworkshop},
	Abstract = {Dynamically-typed languages allow faster
software development by not posing the type
constraints. Static type information facilitates
program comprehension and software maintenance.
Type inference algorithms attempt
to reconstruct the type information from the
code, yet they suffer from the problem of
false positives or false negatives. The use of
complex type inference algorithms is questionable
during the development phase, due to
their performance costs. Instead, we propose
lightweight heuristics to improve simple type
inference algorithms and, at the same time,
preserve their swiftness.},
	Author = {Milojkovi\'{c}, Nevena},
	Booktitle = {SATToSE'17: Pre-Proceedings of the 10th International Seminar Series on Advanced Techniques \& Tools for Software Evolution},
	PeerReview = {yes},
	Medium = {1},
	Keywords = {scg-pub snf-asa2 scg17 jb17 skip-doi Milojkovic Milojkovi\'{c}},
	Month = jun,
	location = {Madrid, Spain},
	Title = {Improving the Precision of Type Inference Algorithms with Lightweight Heuristics},
	Year = {2017},
	Url = {http://scg.unibe.ch/archive/papers/Milo17c.pdf},
	Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Milo17c.pdf}}

@phdthesis{Milo17d,
	Abstract = {Static type information facilitates program comprehension and analysis. Yet, such information is absent in dynamically-typed languages, and that increases the time needed for software maintenance. Type inference algorithms may provide type information to developers, but in order to be fast and assist in development phase, they sacrifice the precision for speed. One of the biggest obstacles for their precision is polymorphism presence. In this thesis we first analyse the prevalence of polymorphism in object-oriented software, to assess the criticality it imposes on simple type inference. We find that polymorphism is omnipresent in object-oriented code, and that static analysis in dynamically-typed languages is also hampered by the usage of cross-hierarchy polymorphism, i.e., duck typing. As this big obstacle for static code analysis cannot be bypassed, we propose the need for lightweight heuristics to tackle the problem of imprecision of simple type inference algorithms. Four lightweight heuristics are employed to improve the performance of two simple and fast type inference approaches. These heuristics are founded on the source code and run-time information that are easy to collect without interrupting the workflow of a developer. The heuristics are evaluated and compared with the underlying algorithms based on their inference time and precision. All of them show a significant improvement when compared to the basic algorithm. They introduce a negligible overhead on the inference time, thus we deem them usable during regular coding tasks.},
	Author = {Nevena Milojkovi\'{c}},
	Keywords = {scg-phd snf-asa2 scg17 jb17 skip-doi},
	Month = jun,
	PeerReview = {yes},
	Medium = {2},
	School = {University of Bern},
	Title = {Augmenting Type Inference with Lightweight Heuristics},
	Type = {{PhD} thesis},
	Url = {http://scg.unibe.ch/archive/phd/lazarevic-phd.pdf},
	Year = {2017},
	Bdsk-Url-1 = {http://scg.unibe.ch/archive/phd/lazarevic-phd.pdf}}

@article{Milo17e,
	Abstract = {The lack of static type information in dynamically-typed languages often
		poses obstacles for developers. Type inference algorithms can
		help, but inferring precise type information requires complex
		algorithms that are often slow. A simple approach that considers only
		the locally used interface of variables can identify potential classes
		for variables, but popular interfaces can generate a large number of
		false positives. We propose an approach called inline-cache type
		inference (ICTI) to augment the precision of fast and simple type
		inference algorithms. ICTI uses type information available in the
		inline caches during multiple software runs, to provide a ranked list
		of possible classes that most likely represent a variable's type. We
		evaluate ICTI through a proof-of-concept that we implement in Pharo
		Smalltalk. The analysis of the top-n+2 inferred types (where n is the
		number of recorded run-time types for a variable) for 5486 variables
		from four different software systems shows that ICTI produces
		promising results for about 75% of the variables. For more than 90% of
		variables, the correct run-time type is present among first six
		inferred types. Our ordering shows a twofold improvement when compared
		with the unordered basic approach, i.e., for a significant number of
		variables for which the basic approach offered ambiguous results, ICTI
		was able to promote the correct type to the top of the list.},
	Annote = {internationaljournal},
	Author = {Nevena Milojkovi\'{c} and Cl\'ement B\'era and Mohammad Ghafari and Oscar Nierstrasz},
	Journal = {Science of Computer Programming, Elsevier, Special Issue on Adv. Dynamic Languages},
	Keywords = {scg-pub scg17 snf-asa2 jb18},
	Peerreview = {yes},
	Medium = {2},
	Doi = {10.1016/j.scico.2017.11.003},
	Title = {Mining Inline Cache Data to Order Inferred Types in Dynamic Languages},
	Url = {http://scg.unibe.ch/archive/papers/Milo17e.pdf},
	Volume = {161},
	Pages = {105-121},
	Year = {2018}
}

@inproceedings{Mine13a,
	author={Minelli, Roberto and Lanza, Michele},
	booktitle={Software Maintenance (ICSM), 2013 29th IEEE International Conference on},
	title={SAMOA -- A Visual Software Analytics Platform for Mobile Applications},
	year={2013},
	month=sep,
	pages={476-479},
	keywords={Internet;data visualisation;mobile computing;SAMOA;dedicated software systems;handheld devices;mobile applications;multibillion dollar market;smartphones;software repositories;tablet computers;visual Web-based software analytics platform;visual software analytics platform;visualization techniques;Androids;Ecosystems;History;Humanoid robots;Mobile communication;Software;Visualization;apps;mobile applications;samoa;software evolution;software visualization;tool demo},
	doi={10.1109/ICSM.2013.76},
	ISSN={1063-6773}
}

@inproceedings{Mine13b,
	author={R. Minelli and M. Lanza},
	booktitle={2013 First IEEE Working Conference on Software Visualization (VISSOFT)},
	title={Visualizing the workflow of developers},
	year={2013},
	pages={1-4},
	doi={10.1109/VISSOFT.2013.6650531},
	month= sep
}

@inproceedings{Mine14a,
	author={Minelli, Roberto and Mocci, Andrea and Lanza, Michele and Kobayashi, Takashi},
	booktitle={Quality Software (QSIC), 2014 14th International Conference on},
	title={Quantifying Program Comprehension with Interaction Data},
	year={2014},
	month=oct,
	pages={276-285},
	keywords={Java;Smalltalk;human computer interaction;software engineering;source code (software);user interfaces;ECLIPSE IDE;Java source code development;PHARO IDE;Smalltalk source code development;code editing;code navigation;interaction data;program comprehension;software developer user interface activities;software development techniques;software development tools;Browsers;History;Inspection;Java;Maintenance engineering;Navigation;Software;IDE;Interaction data;Program Comprehension;Program Understanding;Quantification},
	doi={10.1109/QSIC.2014.11},
	ISSN={1550-6002}
}

@inproceedings{Mine14b,
author={R. Minelli and L. Baracchi and A. Mocci and M. Lanza},
booktitle={2014 IEEE International Conference on Software Maintenance and Evolution},
title={Visual Storytelling of Development Sessions},
year={2014},
pages={416-420},
keywords={software engineering;source code (software);user interfaces;DFLOW;IDE;UI elements;browsers;debuggers;development sessions;development stories;editing;inspectors;integrated development environments;interaction data;program understanding;source code navigation;user interfaces;visual storytelling;Conferences;Data visualization;Inspection;Navigation;Software;Visualization;Windows;development sessions;ide;interaction data;visual storytelling;visualization},
doi={10.1109/ICSME.2014.65},
ISSN={1063-6773},
month=sep}

@inproceedings{Mine15b,
 author = {Roberto Minelli and Andrea Mocci and Michele Lanza},
 title = {I Know What You Did Last Summer: An Investigation of How Developers Spend Their Time},
 booktitle = {Proceedings of the 2015 IEEE 23rd International Conference on Program Comprehension},
 series = {ICPC '15},
 year = {2015},
 location = {Florence, Italy},
 pages = {25--35},
 numpages = {11},
 url = {http://dl.acm.org/citation.cfm?id=2820282.2820289},
 acmid = {2820289},
 publisher = {IEEE Press},
 address = {Piscataway, NJ, USA}
}

@inproceedings{Mine16b,
	Author = {Roberto Minelli and Andrea Mocci and Romain Robbes and Michele Lanza},
	Booktitle = {Proceedings of ICPC 2016 ($24^{th}$ International Conference on Program Comprehension)},
	Pages = {to appear},
	Title = {Taming the {IDE} with Fine-grained Interaction Data},
	Year = {2016}
}

@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 scg-none 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}}

@misc{Mira91a,
	Author = {Eliot Miranda},
	Title = {Portable Fast Direct Threaded Code},
	Url = {http://compilers.iecc.com/comparch/article/91-03-121},
	Year = {1991},
	Bdsk-Url-1 = {http://compilers.iecc.com/comparch/article/91-03-121}}

@techreport{Mira99a,
	Abstract = {Smalltalk-80 provides a reification of execution state in the form of context objects which represent procedure activation records. Smalltalk-80 also provides full closures with indefinite extent. These features pose interesting implementation challenges because a na?ve implementation entails instantiating context objects on every method activation, but typical Smalltalk-80 programs obey stack discipline for the vast majority of activations. Both software and hardware implementations of Smalltalk-80 have mapped contexts and closure activations to stack frames but not without overhead when compared to traditional stack-based activation and return in ?conventional? languages. We present a new design for contexts and closures that significantly reduces the overall overhead of these features and imposes overhead only in code that actually manipulates execution state in the form of contexts.},
	Author = {Eliot Miranda},
	Institution = {{ParcPlace} Division, {CINCOM,} Inc.},
	Title = {Context Management in {VisualWorks} 5i},
	Year = {1999}}

@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}}

@inproceedings{Mira07a,
	Abstract = {During software evolution, developers modify various modules to handle new
requirements or to fix existing bugs. Such changes usually propagate to related modules
throughout the system. Program comprehension techniques are able to predict this change
propagation phenomenon. In this paper, we introduce a novel approach that predicts the
possible affected system modules, given a change in the system. We use Bayesian Belief
Networks as a probabilistic tool to make such predictions in a systematic way. This novel
technique mainly relies on two sources of information: dependency metrics (calculated
using static analysis) and change history extracted from a version control repository. We
evaluate our approach by examining all significant revisions of Azureusl, an open-source
Java system. The results show that the predicted change probabilities reflect actual
module changes even in the early stages of the software development.},
	Author = {Mirarab, S. and Hassouna, A. and Tahvildari, L.},
	Booktitle = {Program Comprehension, 2007. ICPC '07. 15th IEEE International Conference on},
	Doi = {10.1109/ICPC.2007.41},
	Issn = {1063-6897},
	Keywords = {Bayesian belief network;dependency metric;open-source Java system;probabilistic tool;program comprehension technique;software development;software evolution;software system;version control repository;Java;belief networks;probability;program diagnostics;public domain software;reverse engineering;software maintenance;software metrics;},
	Month = jun,
	Pages = {177 -188},
	Title = {Using Bayesian Belief Networks to Predict Change Propagation in Software Systems},
	Year = {2007},
	Bdsk-Url-1 = {http://dx.doi.org/10.1109/ICPC.2007.41}}

@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{Mira15a,
 author = {Miranda, Eliot and B{\'e}ra, Cl{\'e}ment},
 title = {A Partial Read Barrier for Efficient Support of Live Object-oriented Programming},
 booktitle = {Proceedings of the 2015 International Symposium on Memory Management},
 series = {ISMM '15},
 year = {2015},
 isbn = {978-1-4503-3589-8},
 location = {Portland, OR, USA},
 pages = {93--104},
 numpages = {12},
 url = {http://doi.acm.org/10.1145/2754169.2754186},
 doi = {10.1145/2754169.2754186},
 acmid = {2754186},
 publisher = {ACM},
 address = {New York, NY, USA},
 keywords = {Live programming, forwarding pointer, garbage collection, language virtual machine, object representation, read barrier, schema migration}
}

@inproceedings{Misa10a,
	Acmid = {1806808},
	Address = {New York, NY, USA},
	Author = {Misailovic, Sasa and Sidiroglou, Stelios and Hoffmann, Henry and Rinard, Martin},
	Booktitle = {Proceedings of the 32nd ACM/IEEE International Conference on Software Engineering - Volume 1},
	Doi = {10.1145/1806799.1806808},
	Isbn = {978-1-60558-719-6},
	Keywords = {loop perforation, profiling, quality of service},
	Location = {Cape Town, South Africa},
	Numpages = {10},
	Pages = {25--34},
	Publisher = {ACM},
	Series = {ICSE '10},
	Title = {Quality of service profiling},
	Url = {http://doi.acm.org/10.1145/1806799.1806808},
	Year = {2010},
	Bdsk-Url-1 = {http://doi.acm.org/10.1145/1806799.1806808},
	Bdsk-Url-2 = {http://dx.doi.org/10.1145/1806799.1806808}}

@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{Mish11a,
  title={Impact of attribute selection on defect proneness prediction in OO software},
  author={Mishra, Bharavi and Shukla, KK},
  booktitle={Computer and Communication Technology (ICCCT), 2011 2nd International Conference on},
  pages={367--372},
  year={2011},
  organization={IEEE}
}

@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{Misi11a,
  title={An industrial case study of classifier ensembles for locating software defects},
  author={M{\i}s{\i}rl{\i}, Ay{\c{s}}e Tosun and Bener, Ay{\c{s}}e Ba{\c{s}}ar and Turhan, Burak},
  journal={Software Quality Journal},
  volume={19},
  number={3},
  pages={515--536},
  year={2011},
  publisher={Springer}
}

@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{Misr20a,
  author    = {Vishal Misra and
               Jakku Sai Krupa Reddy and
               Sridhar Chimalakonda},
  title     = {Is there a correlation between code comments and issues?: an exploratory study},
  booktitle = {{SAC} '20: The 35th {ACM/SIGAPP} Symposium on Applied Computing, online
               event, [Brno, Czech Republic], March 30 - April 3, 2020},
  pages     = {110--117},
  year      = {2020},
  url       = {https://doi.org/10.1145/3341105.3374009},
  doi       = {10.1145/3341105.3374009},
  timestamp = {Thu, 02 Apr 2020 17:08:04 +0200},
  biburl    = {https://dblp.org/rec/conf/sac/MisraRC20.bib},
  bibsource = {dblp computer science bibliography, https://dblp.org}
}

@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{Mitc07a,
 author = {Mitchell, Nick and Sevitsky, Gary},
 title = {The Causes of Bloat, the Limits of Health},
 booktitle = {Proceedings of the 22Nd Annual ACM SIGPLAN Conference on Object-oriented Programming Systems and Applications},
 series = {OOPSLA '07},
 year = {2007},
 isbn = {978-1-59593-786-5},
 location = {Montreal, Quebec, Canada},
 pages = {245--260},
 numpages = {16},
 url = {http://doi.acm.org/10.1145/1297027.1297046},
 doi = {10.1145/1297027.1297046},
 acmid = {1297046},
 publisher = {ACM},
 address = {New York, NY, USA},
 keywords = {bloat, limit studies, memory footprint, metrics}
}

@inproceedings{Mitc09a,
	Acmid = {1615192},
	Address = {Berlin, Heidelberg},
	Author = {Mitchell, Nick and Schonberg, Edith and Sevitsky, Gary},
	Booktitle = {Proceedings of the 23rd European Conference on ECOOP 2009 --- Object-Oriented Programming},
	Doi = {10.1007/978-3-642-03013-0_5},
	Isbn = {978-3-642-03012-3},
	Location = {Italy},
	Numpages = {21},
	Pages = {77--97},
	Publisher = {Springer-Verlag},
	Series = {Genoa},
	Title = {Making Sense of Large Heaps},
	Url = {http://dx.doi.org/10.1007/978-3-642-03013-0_5},
	Year = {2009},
	Bdsk-Url-1 = {http://dx.doi.org/10.1007/978-3-642-03013-0_5}}

@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}}

@inproceedings{Mock00c,
  title={A case study of open source software development: the Apache server},
  author={Mockus, Audris and Fielding, Roy T and Herbsleb, James},
  booktitle={Software Engineering, 2000. Proceedings of the 2000 International Conference on},
  pages={263--272},
  year={2000},
  organization={IEEE}
}

@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,
	Acmid = {1671276},
	Address = {Washington, DC, USA},
	Author = {Mockus, Audris and Nagappan, Nachiappan and Dinh-Trong, Trung T.},
	Booktitle = {Proceedings of the 2009 3rd International Symposium on Empirical Software Engineering and Measurement},
	Doi = {10.1109/ESEM.2009.5315981},
	Isbn = {978-1-4244-4842-5},
	Numpages = {11},
	Pages = {291--301},
	Publisher = {IEEE Computer Society},
	Series = {ESEM '09},
	Title = {Test coverage and post-verification defects: A multiple case study},
	Year = {2009},
	Bdsk-Url-1 = {http://dx.doi.org/10.1109/ESEM.2009.5315981}}

@inproceedings{Mock09b,
	Annote = {internationalconference},
	Author = {Audris Mockus},
	Booktitle = {Proceedings of MSR 2009},
	Medium = {2},
	Pages = {11-20},
	Peerreview = {yes},
	Title = {Amassing and indexing a large sample of version control systems: Towards the census of public source code history},
	Url = {http://ieeexplore.ieee.org/stamp/stamp.jsp?arnumber=05069476},
	Year = {2009},
	Bdsk-Url-1 = {http://ieeexplore.ieee.org/stamp/stamp.jsp?arnumber=05069476}}

@inproceedings{Mock10a,
	Acmid = {1882311},
	Address = {New York, NY, USA},
	Author = {Mockus, Audris},
	Booktitle = {Proceedings of the Eighteenth ACM SIGSOFT International Symposium on Foundations of Software Engineering},
	Doi = {10.1145/1882291.1882311},
	Isbn = {978-1-60558-791-2},
	Keywords = {organizational volatility, software defects},
	Location = {Santa Fe, New Mexico, USA},
	Numpages = {10},
	Pages = {117--126},
	Publisher = {ACM},
	Series = {FSE '10},
	Title = {Organizational Volatility and Its Effects on Software Defects},
	Url = {http://doi.acm.org/10.1145/1882291.1882311},
	Year = {2010},
	Bdsk-Url-1 = {http://doi.acm.org/10.1145/1882291.1882311},
	Bdsk-Url-2 = {http://dx.doi.org/10.1145/1882291.1882311}}

@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}}

@article{Moha10a,
author={N. Moha and Y. G. Gueheneuc and L. Duchien and A. F. Le Meur},
journal={IEEE Transactions on Software Engineering},
title={DECOR: A Method for the Specification and Detection of Code and Design Smells},
year={2010},
volume={36},
number={1},
pages={20-36},
keywords={formal specification;program verification;software quality;DECOR;DETEX;Spaghetti code;Swiss army knife;antipatterns Blob;code detection;code specification;design smells;domain-specific language;empirical validation;functional decomposition;open-source systems;Antipatterns;Java.;code smells;design smells;detection;metamodeling;specification},
doi={10.1109/TSE.2009.50},
ISSN={0098-5589},
month=jan}

@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,
	Acmid = {727795},
	Address = {London, UK},
	Author = {Mohnen, Markus},
	Booktitle = {Proceedings of the 11th International Conference on Compiler Construction},
	Isbn = {3-540-43369-4},
	Numpages = {16},
	Pages = {46--61},
	Publisher = {Springer-Verlag},
	Series = {CC '02},
	Title = {A Graph-Free Approach to Data-Flow Analysis},
	Url = {http://portal.acm.org/citation.cfm?id=647478.727795},
	Year = {2002},
	Bdsk-Url-1 = {http://portal.acm.org/citation.cfm?id=647478.727795}}

@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}}

@inproceedings{Mois06a,
	title = {Extracting facts from perl code},
	author = {Moise, Daniel L and Wong, Kenny},
	booktitle = {Reverse Engineering, 2006. WCRE'06. 13th Working Conference on},
	pages = {243--252},
	year = {2006},
	organization = {IEEE}
}

@inproceedings{Moli15a,
  Author = {Rosario Molina and Alexandre Bergel},
  Booktitle = {Proceedings of 10th International Workshop on Smalltalk Technologies (IWST'15)},
  Publisher = {ACM},
  Title = {Toward a Platform for Visual Debugging},
  Year = {2015},
  Month = jul,
  Note = {To appear}}

@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{Monp10a,
  title={Detecting missing method calls in object-oriented software},
  author={Monperrus, Martin and Bruch, Marcel and Mezini, Mira},
  journal={ECOOP 2010--Object-Oriented Programming},
  pages={2--25},
  year={2010},
  publisher={Springer}
}

@article{Monp12a,
  author    = {Martin Monperrus and
               Michael Eichberg and
               Elif Tekes and
               Mira Mezini},
  title     = {What should developers be aware of? An empirical study on the directives
               of {API} documentation},
  journal   = {Empir. Softw. Eng.},
  volume    = {17},
  number    = {6},
  pages     = {703--737},
  year      = {2012},
  url       = {https://doi.org/10.1007/s10664-011-9186-4},
  doi       = {10.1007/s10664-011-9186-4},
  keywords =  {comment-quality-slr},
  timestamp = {Tue, 25 Aug 2020 16:58:52 +0200},
  biburl    = {https://dblp.org/rec/journals/ese/MonperrusETM12.bib},
  bibsource = {dblp computer science bibliography, https://dblp.org}
}

@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{Mont09a,
  author = {Albert Montillo and Haibin Ling},
  title={Is feature selection worth the effort? Assessing the impact on Random Forest and SVM accuracy and computation time},
  publisher={Citeseer},
  Year = {2009}}

@inproceedings{Mont13a,
	Author = {Jo{\~a}o Eduardo Montandon and Hudson Borges and Daniel Felix and Marco Tulio Valente},
	Booktitle = {WCRE},
	Ee = {http://doi.ieeecomputersociety.org/10.1109/WCRE.2013.6671315},
	Pages = {401-408},
	Title = {Documenting {APIs} with examples: Lessons learned with the {APIMiner} platform},
	Year = {2013}}

@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}}

@book{Mooc07a,
 author = {Moock, Colin},
 title = {Essential Actionscript 3.0},
 year = {2007},
 isbn = {0596526946},
 edition = {First},
 publisher = {O'Reilly}
}

@article{Mood09a,
	Address = {Los Alamitos, CA, USA},
	Author = {Daniel L. Moody},
	Doi = {10.1109/TSE.2009.67},
	Issn = {0098-5589},
	Journal = {IEEE Transactions on Software Engineering},
	Pages = {756-779},
	Publisher = {IEEE Computer Society},
	Title = {The "Physics" of Notations: Toward a Scientific Basis for Constructing Visual Notations in Software Engineering},
	Volume = {35},
	Year = {2009},
	Bdsk-Url-1 = {http://dx.doi.org/10.1109/TSE.2009.67}}

@conference{Mooe65a,
	Address = {New York, NY, USA},
	Author = {Calvin Mooers and Peter Deutsch},
	Booktitle = {Proceedings of the 1965 20th national conference},
	Doi = {10.1145/800197.806048},
	Location = {Cleveland, Ohio, United States},
	Pages = {229--246},
	Publisher = {ACM},
	Title = {{TRAC}, a text handling language},
	Year = {1965},
	Bdsk-Url-1 = {http://dx.doi.org/10.1145/800197.806048}}

@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 Eighth Working Conference on Reverse Engineering (WCRE 2001)},
	Doi = {10.1109/WCRE.2001.957806},
	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://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.13.1027},
	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}}

@article{Moor01b,
    Abstract = {context-free grammars (CFGs) in a "top-down" leftto -right fashion is that left recursion can lead to nontermination. An algorithm is known that transforms any CFG into an equivalent non-left-recursive CFG, but the resulting grammars are often too large for practical use. We present a new method for removing left recursion from CFGs that is both theoretically superior to the standard algorithm, and produces very compact non-leftrecursive CFGs in practice.  Removing Left Recursion from Context-Free Grammars. Available from: https://www.researchgate.net/publication/2903335_Removing_Left_Recursion_from_Context-Free_Grammars [accessed Jan 27, 2016].},
    Author = {Robert C. Moore},
    Journal = {Proceedings of the first conference on North American chapter of the Association for Computational Linguistics},
    Keywords = {left-recursion cfg context-free-grammar},
    Title = {Removing Left Recursion from Context-Free Grammars},
    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},
	Institution = {Department of Computer Science, K.U. Leuven},
	Keywords = {parsing},
	Month = feb,
	Pdf = {http://www.cs.kuleuven.be/publicaties/rapporten/cw/CW491.pdf},
	Title = {Parser combinators in {Scala}},
	Year = {2008}}

@incollection{Moor08c,
	year = {2008},
	isbn = {978-3-540-88642-6},
	booktitle = {Generative and Transformational Techniques in Software Engineering II},
	volume = {5235},
	series = {Lecture Notes in Computer Science},
	editor = {Lammel, Ralf and Visser, Joost and Saraiva, Joao},
	doi = {10.1007/978-3-540-88643-3_3},
	title = {.QL: Object-Oriented Queries Made Easy},
	url = {http://dx.doi.org/10.1007/978-3-540-88643-3_3},
	publisher = {Springer Berlin Heidelberg},
	author = {de Moor, Oege and Sereni, Damien and Verbaere, Mathieu and Hajiyev, Elnar and Avgustinov, Pavel and Ekman, Torbjorn and Ongkingco, Neil and Tibble, Julian},
	pages = {78-133}}

@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}}

@misc{Moose,
	key = {Moose},
	url = {https://moosetechnology.org/},
	note = {verified on 10 Jan 2020},
	year = {2020},
	Title = {Moose}}

@phdthesis{Mora82a,
	 author = {Medina-Mora, Raul I.},
	 title = {Syntax-directed Editing: Towards Integrated Programming Environments},
	 year = {1982},
	 note = {AAI8215892},
	 school = {Carnegie Mellon University},
	 type = {{Ph.D}. Thesis}
}

@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}}

@incollection{Morc97a,
 author = {M{\o}rch, Anders},
 title = {Three Levels of End-user Tailoring: Customization, Integration, and Extension},
 booktitle = {Computers and Design in Context},
 editor = {Kyng, Morten and Mathiassen, Lars},
 year = {1997},
 isbn = {0-262-11223-X},
 pages = {51--76},
 numpages = {26},
 url = {http://dl.acm.org/citation.cfm?id=270318.270321},
 acmid = {270321},
 publisher = {MIT Press},
 address = {Cambridge, MA, USA}}

@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}}

@article{More98a,
	Acmid = {609180},
	Address = {Hingham, MA, USA},
	Author = {Moreau, Luc},
	Date-Added = {2013-05-06 15:10:48 +0000},
	Date-Modified = {2013-05-06 15:11:47 +0000},
	Doi = {10.1023/A:1010087314987},
	Issn = {1388-3690},
	Issue_Date = {1998},
	Journal = {Higher Order Symbol. Comput.},
	Keywords = {context-oriented},
	Month = oct,
	Number = {3},
	Numpages = {47},
	Pages = {233--279},
	Publisher = {Kluwer Academic Publishers},
	Title = {A Syntactic Theory of Dynamic Binding},
	Url = {http://dx.doi.org/10.1023/A:1010087314987},
	Volume = {11},
	Year = {1998},
	Bdsk-Url-1 = {http://dx.doi.org/10.1023/A:1010087314987}}

@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 scg-none jb99 sergedem-volume scg-none 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}}

@inproceedings{More07a,
author={S. Moreta and A. Telea},
booktitle={4th IEEE International Workshop on Visualizing Software for Understanding and Analysis},
title={Visualizing Dynamic Memory Allocations},
year={2007},
pages={31-38},
doi={10.1109/VISSOF.2007.4290697},
month=jun
}

@article{More10a,
	Acmid = {1840769},
	Address = {New York, NY, USA},
	Author = {Moret, Philippe and Binder, Walter and Villaz\'{o}n, Alex and Ansaloni, Danilo and Heydarnoori, Abbas},
	Doi = {10.1002/spe.v40:9},
	Issn = {0038-0644},
	Issue_Date = {August 2010},
	Journal = {Softw. Pract. Exper.},
	Keywords = {Calling Context Ring Charts (CCRCs), Calling Context Tree (CCT), calling context profiles, dynamic metrics, visualization},
	Month = aug,
	Number = {9},
	Numpages = {23},
	Pages = {825--847},
	Publisher = {John Wiley \& Sons, Inc.},
	Title = {Visualizing and Exploring Profiles with Calling Context Ring Charts},
	Url = {http://dx.doi.org/10.1002/spe.v40:9},
	Volume = {40},
	Year = {2010},
	Bdsk-Url-1 = {http://dx.doi.org/10.1002/spe.v40:9}}

@inproceedings{More11a,
	Acmid = {1960292},
	Address = {New York, NY, USA},
	Author = {Moret, Philippe and Binder, Walter and Tanter, \'{E}ric},
	Booktitle = {Proceedings of the tenth international conference on Aspect-oriented software development},
	Doi = {10.1145/1960275.1960292},
	Isbn = {978-1-4503-0605-8},
	Keywords = {aspect-oriented programming, bytecode instrumentation, dynamic program analysis, java virtual machine, mixin layers, modularity constructs},
	Location = {Porto de Galinhas, Brazil},
	Numpages = {12},
	Pages = {129--140},
	Publisher = {ACM},
	Series = {AOSD '11},
	Title = {Polymorphic bytecode instrumentation},
	Year = {2011},
	Bdsk-Url-1 = {http://dx.doi.org/10.1145/1960275.1960292}}

@techreport{More13a,
	Abstract = {This document analyses the possibility of guessing polymorphic fields at compile
  	time with the bytecode manipulation library Javassist.},
	Author = {Michael Morelli},
	Institution = {University of Bern},
	Keywords = {snf-none scg-bp scg13 jb13},
	Month = sep,
	Title = {Analysis of Polymorphism detection},
	Type = {Bachelor's thesis},
	Url = {http://scg.unibe.ch/archive/projects/More13a-PolymorphismDetection.pdf},
	Year = {2013},
	Bdsk-Url-1 = {http://scg.unibe.ch/archive/projects/More13a-PolymorphismDetection.pdf}}

@techreport{More13b,
	Abstract = {This document is an introduction to the Javassist bytecode manipulation library and
  	shows how to use it for polymorphism detection.},
	Author = {Michael Morelli},
	Institution = {University of Bern},
	Keywords = {snf-none scg-bp scg13 jb14},
	Month = sep,
	Title = {How to use Javassist for Polymorphism detection},
	Type = {Bachelor's thesis, supplementary documentation},
	Url = {http://scg.unibe.ch/archive/projects/More13b-Javassist.pdf},
	Year = {2013},
	Bdsk-Url-1 = {http://scg.unibe.ch/archive/projects/More13b-Javassist.pdf}}

@inproceedings{More13c,
  author = {Laura Moreno and Jairo Aponte and Giriprasad Sridhara and Andrian Marcus and Lori L. Pollock and K. Vijay{-}Shanker},
  title = {Automatic generation of natural language summaries for {Java} classes},
  booktitle = {{IEEE} 21st International Conference on Program Comprehension, {ICPC} 2013, San Francisco, CA, USA, 20-21 May, 2013},
  pages = {23--32},
  year = {2013}}

@inproceedings {More15a,
	Author = {Moreno, Laura and Bavota, Gabriele and Di Penta, Massimiliano and Oliveto, Rocco and Marcus, Andrian},
	Title = {How Can {I} Use This Method?},
	Booktitle = {Proceedings of the 37th IEEE/ACM International Conference on Software Engineering (ICSE 2015)},
	Year = {2015},
	Notes = {To appear}
}

@inproceedings{More17a,
  author = {Laura Moreno and Andrian Marcus},
  title = {Automatic software summarization: the state of the art},
  booktitle = {Proceedings of the 39th International Conference on Software Engineering, {ICSE} 2017, Buenos Aires, Argentina, May 20-28, 2017 - Companion Volume},
  pages = {511--512},
  year = {2017}
}

@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,
	Author = {Mark Moriconi and Xiaolei Qian and R. A. Riemenschneider},
	Doi = {10.1109/32.385972},
	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},
	Bdsk-Url-1 = {http://dx.doi.org/10.1109/32.385972}}

@techreport{Mori97a,
	Author = {Moriconi, Mark and Riemenschneider, Robert A.},
	Institution = {SRI International},
	Keywords = {damiencbib architecture adl},
	Title = {Introduction to {SADL} 1.0: A Language for Specifying Software Architecture Hierarchies},
	Type = {SRI-CSL-97-01},
	Year = {1997}}

@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,
	Address = {Los Alamitos, CA, USA},
	Author = {Morla, Ricardo and Davies, Nigel},
	Doi = {10.1109/MPRV.2004.1321028},
	Journal = {IEEE Pervasive Computing},
	Keywords = {damiencbib},
	Number = {3},
	Pages = {48--56},
	Publisher = {IEEE Computer Society},
	Title = {Evaluating a Location-Based Application: A Hybrid Test and Simulation Environment},
	Volume = {3},
	Year = {2004},
	Bdsk-Url-1 = {http://dx.doi.org/10.1109/MPRV.2004.1321028}}

@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 scg-none 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 scg-none 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 scg-none 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 skip-abstract skip-doi scg-none 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}}

@inproceedings{Mose08a,
	Acmid = {1368114},
	Address = {New York, NY, USA},
	Author = {Moser, Raimund and Pedrycz, Witold and Succi, Giancarlo},
	Booktitle = {Proceedings of the 30th International Conference on Software Engineering},
	Doi = {10.1145/1368088.1368114},
	Isbn = {978-1-60558-079-1},
	Keywords = {cost-sensitive classification, defect prediction, software metrics},
	Location = {Leipzig, Germany},
	Numpages = {10},
	Pages = {181--190},
	Publisher = {ACM},
	Series = {ICSE '08},
	Title = {A Comparative Analysis of the Efficiency of Change Metrics and Static Code Attributes for Defect Prediction},
	Url = {http://doi.acm.org/10.1145/1368088.1368114},
	Year = {2008},
	Bdsk-Url-1 = {http://doi.acm.org/10.1145/1368088.1368114},
	Bdsk-Url-2 = {http://dx.doi.org/10.1145/1368088.1368114}}

@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,
	Address = {New York, NY, USA},
	Author = {Mostafa, Nagy and Krintz, Chandra},
	Booktitle = {PPPJ '09: Proceedings of the 7th International Conference on Principles and Practice of Programming in Java},
	Doi = {10.1145/1596655.1596682},
	Isbn = {978-1-60558-598-7},
	Location = {Calgary, Alberta, Canada},
	Pages = {162--171},
	Publisher = {ACM},
	Title = {Tracking performance across software revisions},
	Year = {2009},
	Bdsk-Url-1 = {http://dx.doi.org/10.1145/1596655.1596682}}

@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.},
	Acceptnum = {26},
	Accepttotal = {142},
	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 scg-none jb04 stefPub},
	Misc = {acceptance rate: 26/142 = 18\%},
	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}}

@book{Much97a,
	title={Advanced Compiler Design and Implementation},
	author={Steven S. Muchnick},
	year={1997},
	keywords = {cclit cccorelit},
	publisher={Morgan Kaufmann}
}

@inproceedings{Mucs13a,
  title={Making offline analyses continuous},
  author={Mu{\c{s}}lu, K{\i}van{\c{c}} and Brun, Yuriy and Ernst, Michael D and Notkin, David},
  booktitle={Proceedings of the 2013 9th Joint Meeting on Foundations of Software Engineering},
  pages={323--333},
  year={2013}
}

@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,
	Acmid = {217870},
	Address = {New York, NY, USA},
	Author = {Mulet, Philippe and Malenfant, Jacques and Cointe, Pierre},
	Booktitle = {Proceedings of the tenth annual conference on Object-oriented programming systems, languages, and applications},
	Doi = {10.1145/217838.217870},
	Isbn = {0-89791-703-0},
	Keywords = {aggregation, composition, incrementality, metaobject protocol, methodology, reflection, specialization},
	Location = {Austin, Texas, United States},
	Numpages = {15},
	Pages = {316--330},
	Publisher = {ACM},
	Series = {OOPSLA '95},
	Title = {Towards a methodology for explicit composition of metaobjects},
	Year = {1995},
	Bdsk-Url-1 = {http://dx.doi.org/10.1145/217838.217870}}

@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{Mull88a,
	Acmid = {55832},
	Address = {Los Alamitos, CA, USA},
	Author = {Hausi M\"{u}ller and Karl Klashinsky},
	Booktitle = {Proceedings of the 10th international conference on Software engineering},
	Isbn = {0-89791-258-6},
	Location = {Singapore},
	Numpages = {7},
	Pages = {80--86},
	Publisher = {IEEE Computer Society Press},
	Series = {ICSE '88},
	Title = {Rigi-A system for programming-in-the-large},
	Url = {http://dl.acm.org/citation.cfm?id=55823.55832},
	Year = {1988},
	Bdsk-Url-1 = {http://dl.acm.org/citation.cfm?id=55823.55832}}

@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}}

@inproceedings{Mull93d,
 author = {M\"{u}ller, Hausi A. and Tilley, Scott R. and Wong, Kenny},
 title = {Understanding Software Systems Using Reverse Engineering Technology Perspectives from the Rigi Project},
 booktitle = {Proceedings of the 1993 Conference of the Centre for Advanced Studies on Collaborative Research: Software Engineering - Volume 1},
 series = {CASCON '93},
 year = {1993},
 location = {Toronto, Ontario, Canada},
 pages = {217--226},
 numpages = {10},
 url = {http://dl.acm.org/citation.cfm?id=962289.962309},
 acmid = {962309},
 publisher = {IBM Press},
 keywords = {legacy software, program understanding, reverse engineering, software evolution}
}

@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{Mull07a,
	Acmid = {1297061},
	Address = {New York, NY, USA},
	Author = {M\"{u}ller, Peter and Rudich, Arsenii},
	Date-Added = {2012-07-03 14:20:40 +0000},
	Date-Modified = {2012-07-03 14:22:00 +0000},
	Doi = {10.1145/1297105.1297061},
	Issn = {0362-1340},
	Issue_Date = {October 2007},
	Journal = {SIGPLAN Not.},
	Keywords = {aliasing, ownership transfer, uniqueness, universe types},
	Month = oct,
	Number = {10},
	Numpages = {18},
	Pages = {461--478},
	Publisher = {ACM},
	Title = {Ownership transfer in universe types},
	Url = {http://doi.acm.org/10.1145/1297105.1297061},
	Volume = {42},
	Year = {2007},
	Bdsk-Url-1 = {http://doi.acm.org/10.1145/1297105.1297061},
	Bdsk-Url-2 = {http://dx.doi.org/10.1145/1297105.1297061}}

@inproceedings{Mull13a,
 author = {M\"{u}ller, Sebastian C. and Fritz, Thomas},
 title = {Stakeholders' Information Needs for Artifacts and Their Dependencies in a Real World Context},
 booktitle = {Proceedings of the 2013 IEEE International Conference on Software Maintenance},
 series = {ICSM '13},
 year = {2013},
 isbn = {978-0-7695-4981-1},
 pages = {290--299},
 numpages = {10},
 url = {http://dx.doi.org/10.1109/ICSM.2013.40},
 doi = {10.1109/ICSM.2013.40},
 acmid = {2550584},
 publisher = {IEEE Computer Society},
 address = {Washington, DC, USA},
 keywords = {information needs, dev-questions}
 }

@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}}

@article{Munz09a,
 author = {Munzner, Tamara},
 title = {A Nested Model for Visualization Design and Validation},
 journal = {IEEE Transactions on Visualization and Computer Graphics},
 issue_date = {November 2009},
 volume = {15},
 number = {6},
 month = nov,
 year = {2009},
 issn = {1077-2626},
 pages = {921--928},
 numpages = {8},
 url = {http://dx.doi.org/10.1109/TVCG.2009.111},
 doi = {10.1109/TVCG.2009.111},
 acmid = {1639181},
 publisher = {IEEE Educational Activities Department},
 address = {Piscataway, NJ, USA},
 keywords = {Models, Models, frameworks, design, evaluation., design, evaluation., frameworks}
}

@inproceedings{MurH09,
	Acmid = {1555044},
	Address = {Washington, DC, USA},
	Author = {Murphy-Hill, Emerson and Parnin, Chris and Black, Andrew P.},
	Booktitle = {Proceedings of the 31st International Conference on Software Engineering},
	Doi = {10.1109/ICSE.2009.5070529},
	Isbn = {978-1-4244-3453-4},
	Numpages = {11},
	Pages = {287--297},
	Publisher = {IEEE Computer Society},
	Series = {ICSE '09},
	Title = {How we refactor, and how we know it},
	Year = {2009},
	Bdsk-Url-1 = {http://dx.doi.org/10.1109/ICSE.2009.5070529}}

@inproceedings{MurH12a,
	Acmid = {2393645},
	Address = {New York, NY, USA},
	Articleno = {42},
	Author = {Murphy-Hill, Emerson and Jiresal, Rahul and Murphy, Gail C.},
	Booktitle = {Proceedings of the ACM SIGSOFT 20th International Symposium on the Foundations of Software Engineering},
	Doi = {10.1145/2393596.2393645},
	Isbn = {978-1-4503-1614-9},
	Keywords = {IDEs, commands, discovery, software developers},
	Location = {Cary, North Carolina},
	Numpages = {11},
	Pages = {42:1--42:11},
	Publisher = {ACM},
	Series = {FSE '12},
	Title = {Improving Software Developers' Fluency by Recommending Development Environment Commands},
	Url = {http://doi.acm.org/10.1145/2393596.2393645},
	Year = {2012},
	Bdsk-Url-1 = {http://doi.acm.org/10.1145/2393596.2393645},
	Bdsk-Url-2 = {http://dx.doi.org/10.1145/2393596.2393645}}

@inproceedings{MurH12b,
	Acmid = {2337406},
	Address = {Piscataway, NJ, USA},
	Author = {Murphy-Hill, Emerson},
	Booktitle = {Proceedings of the 34th International Conference on Software Engineering},
	Isbn = {978-1-4673-1067-3},
	Location = {Zurich, Switzerland},
	Numpages = {4},
	Pages = {1317--1320},
	Publisher = {IEEE Press},
	Series = {ICSE '12},
	Title = {Continuous Social Screencasting to Facilitate Software Tool Discovery},
	Url = {http://dl.acm.org/citation.cfm?id=2337223.2337406},
	Year = {2012},
	Bdsk-Url-1 = {http://dl.acm.org/citation.cfm?id=2337223.2337406}}

@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{Mure11a,
  title={Measuring the Managed Evolution},
  author={Murer, Stephan and Bonati, Bruno and Furrer, Frank J},
  booktitle={Managed Evolution},
  pages={203--226},
  year={2011},
  publisher={Springer},
  doi = {10.1007/978-3-642-01633-2},
  isbn = {978-3-642-01632-5}
}

@inproceedings{Murp72a,
 author = {Murphy, Daniel L.},
 title = {Storage Organization and Management in TENEX},
 booktitle = {Proceedings of the December 5-7, 1972, Fall Joint Computer Conference, Part I},
 series = {AFIPS '72 (Fall, part I)},
 year = {1972},
 location = {Anaheim, California},
 pages = {23--32},
 numpages = {10},
 url = {http://doi.acm.org/10.1145/1479992.1479996},
 doi = {10.1145/1479992.1479996},
 acmid = {1479996},
 publisher = {ACM},
 address = {New York, NY, USA}
}

@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}}

@inproceedings{Murp95b,
	Acmid = {222136},
	Address = {New York, NY, USA},
	Author = {Murphy, Gail C. and Notkin, David and Sullivan, Kevin},
	Booktitle = {Proceedings of the 3rd ACM SIGSOFT symposium on Foundations of software engineering},
	Doi = {10.1145/222124.222136},
	Isbn = {0-89791-716-2},
	Location = {Washington, D.C., United States},
	Numpages = {11},
	Pages = {18--28},
	Publisher = {ACM},
	Series = {SIGSOFT '95},
	Title = {Software reflexion models: bridging the gap between source and high-level models},
	Url = {http://doi.acm.org/10.1145/222124.222136},
	Year = {1995},
	Bdsk-Url-1 = {http://doi.acm.org/10.1145/222124.222136},
	Bdsk-Url-2 = {http://dx.doi.org/10.1145/222124.222136}}

@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{Murp01b,
	Address = {Piscataway, NJ, USA},
	Author = {Murphy, Gail C. and Notkin, David and Sullivan, Kevin J.},
	Doi = {10.1109/32.917525},
	Issn = {0098-5589},
	Issue_Date = {April 2001},
	Journal = {IEEE Trans. Softw. Eng.},
	Keywords = {Reverse engineering, program understanding, software structure, program representation, model differencing.},
	Month = apr,
	Number = {4},
	Numpages = {17},
	Pages = {364--380},
	Publisher = {IEEE Press},
	Title = {Software Reflexion Models: Bridging the Gap between Design and Implementation},
	Url = {http://dx.doi.org/10.1109/32.917525},
	Volume = {27},
	Year = {2001},
	Bdsk-Url-1 = {http://dx.doi.org/10.1109/32.917525}}

@inproceedings{Murp05a,
 author = {Murphy, Gail C. and Kersten, Mik and Robillard, Martin P. and \v{C}ubrani\'{c}, Davor},
 title = {The Emergent Structure of Development Tasks},
 booktitle = {Proceedings of the 19th European Conference on Object-Oriented Programming},
 series = {ECOOP'05},
 year = {2005},
 isbn = {3-540-27992-X, 978-3-540-27992-1},
 location = {Glasgow, UK},
 pages = {33--48},
 numpages = {16},
 url = {http://dx.doi.org/10.1007/11531142_2},
 doi = {10.1007/11531142_2},
 acmid = {2144895},
 publisher = {Springer-Verlag},
 address = {Berlin, Heidelberg}
}

@article{Murp06a,
	 author = {Murphy, Gail C. and Kersten, Mik and Findlater, Leah},
	 title = {How are {Java} software developers using the {Eclipse} {IDE}?},
	 journal = {IEEE Softw.},
	 issue_date = {July 2006},
	 volume = {23},
	 number = {4},
	 month = jul,
	 year = {2006},
	 issn = {0740-7459},
	 pages = {76--83},
	 numpages = {8},
	 url = {http://dx.doi.org/10.1109/MS.2006.105},
	 doi = {10.1109/MS.2006.105},
	 acmid = {1159396},
	 publisher = {IEEE Computer Society Press},
	 address = {Los Alamitos, CA, USA},
	 keywords = {coding tools and techniques, construction tools, programming environments, programming environments, construction tools, coding tools and techniques}
}

@inproceedings{Murp11a,
	title = {Restructuring software with gestures},
	author = {Murphy-Hill, Emerson and Ayazifar, Moin and Black, Andrew P},
	booktitle = {Visual Languages and Human-Centric Computing (VL/HCC), 2011 IEEE Symposium on},
	pages = {165--172},
	year = {2011},
	organization = {IEEE}}

@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 scg10 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},
	Bdsk-Url-1 = {http://scg.unibe.ch/archive/projects/Musi10a.pdf}}

@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 scg10 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},
	Bdsk-Url-1 = {http://scg.unibe.ch/archive/projects/Musi10b.pdf}}

@inproceedings{Musk16a,
author={Tukaram Muske and Alexander Serebrenik},
booktitle={2016 IEEE 16th International Working Conference on Source Code Analysis and Manipulation (SCAM)},
title={Survey of Approaches for Handling Static Analysis Alarms},
year={2016},
pages={157-166},
keywords={Data mining;Databases;Google;Inspection;Manuals;Software;Systematics;False Positives Elimination;Handling of Alarms;Ranking of Alarms;Snowballing;Static Analysis Alarms},
doi={10.1109/SCAM.2016.25},
month=oct}

@article{Musl12a,
 author = {Mu\c{s}lu, K{\i}van\c{c} and Brun, Yuriy and Holmes, Reid and Ernst, Michael D. and Notkin, David},
 title = {Speculative Analysis of Integrated Development Environment Recommendations},
 journal = {SIGPLAN Not.},
 issue_date = {October 2012},
 volume = {47},
 number = {10},
 month = oct,
 year = {2012},
 issn = {0362-1340},
 pages = {669--682},
 numpages = {14},
 url = {http://doi.acm.org/10.1145/2398857.2384665},
 doi = {10.1145/2398857.2384665},
 acmid = {2384665},
 publisher = {ACM},
 address = {New York, NY, USA},
 keywords = {IDE, eclipse, quick fix, quick fix dialog, quick fix scout, recommendations, speculative analysis}
}

@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}}

@inproceedings{Muth13a,
  title={Comparative study on effectiveness of standard bug prediction approaches},
  author={Muthukumaran, K and Murthy, NL and Reddy, G Karthik and Aruna, M},
  booktitle={Proceedings of the 5th IBM Collaborative Academia Research Exchange Workshop},
  pages={9},
  year={2013},
  organization={ACM}
}

@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}}

@article{Myer86b,
	Author = {Eugene W. Myers},
	Journal = {Algorithmica},
	Pages = {251--266},
	Title = {An O(ND) Difference Algorithm and Its Variations},
	Volume = {1},
	Year = {1986}}

@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}}

@book{Myer03a,
  added-at = {2011-03-14T01:05:33.000+0100},
  address = {New Jersey},
  author = {Myers, J. L. and Well, A. D.},
  biburl = {http://www.bibsonomy.org/bibtex/2474a4472b634e0b6f3602083f6ea785f/lantiq},
  groups = {public},
  interhash = {ffd5d82006dabd97b342bdd7b5d3e27a},
  intrahash = {474a4472b634e0b6f3602083f6ea785f},
  keywords = {statistics},
  publisher = {Lawrence Erlbaum Associates},
  timestamp = {2011-03-14T01:05:33.000+0100},
  title = {Research Design and Statistical Analysis},
  username = {lantiq},
  year = {2003}
}

@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}}

@inproceedings{Myer10a,
 author = {Myers, Colin and Duke, David},
 title = {A Map of the Heap: Revealing Design Abstractions in Runtime Structures},
 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 = {63--72},
 numpages = {10},
 url = {http://doi.acm.org/10.1145/1879211.1879223},
 doi = {10.1145/1879211.1879223},
 acmid = {1879223},
 publisher = {ACM},
 address = {New York, NY, USA},
 keywords = {debugging, graph visualization, heap memory, landmarks}
}

@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,
	Acmid = {1508275},
	Address = {New York, NY, USA},
	Author = {Mytkowicz, Todd and Diwan, Amer and Hauswirth, Matthias and Sweeney, Peter F.},
	Booktitle = {Proceeding of the 14th international conference on Architectural support for programming languages and operating systems},
	Doi = {10.1145/1508244.1508275},
	Isbn = {978-1-60558-406-5},
	Keywords = {bias, measurement, performance},
	Location = {Washington, DC, USA},
	Numpages = {12},
	Pages = {265--276},
	Publisher = {ACM},
	Series = {ASPLOS '09},
	Title = {Producing wrong data without doing anything obviously wrong!},
	Year = {2009},
	Bdsk-Url-1 = {http://dx.doi.org/10.1145/1508244.1508275}}

@inproceedings{Mytk10a,
	Acmid = {1806618},
	Address = {New York, NY, USA},
	Author = {Mytkowicz, Todd and Diwan, Amer and Hauswirth, Matthias and Sweeney, Peter F.},
	Booktitle = {Proceedings of the 31st conference on Programming language design and implementation},
	Doi = {10.1145/1806596.1806618},
	Isbn = {978-1-4503-0019-3},
	Keywords = {bias, observer effect, profiling},
	Location = {Toronto, Ontario, Canada},
	Numpages = {11},
	Pages = {187--197},
	Publisher = {ACM},
	Series = {PLDI '10},
	Title = {Evaluating the accuracy of Java profilers},
	Url = {http://doi.acm.org/10.1145/1806596.1806618},
	Year = {2010},
	Bdsk-Url-1 = {http://doi.acm.org/10.1145/1806596.1806618},
	Bdsk-Url-2 = {http://dx.doi.org/10.1145/1806596.1806618}}

@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},
	Bdsk-Url-1 = {http://danielnaber.de/languagetool/download/style_and_grammar_checker.pdf}}

@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{Naga05a,
	Acmid = {1062558},
	Address = {New York, NY, USA},
	Author = {Nagappan, Nachiappan and Ball, Thomas},
	Booktitle = {Proceedings of the 27th international conference on Software engineering},
	Doi = {10.1145/1062455.1062558},
	Isbn = {1-58113-963-2},
	Keywords = {defect density, fault-proneness, static analysis tools, statistical methods},
	Location = {St. Louis, MO, USA},
	Numpages = {7},
	Pages = {580--586},
	Publisher = {ACM},
	Series = {ICSE '05},
	Title = {Static analysis tools as early indicators of pre-release defect density},
	Url = {http://doi.acm.org/10.1145/1062455.1062558},
	Year = {2005},
	Bdsk-Url-1 = {http://doi.acm.org/10.1145/1062455.1062558},
	Bdsk-Url-2 = {http://dx.doi.org/10.1145/1062455.1062558}}

@inproceedings{Naga05b,
	Acmid = {1062514},
	Address = {New York, NY, USA},
	Author = {Nagappan, Nachiappan and Ball, Thomas},
	Booktitle = {Proceedings of the 27th International Conference on Software Engineering},
	Doi = {10.1145/1062455.1062514},
	Isbn = {1-58113-963-2},
	Keywords = {defect density, fault-proneness, multiple regression, principal component analysis, relative code churn},
	Location = {St. Louis, MO, USA},
	Numpages = {9},
	Pages = {284--292},
	Publisher = {ACM},
	Series = {ICSE '05},
	Title = {Use of Relative Code Churn Measures to Predict System Defect Density},
	Url = {http://doi.acm.org/10.1145/1062455.1062514},
	Year = {2005},
	Bdsk-Url-1 = {http://doi.acm.org/10.1145/1062455.1062514},
	Bdsk-Url-2 = {http://dx.doi.org/10.1145/1062455.1062514}}

@inproceedings{Naga06a,
	Acmid = {1134349},
	Address = {New York, NY, USA},
	Author = {Nagappan, Nachiappan and Ball, Thomas and Zeller, Andreas},
	Booktitle = {Proceedings of the 28th international conference on Software engineering},
	Doi = {10.1145/1134285.1134349},
	Isbn = {1-59593-375-1},
	Keywords = {bug database, complexity metrics, empirical study, principal component analysis, regression model},
	Location = {Shanghai, China},
	Numpages = {10},
	Pages = {452--461},
	Publisher = {ACM},
	Series = {ICSE '06},
	Title = {Mining metrics to predict component failures},
	Url = {http://doi.acm.org/10.1145/1134285.1134349},
	Year = {2006},
	Bdsk-Url-1 = {http://doi.acm.org/10.1145/1134285.1134349},
	Bdsk-Url-2 = {http://dx.doi.org/10.1145/1134285.1134349}}

@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)},
	Doi = {10.1109/ICSM.2007.4362621},
	Issn = {1063-6773},
	Month = oct,
	Pages = {84 -93},
	Title = {Matching Control Flow of Program Versions},
	Year = {2007},
	Bdsk-Url-1 = {http://dx.doi.org/10.1109/ICSM.2007.4362621}}

@inproceedings{Naga08a,
	Acmid = {1368160},
	Address = {New York, NY, USA},
	Author = {Nagappan, Nachiappan and Murphy, Brendan and Basili, Victor},
	Booktitle = {Proceedings of the 30th International Conference on Software Engineering},
	Doi = {10.1145/1368088.1368160},
	Isbn = {978-1-60558-079-1},
	Keywords = {code churn, developers, empirical studies, failures, organizational structure, software mining},
	Location = {Leipzig, Germany},
	Numpages = {10},
	Pages = {521--530},
	Publisher = {ACM},
	Series = {ICSE '08},
	Title = {The Influence of Organizational Structure on Software Quality: An Empirical Case Study},
	Url = {http://doi.acm.org/10.1145/1368088.1368160},
	Year = {2008},
	Bdsk-Url-1 = {http://doi.acm.org/10.1145/1368088.1368160},
	Bdsk-Url-2 = {http://dx.doi.org/10.1145/1368088.1368160}}

@inproceedings{Naga10a,
	Acmid = {1810405},
	Address = {New York, NY, USA},
	Author = {Nagappan, Meiyappan},
	Booktitle = {Proceedings of the 32nd ACM/IEEE International Conference on Software Engineering - Volume 2},
	Doi = {10.1145/1810295.1810405},
	Isbn = {978-1-60558-719-6},
	Keywords = {analysis of textual data, diagnosis, fault isolation, log files},
	Location = {Cape Town, South Africa},
	Numpages = {4},
	Pages = {409--412},
	Publisher = {ACM},
	Series = {ICSE '10},
	Title = {Analysis of execution log files},
	Url = {http://doi.acm.org/10.1145/1810295.1810405},
	Year = {2010},
	Bdsk-Url-1 = {http://doi.acm.org/10.1145/1810295.1810405},
	Bdsk-Url-2 = {http://dx.doi.org/10.1145/1810295.1810405}}

@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}}

@article{Naju11a,
	Acmid = {2063260},
	Address = {New York, NY, USA},
	Author = {Najumudheen, E. S. F. and Mall, Rajib and Samanta, Debasis},
	Doi = {10.1002/smr.479},
	Issn = {1532-060X},
	Issue_Date = {November 2011},
	Journal = {J. Softw. Maint. Evol.},
	Keywords = {Coverage analysis, object-oriented program, program model, software testing},
	Month = nov,
	Number = {7},
	Numpages = {29},
	Pages = {465--493},
	Publisher = {John Wiley \& Sons, Inc.},
	Title = {Test coverage analysis based on an object-oriented program model},
	Url = {http://dx.doi.org/10.1002/smr.479},
	Volume = {23},
	Year = {2011},
	Bdsk-Url-1 = {http://dx.doi.org/10.1002/smr.479}}

@inproceedings{Naka01a,
	Acmid = {380936},
	Address = {New York, NY, USA},
	Author = {Nakajima, Shin and Tamai, Tetsuo},
	Booktitle = {Proceedings of the 8th international SPIN workshop on Model checking of software},
	Isbn = {3-540-42124-6},
	Location = {Toronto, Ontario, Canada},
	Numpages = {20},
	Pages = {163--182},
	Publisher = {Springer-Verlag New York, Inc.},
	Series = {SPIN '01},
	Title = {Behavioural analysis of the enterprise JavaBeans component architecture},
	Url = {http://portal.acm.org/citation.cfm?id=380921.380936},
	Year = {2001},
	Bdsk-Url-1 = {http://portal.acm.org/citation.cfm?id=380921.380936}}

@misc{NakedObjectsFramework,
	KEY = {NakedObjectsFramework},
	Title = {{Naked Objects Framework}},
	Url = {https://github.com/NakedObjectsGroup/NakedObjectsFramework}
}

@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}}

@inproceedings{Naks16a,
	 author = {Nakshatri, Suman and Hegde, Maithri and Thandra, Sahithi},
	 title = {Analysis of Exception Handling Patterns in {Java} Projects: An Empirical Study},
	 booktitle = {Proceedings of the 13th International Conference on Mining Software Repositories},
	 series = {MSR '16},
	 year = {2016},
	 isbn = {978-1-4503-4186-8},
	 location = {Austin, Texas},
	 pages = {500--503},
	 numpages = {4},
	 url = {http://doi.acm.org/10.1145/2901739.2903499},
	 doi = {10.1145/2901739.2903499},
	 acmid = {2903499},
	 publisher = {ACM},
	 address = {New York, NY, USA},
	 keywords = {Boa, Github, Java exception handling, best practices}
}

@inproceedings{Nam13a,
 author = {Nam, Jaechang and Pan, Sinno Jialin and Kim, Sunghun},
 title = {Transfer Defect Learning},
 booktitle = {Proceedings of the 2013 International Conference on Software Engineering},
 series = {ICSE '13},
 year = {2013},
 isbn = {978-1-4673-3076-3},
 location = {San Francisco, CA, USA},
 pages = {382--391},
 numpages = {10},
 url = {http://dl.acm.org/citation.cfm?id=2486788.2486839},
 acmid = {2486839},
 publisher = {IEEE Press},
 address = {Piscataway, NJ, USA}
}

@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}}

@inproceedings{Nand09a,
 author = {Nanda, Mangala Gowri and Sinha, Saurabh},
 title = {Accurate Interprocedural Null-Dereference Analysis for {Java}},
 booktitle = {Proceedings of the 31st International Conference on Software Engineering},
 series = {ICSE '09},
 year = {2009},
 isbn = {978-1-4244-3453-4},
 pages = {133--143},
 numpages = {11},
 url = {http://dx.doi.org/10.1109/ICSE.2009.5070515},
 doi = {10.1109/ICSE.2009.5070515},
 acmid = {1555029},
 publisher = {IEEE Computer Society},
 address = {Washington, DC, USA}
}

@inproceedings{Nand10a,
 author = {Nanda, Mangala Gowri and Gupta, Monika and Sinha, Saurabh and Chandra, Satish and Schmidt, David and Balachandran, Pradeep},
 title = {Making Defect-finding Tools Work for You},
 booktitle = {Proceedings of the 32Nd ACM/IEEE International Conference on Software Engineering - Volume 2},
 series = {ICSE '10},
 year = {2010},
 isbn = {978-1-60558-719-6},
 location = {Cape Town, South Africa},
 pages = {99--108},
 numpages = {10},
 url = {http://doi.acm.org/10.1145/1810295.1810310},
 doi = {10.1145/1810295.1810310},
 acmid = {1810310},
 publisher = {ACM},
 address = {New York, NY, USA}}

@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}}

@inproceedings{Nass14a,
  author={Muhammad Nassar and Julian Jarrett and Iman Saleh and M.BrianBlake},
  booktitle={Proceedings of the 26th International Conference on Software Engineering and Knowledge Engineering},
  pages={592--597},
  publisher={Knowledge Systems Institute Graduate School},
  title={Generating Real-Time Profiles of Runtime Energy Consumption for Java Applications},
  year={2014}
}

@proceedings{Nato68a,
	Editor = {Peter Naur and Brian Randell},
	Publisher = {{NATO}},
	Title = {Software Engineering: Report of a conference sponsored by the {NATO} Science Committee},
	Url = {http://homepages.cs.ncl.ac.uk/brian.randell/NATO/nato1968.PDF},
	Year = {1968},
	Bdsk-Url-1 = {http://homepages.cs.ncl.ac.uk/brian.randell/NATO/nato1968.PDF}}

@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}}

@book{Nayy08a,
 author = {Nayyeri, Keyvan},
 title = {Professional Visual Studio Extensibility},
 year = {2008},
 isbn = {0470230843, 9780470230848},
 publisher = {Wrox Press Ltd.},
 address = {Birmingham, UK, UK}
}

@article{Naza16a,
  title={Summarizing software artifacts: A literature review},
  author={Nazar, Najam and Hu, Yan and Jiang, He},
  journal={Journal of Computer Science and Technology},
  volume={31},
  number={5},
  pages={883--909},
  year={2016},
  keywords = {Code Summarization},
  publisher={Springer}
}

@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{Neam05a,
	Acmid = {1083143},
	Address = {New York, NY, USA},
	Author = {Neamtiu, Iulian and Foster, Jeffrey S. and Hicks, Michael},
	Booktitle = {Proceedings of the 2005 international workshop on Mining software repositories},
	Date-Added = {2011-11-25 17:34:10 +0100},
	Date-Modified = {2013-05-01 15:07:24 +0000},
	Doi = {doi.acm.org/10.1145/1082983.1083143},
	Issn = {0163-5948},
	Keywords = {mining-repository; software-evolution; dsu; case-study; classification},
	Month = {may},
	Pages = {1--5},
	Publisher = {ACM},
	Rating = {4},
	Title = {Understanding source code evolution using abstract syntax tree matching},
	Url = {http://doi.acm.org/10.1145/1082983.1083143},
	Volume = {30},
	Year = {2005},
	Bdsk-Url-1 = {http://doi.acm.org/10.1145/1082983.1083143},
	Bdsk-Url-2 = {http://dx.doi.org/10.1145/1082983.1083143}}

@inproceedings{Neam06a,
	Acmid = {1133991},
	Address = {New York, NY, USA},
	Author = {Neamtiu, Iulian and Hicks, Michael and Stoyle, Gareth and Oriol, Manuel},
	Booktitle = {Proceedings of the 2006 ACM SIGPLAN conference on Programming language design and implementation},
	Doi = {10.1145/1133981.1133991},
	Isbn = {1-59593-320-4},
	Keywords = {dynamic software updating, function indirection, loop extraction, type wrapping},
	Location = {Ottawa, Ontario, Canada},
	Numpages = {12},
	Pages = {72--83},
	Publisher = {ACM},
	Series = {PLDI '06},
	Title = {Practical Dynamic Software Updating for {C}},
	Url = {http://doi.acm.org/10.1145/1133981.1133991},
	Year = {2006},
	Bdsk-Url-1 = {http://doi.acm.org/10.1145/1133981.1133991},
	Bdsk-Url-2 = {http://dx.doi.org/10.1145/1133981.1133991}}

@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,
	Acmid = {1542479},
	Address = {New York, NY, USA},
	Author = {Neamtiu, Iulian and Hicks, Michael},
	Booktitle = {Proceedings of the 2009 ACM SIGPLAN conference on Programming language design and implementation},
	Doi = {10.1145/1543135.1542479},
	Isbn = {978-1-60558-392-1},
	Keywords = {dynamic software updating, multi-threading, update safety, update timeliness},
	Location = {Dublin, Ireland},
	Numpages = {12},
	Pages = {13--24},
	Publisher = {ACM},
	Series = {PLDI '09},
	Title = {Safe and timely updates to multi-threaded programs},
	Year = {2009},
	Bdsk-Url-1 = {http://dx.doi.org/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 scg-none 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 scg-none 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 scg-none 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{Nesh17a,
  title={On dynamicity of expert finding in community question answering},
  author={Neshati, Mahmood and Fallahnejad, Zohreh and Beigy, Hamid},
  journal={Information Processing \& Management},
  volume={53},
  number={5},
  pages={1026--1042},
  year={2017},
  publisher={Elsevier}
}

@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}}

@inproceedings{Nest98a,
 author = {Nestorov, Svetlozar and Abiteboul, Serge and Motwani, Rajeev},
 title = {Extracting Schema from Semistructured Data},
 booktitle = {Proceedings of the 1998 ACM SIGMOD International Conference on Management of Data},
 series = {SIGMOD '98},
 year = {1998},
 isbn = {0-89791-995-5},
 location = {Seattle, Washington, USA},
 pages = {295--306},
 numpages = {12},
 doi = {10.1145/276304.276331},
 acmid = {276331},
 publisher = {ACM},
 address = {New York, NY, USA},
 keywords = {schema-inference},
 url = {http://infolab.stanford.edu/~evtimov/papers/extract-schema.pdf}
}

@inproceedings{Nest08a,
	Acmid = {1409748},
	Address = {New York, NY, USA},
	Author = {Nestor, Daren and Thiel, Steffen and Botterweck, Goetz and Cawley, Ciar\'{a}n and Healy, Patrick},
	Booktitle = {Proceedings of the 4th ACM symposium on Software visualization},
	Doi = {10.1145/1409720.1409748},
	Isbn = {978-1-60558-112-5},
	Keywords = {feature configuration, interaction, software product lines, visualisation},
	Location = {Ammersee, Germany},
	Numpages = {10},
	Pages = {175--184},
	Publisher = {ACM},
	Series = {SoftVis '08},
	Title = {Applying visualisation techniques in software product lines},
	Url = {http://doi.acm.org/10.1145/1409720.1409748},
	Year = {2008},
	Bdsk-Url-1 = {http://doi.acm.org/10.1145/1409720.1409748},
	Bdsk-Url-2 = {http://dx.doi.org/10.1145/1409720.1409748}}

@misc{NetBeans,
	Author = {NetBeans},
	Howpublished = {http://www.netbeans.org, archived at http://www.webcitation.org/5p1qB6hNt},
	Key = {NetBeans},
	Title = {NetBeans IDE},
	Url = {http://www.netbeans.org},
	Year = {2010},
	Bdsk-Url-1 = {http://www.netbeans.org}}

@inproceedings{Neth07a,
	Acmid = {1250746},
	Address = {New York, NY, USA},
	Author = {Nethercote, Nicholas and Seward, Julian},
	Booktitle = {Proceedings of the 2007 ACM SIGPLAN conference on Programming language design and implementation},
	Doi = {10.1145/1250734.1250746},
	Isbn = {978-1-59593-633-2},
	Keywords = {Memcheck, Valgrind, dynamic binary analysis, dynamic binary instrumentation, shadow values},
	Location = {San Diego, California, USA},
	Numpages = {12},
	Pages = {89--100},
	Publisher = {ACM},
	Series = {PLDI '07},
	Title = {Valgrind: a framework for heavyweight dynamic binary instrumentation},
	Year = {2007},
	Bdsk-Url-1 = {http://dx.doi.org/10.1145/1250734.1250746}}

@phdthesis{Netz91,
  title={Race condition detection for debugging shared-memory parallel programs},
  author={Netzer, Robert Harry Benson},
  year={1991},
  school={UNIVERSITY OF WISCONSIN--MADISON}
}

@article{Netz92,
 author = {Netzer, Robert H. B. and Miller, Barton P.},
 title = {What Are Race Conditions?: Some Issues and Formalizations},
 journal = {ACM Lett. Program. Lang. Syst.},
 issue_date = {March 1992},
 volume = {1},
 number = {1},
 month = mar,
 year = {1992},
 issn = {1057-4514},
 pages = {74--88},
 numpages = {15},
 url = {http://doi.acm.org/10.1145/130616.130623},
 doi = {10.1145/130616.130623},
 acmid = {130623},
 publisher = {ACM},
 address = {New York, NY, USA},
 keywords = {critical sections, data races, debugging, nondeterminacy, parallel programs, race conditions}
}

@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}}

@article{Nevil11a,
	Address = {New York, NY, USA},
	Author = {Neville-Neil, George V.},
	Doi = {10.1145/1924421.1924434},
	Journal = {Communications of the ACM},
	Keywords = {starring},
	Month = apr,
	Number = {4},
	Pages = {34--35},
	Publisher = {ACM},
	Title = {Coder's block},
	Volume = {54},
	Year = {2011},
	Bdsk-Url-1 = {http://dx.doi.org/10.1145/1924421.1924434}}

@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{Newm15a,
	Author = {Sam Newman},
	Isbn = {1-4919-5030-7},
	Keywords = {microservices soa},
	Publisher = {O'Reilly Media},
	Title = {Building Microservices: Designing Fine-Grained Systems},
	Year = {2015}}

@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}}

@inproceedings{Nguy09a,
	Acmid = {1595767},
	Address = {New York, NY, USA},
	Author = {Nguyen, Tung Thanh and Nguyen, Hoan Anh and Pham, Nam H. and Al-Kofahi, Jafar M. and Nguyen, Tien N.},
	Booktitle = {Proceedings of the the 7th Joint Meeting of the European Software Engineering Conference and the ACM SIGSOFT Symposium on The Foundations of Software Engineering},
	Doi = {10.1145/1595696.1595767},
	Isbn = {978-1-60558-001-2},
	Keywords = {anomaly, api usage, clone, graph mining, groum, object usage, pattern},
	Location = {Amsterdam, The Netherlands},
	Numpages = {10},
	Pages = {383--392},
	Publisher = {ACM},
	Series = {ESEC/FSE '09},
	Title = {Graph-based Mining of Multiple Object Usage Patterns},
	Url = {http://doi.acm.org/10.1145/1595696.1595767},
	Year = {2009},
	Bdsk-Url-1 = {http://doi.acm.org/10.1145/1595696.1595767},
	Bdsk-Url-2 = {http://dx.doi.org/10.1145/1595696.1595767}}

@inproceedings{Nguy09b,
 author = {Nguyen, Tung Thanh and Nguyen, Hoan Anh and Pham, Nam H. and Al-Kofahi, Jafar M. and Nguyen, Tien N.},
 title = {Clone-Aware Configuration Management},
 booktitle = {Proceedings of the 2009 IEEE/ACM International Conference on Automated Software Engineering},
 series = {ASE '09},
 year = {2009},
 isbn = {978-0-7695-3891-4},
 pages = {123--134},
 numpages = {12},
 url = {http://dx.doi.org/10.1109/ASE.2009.90},
 doi = {10.1109/ASE.2009.90},
 acmid = {1747514},
 publisher = {IEEE Computer Society},
 address = {Washington, DC, USA},
 keywords = {clone-aware, clone management, tree edit, clone synchronization, clone editing consistency}
}

@inproceedings{Nguy10,
 author = {Nguyen, Tung Thanh and Nguyen, Hoan Anh and Pham, Nam H. and Al-Kofahi, Jafar and Nguyen, Tien N.},
 title = {Recurring Bug Fixes in Object-oriented Programs},
 booktitle = {Proceedings of the 32Nd ACM/IEEE International Conference on Software Engineering - Volume 1},
 series = {ICSE '10},
 year = {2010},
 isbn = {978-1-60558-719-6},
 location = {Cape Town, South Africa},
 pages = {315--324},
 numpages = {10},
 url = {http://doi.acm.org/10.1145/1806799.1806847},
 doi = {10.1145/1806799.1806847},
 acmid = {1806847},
 publisher = {ACM},
 address = {New York, NY, USA}
}

@inproceedings{Nguy10a,
 author = {Nguyen, Hoan Anh and Nguyen, Tung Thanh and Wilson,Jr., Gary and Nguyen, Anh Tuan and Kim, Miryung and Nguyen, Tien N.},
 title = {A Graph-based Approach to {API} Usage Adaptation},
 booktitle = {Proceedings of the ACM International Conference on Object Oriented Programming Systems Languages and Applications},
 series = {OOPSLA '10},
 year = {2010},
 isbn = {978-1-4503-0203-6},
 location = {Reno/Tahoe, Nevada, USA},
 pages = {302--321},
 numpages = {20},
 url = {http://doi.acm.org/10.1145/1869459.1869486},
 doi = {10.1145/1869459.1869486},
 acmid = {1869486},
 publisher = {ACM},
 address = {New York, NY, USA},
 keywords = {API evolution, API usage adaptation, API usage model, program differencing, software evolution}
}

@inproceedings{Nguy13a,
 author = {Nguyen, Khanh and Xu, Guoqing},
 title = {Cachetor: Detecting Cacheable Data to Remove Bloat},
 booktitle = {Proceedings of the 2013 9th Joint Meeting on Foundations of Software Engineering},
 series = {ESEC/FSE 2013},
 year = {2013},
 isbn = {978-1-4503-2237-9},
 location = {Saint Petersburg, Russia},
 pages = {268--278},
 numpages = {11},
 url = {http://doi.acm.org/10.1145/2491411.2491416},
 doi = {10.1145/2491411.2491416},
 acmid = {2491416},
 publisher = {ACM},
 address = {New York, NY, USA},
 keywords = {Runtime bloat, cacheable data, dynamic dependence analysis, performance optimization}
}

@inproceedings{Nguy13b,
 author = {Nguyen, Hoang Duong Thien and Qi, Dawei and Roychoudhury, Abhik and Chandra, Satish},
 title = {SemFix: Program Repair via Semantic Analysis},
 booktitle = {Proceedings of the 2013 International Conference on Software Engineering},
 series = {ICSE '13},
 year = {2013},
 isbn = {978-1-4673-3076-3},
 location = {San Francisco, CA, USA},
 pages = {772--781},
 numpages = {10},
 url = {http://dl.acm.org/citation.cfm?id=2486788.2486890},
 acmid = {2486890},
 publisher = {IEEE Press},
 address = {Piscataway, NJ, USA}
}

@inproceedings{Nguy13c,
  title={A study of repetitiveness of code changes in software evolution},
  author={Nguyen, Hoan Anh and Nguyen, Anh Tuan and Nguyen, Tung Thanh and Nguyen, Tuan N and Rajan, Hridesh},
  booktitle={Automated Software Engineering (ASE), 2013 IEEE/ACM 28th International Conference on},
  pages={180--190},
  year={2013},
  organization={IEEE}
}

@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{Nico86,
	Address = {Los Alamitos, CA, USA},
	Author = {A. Nico Habermann and David Notkin},
	Doi = {10.1109/TSE.1986.6313007},
	Issn = {0098-5589},
	Journal = {IEEE Transactions on Software Engineering},
	Number = {12},
	Pages = {1117-1127},
	Publisher = {IEEE Computer Society},
	Title = {Gandalf: Software development environments},
	Volume = {12},
	Year = {1986},
	Bdsk-Url-1 = {http://dx.doi.org/10.1109/TSE.1986.6313007}}

@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{Nie19a,
  author    = {Pengyu Nie and
               Rishabh Rai and
               Junyi Jessy Li and
               Sarfraz Khurshid and
               Raymond J. Mooney and
               Milos Gligoric},
  editor    = {Marlon Dumas and
               Dietmar Pfahl and
               Sven Apel and
               Alessandra Russo},
  title     = {A framework for writing trigger-action todo comments in executable
               format},
  booktitle = {Proceedings of the {ACM} Joint Meeting on European Software Engineering
               Conference and Symposium on the Foundations of Software Engineering,
               {ESEC/SIGSOFT} {FSE} 2019, Tallinn, Estonia, August 26-30, 2019},
  pages     = {385--396},
  publisher = {{ACM}},
  year      = {2019},
  url       = {https://doi.org/10.1145/3338906.3338965},
  doi       = {10.1145/3338906.3338965},
  Keywords =  {comment-quality-slr},
  timestamp = {Fri, 09 Aug 2019 14:13:18 +0200},
  biburl    = {https://dblp.org/rec/conf/sigsoft/NieRLKMG19.bib},
  bibsource = {dblp computer science bibliography, https://dblp.org}
}

@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}}

@inproceedings{Niel93b,
 author = {Nielsen, Jakob and Landauer, Thomas K.},
 title = {A Mathematical Model of the Finding of Usability Problems},
 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 = {206--213},
 numpages = {8},
 url = {http://kevin.godby.org/wp-content/uploads/2008/06/p206-nielsen.pdf},
 doi = {10.1145/169059.169166},
 acmid = {169166},
 publisher = {ACM},
 address = {New York, NY, USA},
 keywords = {Poisson models, cost-benefit analysis, heuristic evaluation, iterative design, usability engineering, usability problems, user testing}
}

@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{Niel99a,
	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}}

@book{Niel09a,
  title={Bayesian networks and decision graphs},
  author={Nielsen, Thomas Dyhre and Jensen, Finn Verner},
  year={2009},
  publisher={Springer}
}

@incollection{Niel11a,
	Author = {Nielsen, Lasse and Henglein, Fritz},
	Booktitle = {Language and Automata Theory and Applications},
	Doi = {10.1007/978-3-642-21254-3\_32},
	Editor = {Dediu, Adrian-Horia and Inenaga, Shunsuke and Mart\'{\i}n-Vide, Carlos},
	Pages = {402--413},
	Publisher = {Springer Berlin Heidelberg},
	Series = {Lecture Notes in Computer Science},
	Title = {Bit-coded Regular Expression Parsing},
	Volume = {6638},
	Year = {2011},
	Bdsk-Url-1 = {http://dx.doi.org/10.1007/978-3-642-21254-3%5C_32}}

@article{Niel19a,
  title={Commenting Source Code: Is It Worth It for Small Programming Tasks?},
  author={Nielebock, Sebastian and Krolikowski, Dariusz and Kr{\"u}ger, Jacob and Leich, Thomas and Ortmeier, Frank},
  journal={Empirical Software Engineering},
  volume={24},
  number={3},
  pages={1418--1457},
  year={2019},
  publisher={Springer}
}

@mastersthesis{Niem20a,
	Title = {Modeling requirements artifacts in an {IDE}},
	Author = {Robert Niemiec},
	Abstract = {A plethora of artifacts are available for practitioners
		to document and communicate requirements. Artifacts
		evolve as the requirements engineering (RE) process
		advances. Therefore, using numerous artifacts with
		various granularities of details they hold, causes
		problems like manual translation efforts and
		inconsistencies while reflecting requirements changes
		across artifacts. Furthermore, employing distinct tools
		for creation and management of artifacts only leads to
		fragmented knowledge, and eventually, traceability
		issues. In this thesis, we propose an approach to
		manage requirements related artifacts inside a single
		platform, i.e., the integrated development environment
		(IDE). First, we compiled a list of artifacts from a
		selection of studies. We performed a classification of
		the selected artifacts to reason about their
		characteristics and usage patterns. Towards providing a
		practical tool to illustrate our approach, we modeled a
		selection of artifacts in the Pharo programming
		environment. It serves as a centralized platform for
		creating, viewing, and managing requirements through a
		combination of selected artifacts. We speculate that
		such an approach can bring requirements specification
		closer to their implementation. Additionally, it will
		facilitate and support collaboration among diverse
		stakeholders by preserving their knowledge within a
		single tool.},
	Keywords = {scg-msc snf-asa3 scg20 jb21},
	School = {University of Bern},
	Type = {Masters thesis},
	Url = {http://scg.unibe.ch/archive/masters/Niem20a.pdf},
	Month = sep,
	Year = {2020}
}

@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 scg-none 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 scg-none jb94 scg-none 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) scg-none 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 scg-none 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 scg-none 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 scg-none 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 scg-none 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 scg-none 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 scg-none jb98},
	Number = {\#WUCS-98-25},
	Title = {Identify the Champion},
	Type = {Proceedings of PLoP 98, TR},
	Url = {http://scg.unibe.ch/download/champion/champion.pdf},
	url2 = {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 scg-none 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 scg-none jb98 snf99 jb00},
	Pages = {539--556},
	Publisher = {Addison Wesley},
	Title = {Identify the Champion},
	url = {http://scg.unibe.ch/archive/papers/Nier00aIdentifyTheChampion.pdf},
	Url2 = {http://scg.unibe.ch/download/champion/champion.pdf},
	url3 = {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 scg-none 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 scg-none 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 scg-none jb00 scg-coord-00},
	Title = {Separation of Concerns through Unification of Concepts},
	Url = {http://scg.unibe.ch/archive/papers/Nier00dSeparationOfConcerns.pdf},
	url2 = {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 scg-none 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 scg-none 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 scg-none jb03 piccola},
	Month = jun,
	Number = {IAM-03-003},
	Title = {A Guide to {JP}iccola},
	Type = {Technical Report},
	url = {http://scg.unibe.ch/archive/papers/Nier03aJPiccolaGuide.pdf},
	Url2 = {http://scg.unibe.ch/research/piccola},
	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 scg-none 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 scg-none 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 scg-none 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 scg-none 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 scg-none 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 scg-none 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 scg-none 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 scg-none 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, USA},
	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 scg-none jb06 onhindex(81) mooseCincom moose-pub snf-actsc snf-bmcc norex06},
	Month = sep,
	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 scg-none 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 scg-none 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 scg-none 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 scg-none 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},
	Doi = {10.5381/jot.2006.5.4.a4},
	Inria = {hors},
	Journal = {Journal of Object Technology},
	Keywords = {scg-pub skip-doi scg-rotor traits scg-none 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}},
	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 scg-none 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 scg-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.},
	Acceptnum = {33},
	Accepttotal = {62},
	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 parsebyexample},
	Medium = {2},
	Misc = {acceptance rate: 33/62 = 52\%},
	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 scg-none 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 scg-none 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,
	Annote = {invited},
	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.},
	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},
	Pages = {77--95},
	Peerreview = {yes},
	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},
	Doi = {10.5381/jot.2010.9.5.e1},
	Issn = {1660-1769},
	Journal = {Journal of Object Technology},
	Keywords = {scg-pub snf-none scg10 jb11 skip-abstract},
	Medium = {1},
	Month = sep,
	Note = {(editorial --- transcript of ECOOP 2010 banquet speech)},
	Number = {5},
	Peerreview = {no},
	Title = {Ten Things {I} Hate About Object-Oriented Programming},
	Url = {http://www.jot.fm/contents/issue_2010_09/editorial.html},
	Volume = {9},
	Year = {2010},
	Bdsk-Url-1 = {http://www.jot.fm/contents/issue_2010_09/editorial.html},
	Bdsk-Url-2 = {http://dx.doi.org/10.5381/jot.2010.9.5.e1}}

@article{Nier12a,
	Abstract = {During software maintenance, much time is spent reading and assessing existing code.
Unfortunately most of the tools available for exploring and assessing code, such as browsers, debuggers and
profilers, focus on development tasks, and offer little to support program understanding. We present a
platform for software and data analysis, called Moose, which enables the rapid development of custom tools
for software assessment. We demonstrate how Moose supports agile software assessment through a series of
demos, we illustrate some of the custom tools that have been developed, and we draw various lessons learned
for future work in this domain.},
	Acmid = {2180925},
	Acmpage = {http://dl.acm.org/citation.cfm?id=2180925},
	Address = {New York, NY, USA},
	Author = {Oscar Nierstrasz},
	Doi = {10.1145/180921.2180925},
	Issn = {0163-5948},
	Issue_Date = {May 2012},
	Journal = {SIGSOFT Softw. Eng. Notes},
	Keywords = {scg-pub snf12 scg12 jb12 moose-pub},
	Medium = {2},
	Month = may,
	Number = {3},
	Numpages = {5},
	Pages = {1--5},
	Annote = {invited},
	Peerreview = {no},
	Publisher = {ACM},
	Title = {Agile software assessment with {Moose}},
	Url = {http://scg.unibe.ch/archive/papers/Nier12aASA.pdf},
	Volume = {37},
	Year = {2012},
	Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Nier12aASA.pdf},
	Bdsk-Url-2 = {http://dx.doi.org/10.1145/180921.2180925}}

@inproceedings{Nier12b,
	Abstract = {Informed decision making is a critical activity in software development, but it is poorly
  supported by common development environments, which focus mainly on low-level programming tasks. We posit
  the need for agile software assessment, which aims to support decision making by enabling rapid and
  effective construction of software models and custom analyses. Agile software assessment entails
  gathering and exploiting the broader context of software information related to the system at hand as
  well as the ecosystem of related projects, and beyond to include ``big software data''. Finally, informed
  decision making entails continuous assessment by monitoring the evolving system and its architecture. We
  identify several key research challenges in supporting agile software assessment by focusing on
  customization, context and continuous assessment.},
	Author = {Oscar Nierstrasz and Mircea Lungu},
	Booktitle = {Proceedings of International Conference on Program Comprehension (ICPC 2012)},
	Doi = {10.1109/ICPC.2012.6240507},
	Issn = {1063-6897},
	Keywords = {scg-pub snf12 snf-asa1 scg12 jb12 moose-pub},
	Medium = {2},
	Pages = {3--10},
	Peerreview = {no},
	Title = {Agile software assessment},
	Annote = {invited},
	Url = {http://scg.unibe.ch/archive/papers/Nier12bASA.pdf},
	Year = {2012},
	Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Nier12bASA.pdf},
	Bdsk-Url-2 = {http://dx.doi.org/10.1109/ICPC.2012.6240507}}

@incollection{Nier13a,
	Author = {Oscar Nierstrasz and Alexandre Bergel and Damien Cassou and St\'ephane Ducasse and Jannik Laval},
	Booktitle = {Deep Into Pharo},
	Isbn = {978-3-9523341-6-4},
	Keywords = {jb14 snf-none scg-pub scg13 skip-doi skip-abstract},
	Medium = {2},
	Month = sep,
	Pages = 21,
	Peerreview = {no},
	Publisher = {Square Bracket Associates},
	Title = {Regular Expressions in Pharo},
	Url = {http://scg.unibe.ch/archive/papers/Nier13aRegEx.pdf},
	Year = {2013},
	Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Nier13aRegEx.pdf}}

@incollection{Nier13b,
	Author = {Oscar Nierstrasz and Alexandre Bergel and Damien Cassou and St\'ephane Ducasse and Jannik Laval},
	Booktitle = {Deep Into Pharo},
	Isbn = {978-3-9523341-6-4},
	Keywords = {jb14 snf-none scg-pub scg13 skip-doi skip-abstract},
	Medium = {2},
	Month = sep,
	Pages = 27,
	Peerreview = {no},
	Publisher = {Square Bracket Associates},
	Title = {Versioning Your Code with Monticello},
	Url = {http://scg.unibe.ch/archive/papers/Nier13bMonticello.pdf},
	Year = {2013},
	Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Nier13bMonticello.pdf}}

@article{Nier13c,
	Abstract = {Abstract In order to analyze software systems, it is necessary to
		model them. Static software models are commonly imported by parsing source
        code and related data. Unfortunately, building custom parsers for most
        programming languages is a non-trivial endeavour. This poses a major
        bottleneck for analyzing software systems programmed in languages for
        which importers do not already exist. Luckily, initial software models do
        not require detailed parsers, so it is possible to start analysis with a
        coarse-grained importer, which is then gradually refined. In this paper we
        propose an approach to "agile modeling" that exploits island grammars to
        extract initial coarse-grained models, parser combinators to enable
        gradual refinement of model importers, and various heuristics to recognize
        language structure, keywords and other language artifacts.},
	Author = {Oscar Nierstrasz and Jan Kur\v{s}},
	Doi = {10.1016/j.scico.2013.11.011},
	Issn = {0167-6423},
	Journal = {Science of Computer Programming},
	Keywords = {jb14 snf-asa1 scg-pub scg13 kursjan},
	Annote = {internationaljournal},
	Medium = {2},
	Number = {0},
	Pages = {150--156},
	Peerreview = {yes},
	Title = {Parsing for agile modeling},
	Url = {http://scg.unibe.ch/archive/papers/Nier13cAgileModeling.pdf},
	Volume = {97, Part 1},
	Year = {2015},
	Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Nier13cAgileModeling.pdf},
	Bdsk-Url-2 = {http://dx.doi.org/10.1016/j.scico.2013.11.011}}

@inproceedings{Nier16a,
	Annote = {invited},
	Annote = {internationalconference},
	Abstract = {Modern software systems are increasingly long-lived. In order to gracefully
			evolve these systems as they address new requirements, developers need
			to navigate effectively between domain concepts and the code that
			addresses those domains. One of the original promises of
			object-orientation was that the same object-oriented models would be
			used throughout requirements analysis, design and implementation.
			Software systems today however are commonly constructed from a
			heterogeneous ``language soup'' of mainstream code and dedicated DSLs
			addressing a variety of application and technical domains. Has
			object-oriented programming outlived its purpose? In this essay we
			argue that we need to rethink the original goals of object-orientation
			and their relevance for modern software development. We propose as a
			driving maxim, ``Programming is Modeling,'' and explore what this
			implies for programming languages, tools and environments. In
			particular, we argue that: (1) source code should serve not only to
			specify an implementation of a software system, but should encode a
			queryable and manipulable model of the application and technical
			domains concerned; (2) IDEs should exploit these domain models to
			enable inexpensive browsing, querying and analysis by developers; and
			(3) barriers between the code base, the running application, and the
			software ecosystem at large need to be broken down, and their
			connections exploited and monitored to support developers in
			comprehension and evolution tasks.},
	Author = {Oscar Nierstrasz},
	Booktitle = {FASE 2016},
	Editor = {Perdita Stevens and Andrzej Wasowski},
	Keywords = {scg-pub scg16 jb16},
	Doi = {10.1007/978-3-662-49665-7_1},
	Pages = {3--10},
	Medium = {2},
	Peerreview = {yes},
	Publisher = {Springer-Verlag},
	Series = {LNCS},
	Title = {The Death of Object-Oriented Programming},
	Url = {http://scg.unibe.ch/archive/papers/Nier16a-death-of-oop.pdf},
	Volume = {9633},
	Year = {2016}
}

@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}}

@incollection{Nils09a,
    year={2009},
    isbn={978-3-642-00433-9},
    booktitle={Software Language Engineering},
    volume={5452},
    series={Lecture Notes in Computer Science},
    editor={Ga\v{s}evi\'{c}, Dragan and L\"{a}mmel, Ralf and Van Wyk, Eric},
    doi={10.1007/978-3-642-00434-6_7},
    title={Practical Scope Recovery Using Bridge Parsing},
    url={http://dx.doi.org/10.1007/978-3-642-00434-6_7},
    publisher={Springer Berlin Heidelberg},
    author={Nilsson-Nyman, Emma and Ekman, Torbj\"{o}rn and Hedin, G\"{o}rel},
    pages={95-113},
    language={English}
}

@article{Nils19a,
  title={A Comparative Case Study on Tools for Internal Software Quality Measures},
  author={Nilsson, Mayra},
  url={https://gupea.ub.gu.se/handle/2077/62453},
  journal= {none},
  year={2019}
}

@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{Nist13a,
	Acmid = {2486862},
	Address = {Piscataway, NJ, USA},
	Author = {Nistor, Adrian and Song, Linhai and Marinov, Darko and Lu, Shan},
	Booktitle = {Proceedings of the 2013 International Conference on Software Engineering},
	Isbn = {978-1-4673-3076-3},
	Location = {San Francisco, CA, USA},
	Numpages = {10},
	Pages = {562--571},
	Publisher = {IEEE Press},
	Series = {ICSE '13},
	Title = {Toddler: Detecting Performance Problems via Similar Memory-access Patterns},
	Url = {http://dl.acm.org/citation.cfm?id=2486788.2486862},
	Year = {2013},
	Bdsk-Url-1 = {http://dl.acm.org/citation.cfm?id=2486788.2486862}}

@inproceedings{Nist13b,
 author = {Nistor, Adrian and Jiang, Tian and Tan, Lin},
 title = {Discovering, Reporting, and Fixing Performance Bugs},
 booktitle = {Proceedings of the 10th Working Conference on Mining Software Repositories},
 series = {MSR '13},
 year = {2013},
 isbn = {978-1-4673-2936-1},
 location = {San Francisco, CA, USA},
 pages = {237--246},
 numpages = {10},
 url = {http://dl.acm.org/citation.cfm?id=2487085.2487134},
 acmid = {2487134},
 publisher = {IEEE Press},
 address = {Piscataway, NJ, USA}
}

@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}}

@incollection{Nobl09a,
  title={The Myths of Object-Orientation},
  author={Noble, James},
  booktitle={ECOOP 2009--Object-Oriented Programming},
  pages={619--629},
  year={2009},
  publisher={Springer},
  doi={10.1007/978-3-642-03013-0_29},
  Series = {LNCS},
  Volume = {5653}
}

@inproceedings{Noda09a,
	title = {Sequence diagram slicing},
	author = {Noda, Kunihiro and Kobayashi, Takashi and Agusa, Kiyoshi and Yamamoto, Shinichiro},
	booktitle = {Software Engineering Conference, 2009. APSEC'09. Asia-Pacific},
	pages = {291--298},
	year = {2009},
	organization = {IEEE}}

@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}}

@book{Norm02a,
 author = {Norman, Donald A.},
 title = {The Design of Everyday Things},
 year = {2002},
 isbn = {9780465067107},
 publisher = {Basic Books, Inc.},
 address = {New York, NY, USA},
 keywords = {eselit}
}

@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{Norv91a,
	Author = {Norvig, P.},
	Document_Type = {Article},
	Journal = {Computational Linguistics},
	Number = {1},
	Pages = {91-98},
	Source = {Scopus},
	Title = {Techniques for Automatic Memoization with Applications to Context-Free Parsing},
	Volume = {17},
	Year = {1991}}

@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}}

@inproceedings{Nova14a,
  title={What Questions Developers Ask During Software Evolution? An Academic Perspective},
  author={Novais, Renato and Brito, Creidiane and Mendon{\c{c}}a, Manoel},
  booktitle={2nd Workshop on Software Visualization, Evolution, and Maintenance (VEM 2014)},
  pages={14--21},
  Keywords = {dev-questions},
  year={2014}
}

@article{Nova17a,
title = {Experimentally assessing the combination of multiple visualization strategies for software evolution analysis},
journal = {Journal of Systems and Software},
volume = {128},
pages = {56--71},
year = {2017},
issn = {0164-1212},
doi = {10.1016/j.jss.2017.03.006},
url = {http://www.sciencedirect.com/science/article/pii/S0164121217300572},
author = {Renato Novais and Jos\'e Amancio Santos and Manoel Mendon\c{c}a},
abstract = {Abstract Software engineers need to comprehend large amounts of data to maintain software. Software Visualization is an area that helps users to analyze software through the use of visual resources. It can be effectively used to understand the large amount of data produced during software evolution. A key challenge in the area is to create strategies to consistently visualize the many software attributes, modules and versions produced during its lifecycle. Most of the current visualization strategies seek to present data as a whole, including all available versions of the software in one visual scene. The area lacks strategies visualizing software in detail through the analysis of the evolution of specific software modules. Both strategies are useful, and should be selected according to the task at hand. This work focuses on combining software evolution visualization strategies, experimentally validating the benefits of the approach. Its goal was to build empirical evidence on the use of the combined multiple strategies for software evolution comprehension. It presents an experimental study that exploits the benefits of combining multiple visual strategies of software evolution analysis. The results show that combined visualization strategies perform better in terms of correctness and analysis time.}
}

@book{Novak10,
	Author = {Novak, J.D.},
	Isbn = {9780415991841},
	Lccn = {2009044207},
	Publisher = {Taylor \& Francis},
	Title = {Learning, Creating, and Using Knowledge: Concept Maps as Facilitative Tools in Schools and Corporations},
	Year = {2010}}

@inproceedings{Nucc17a,
author={D. Di Nucci and F. Palomba and A. Prota and A. Panichella and A. Zaidman and A. De Lucia},
booktitle={2017 IEEE 24th International Conference on Software Analysis, Evolution and Reengineering (SANER)},
title={Software-based energy profiling of {Android} apps: Simple, efficient and reliable?},
year={2017},
pages={103-114},
keywords={green computing;mobile computing;Android apps;PETRA;hardware-based MONSOON toolkit;mean relative error;software-based energy profiling;Androids;Energy consumption;Energy measurement;Estimation;Hardware;Humanoid robots;Mobile communication;Energy Consumption;Estimation;Mobile Apps},
doi={10.1109/SANER.2017.7884613},
month=feb
}

@inproceedings{Nugr11a,
 author = {Nugroho, Ariadi and Visser, Joost and Kuipers, Tobias},
 title = {An Empirical Model of Technical Debt and Interest},
 booktitle = {Proceedings of the 2Nd Workshop on Managing Technical Debt},
 series = {MTD '11},
 year = {2011},
 isbn = {978-1-4503-0586-0},
 location = {Waikiki, Honolulu, HI, USA},
 pages = {1--8},
 numpages = {8},
 url = {http://doi.acm.org/10.1145/1985362.1985364},
 doi = {10.1145/1985362.1985364},
 acmid = {1985364},
 publisher = {ACM},
 address = {New York, NY, USA},
 keywords = {cost, effort, estimation, maintenance, measurement, software economics}
}

@inproceedings{Nurv03a,
  title={Do class comments aid {Java} program understanding?},
  author={Nurvitadhi, Eriko and Leung, Wing Wah and Cook, Curtis},
  booktitle={33rd Annual Frontiers in Education, 2003. FIE 2003.},
  volume={1},
  pages={T3C--T3C},
  year={2003},
  organization={IEEE}
}

@inproceedings{Nuse03a,
	Acmid = {776914},
	Address = {Washington, DC, USA},
	Author = {Nuseibeh, Bashar and Kramer, Jeff and Finkelstein, Anthony},
	Booktitle = {Proceedings of the 25th International Conference on Software Engineering},
	Isbn = {0-7695-1877-X},
	Keywords = {relationships perin},
	Location = {Portland, Oregon},
	Numpages = {6},
	Pages = {676--681},
	Publisher = {IEEE Computer Society},
	Series = {ICSE '03},
	Title = {ViewPoints: meaningful relationships are difficult!},
	Url = {http://dl.acm.org/citation.cfm?id=776816.776914},
	Year = {2003},
	Bdsk-Url-1 = {http://dl.acm.org/citation.cfm?id=776816.776914}}

@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{Nyst03b,
 author = {Nystr\"{o}m, Sven-Olof},
 title = {A Soft-typing System for {E}rlang},
 booktitle = {Proceedings of the 2003 ACM SIGPLAN Workshop on Erlang},
 series = {ERLANG '03},
 year = {2003},
 isbn = {1-58113-772-9},
 location = {Uppsala, Sweden},
 pages = {56--71},
 numpages = {16},
 url = {http://doi.acm.org/10.1145/940880.940888},
 doi = {10.1145/940880.940888},
 acmid = {940888},
 publisher = {ACM},
 address = {New York, NY, USA}
}

@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{Nyst11a,
 author = {Nystrom, Nathaniel and White, Derek and Das, Kishen},
 title = {Firepile: Run-time Compilation for GPUs in Scala},
 booktitle = {Proceedings of the 10th ACM International Conference on Generative Programming and Component Engineering},
 series = {GPCE '11},
 year = {2011},
 isbn = {978-1-4503-0689-8},
 location = {Portland, Oregon, USA},
 pages = {107--116},
 numpages = {10},
 url = {http://doi.acm.org/10.1145/2047862.2047883},
 doi = {10.1145/2047862.2047883},
 acmid = {2047883},
 publisher = {ACM},
 address = {New York, NY, USA},
 keywords = {gpu, opencl, run-time code generation, scala}
}

@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,
	Author = {OMG},
	Institution = {Object Management Group},
	Keywords = {damiencbib corba},
	Number = {2.0},
	Title = {The Common Object Request Broker: Architecture and Specification},
	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}}

@manual{OMG11a,
  title = {{UML Profile for MARTE, v1.1}},
  author = {{OMG}},
  organization = {Object Management Group},
  year = {2011},
  note = {formal/2009-11-02}
}

@misc{OMGRTC,
	Key = {OMG RTC},
	Keywords = {robotics},
	Title = {OMG RTC: Robotic Technology Component Specification 1.0},
	Url = {http://www.omg.org/spec/RTC},
	Year = {2008},
	Bdsk-Url-1 = {http://www.omg.org/spec/RTC}}

@inproceedings{ONeil05a,
	Address = {Washington, DC, USA},
	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},
	Doi = {10.1109/TRIDNT.2005.7},
	Keywords = {tatus damiencbib},
	Pages = {60--69},
	Publisher = {IEEE Computer Society},
	Title = {A Testbed for Evaluating Human Interaction with Ubiquitous Computing Environments},
	Year = {2005},
	Bdsk-Url-1 = {http://dx.doi.org/10.1109/TRIDNT.2005.7}}

@misc{OSGi,
	Key = {OSGi},
	Keywords = {damiencbib},
	Title = {OSGi Alliance},
	Url = {http://www.osgi.org},
	Year = {2000},
	Bdsk-Url-1 = {http://www.osgi.org}}

@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{Odai05,
	Acmid = {1048998},
	Address = {Washington, DC, USA},
	Author = {Odaira, Rei and Hiraki, Kei},
	Booktitle = {Proceedings of the International Symposium on Code Generation and Optimization},
	Doi = {10.1109/CGO.2005.32},
	Isbn = {0-7695-2298-X},
	Numpages = {11},
	Pages = {328--338},
	Publisher = {IEEE Computer Society},
	Series = {CGO '05},
	Title = {Sentinel PRE: Hoisting Beyond Exception Dependency with Dynamic Deoptimization},
	Url = {http://dx.doi.org/10.1109/CGO.2005.32},
	Year = {2005},
	Bdsk-Url-1 = {http://dx.doi.org/10.1109/CGO.2005.32}}

@inproceedings{Odai12a,
 author = {Odaira, Rei and Nakatani, Toshio},
 title = {Continuous Object Access Profiling and Optimizations to Overcome the Memory Wall and Bloat},
 booktitle = {Proceedings of the Seventeenth International Conference on Architectural Support for Programming Languages and Operating Systems},
 series = {ASPLOS XVII},
 year = {2012},
 isbn = {978-1-4503-0759-8},
 location = {London, England, UK},
 pages = {147--158},
 numpages = {12},
 url = {http://doi.acm.org/10.1145/2150976.2150993},
 doi = {10.1145/2150976.2150993},
 acmid = {2150993},
 publisher = {ACM},
 address = {New York, NY, USA},
 keywords = {memory management, memory protection, profiling}
}

@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 = {Martin 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}}

@inproceedings{Oder05b,
	Acmid = {1094815},
	Address = {New York, NY, USA},
	Author = {Odersky, Martin and Zenger, Matthias},
	Booktitle = {Proceedings of the 20th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications},
	Date-Added = {2013-02-16 17:48:02 +0000},
	Date-Modified = {2013-05-23 12:55:56 +0000},
	Doi = {10.1145/1094811.1094815},
	Isbn = {1-59593-031-0},
	Keywords = {family},
	Location = {San Diego, CA, USA},
	Numpages = {17},
	Pages = {41--57},
	Publisher = {ACM},
	Rating = {5},
	Series = {OOPSLA '05},
	Title = {Scalable component abstractions},
	Url = {http://doi.acm.org/10.1145/1094811.1094815},
	Year = {2005},
	Bdsk-Url-1 = {http://doi.acm.org/10.1145/1094811.1094815},
	Bdsk-Url-2 = {http://dx.doi.org/10.1145/1094811.1094815}}

@techreport{Oder06a,
	Abstract = {Scala fuses object-oriented and functional programming
                 in a statically typed programming language. It is aimed
                 at the construction of components and component systems.
                 This paper gives an overview of the Scala language for
                 readers who are familar with programming methods and
                 programming language design.},
	Author = {Odersky, Martin and Altherr, Philippe and Cremet, Vincent and Dragos, Iulian and Dubochet, Gilles and Emir, Burak and McDirmid, Sean and Micheloud, St\'ephane and Mihaylov, Nikolay and Schinz, Michel and Spoon, Lex and Stenman, Erik and Zenger, Matthias},
	Details = {http://infoscience.epfl.ch/record/85634},
	Documenturl = {http://infoscience.epfl.ch/record/85634/files/ScalaOverview.pdf},
	Institution = {\'Ecole Polytechnique F\'ed\'erale de Lausanne},
	Keywords = {components; programming language design; type systems; web services; functional programming; object-oriented programming; XML processing},
	Oai-Id = {oai:infoscience.epfl.ch:85634},
	Oai-Set = {driver},
	Status = {PUBLISHED},
	Title = {An {O}verview of the {S}cala {P}rogramming {L}anguage (2. Edition)},
	Unit = {LAMP},
	Year = {2006}}

@techreport{Oder07a,
	Address = {1015 Lausanne, Switzerland},
	Author = {Martin Odersky},
	Institution = {\'Ecole Polytechnique F\'ed\'erale de Lausanne},
	Month = mar,
	Title = {Scala Language Specification 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}}

@inproceedings{Oder09a,
	Address = {Dagstuhl, Germany},
	Annote = {Keywords: Programming languages, scala, avoiding code duplication, higher-order kinds, type systems, polymorphism, collections library},
	Author = {Martin Odersky and Adriaan Moors},
	Booktitle = {IARCS Annual Conference on Foundations of Software Technology and Theoretical Computer Science (FSTTCS 2009)},
	Doi = {10.4230/LIPIcs.FSTTCS.2009.2338},
	Editor = {Ravi Kannan and K Narayan Kumar},
	Isbn = {978-3-939897-13-2},
	Issn = {1868-8969},
	Pages = {427--451},
	Publisher = {Schloss Dagstuhl--Leibniz-Zentrum fuer Informatik},
	Series = {Leibniz International Proceedings in Informatics (LIPIcs)},
	Title = {Fighting bit Rot with Types (Experience Report: Scala Collections)},
	Url = {http://drops.dagstuhl.de/opus/volltexte/2009/2338},
	Volume = {4},
	Year = {2009},
	Bdsk-Url-1 = {http://drops.dagstuhl.de/opus/volltexte/2009/2338},
	Bdsk-Url-2 = {http://dx.doi.org/10.4230/LIPIcs.FSTTCS.2009.2338}}

@mastersthesis{Odga14a,
	Author = {Morten Passow Odgaard},
	School = {Aarhus University},
	Title = {Java{S}cript Type Inference Using Dynamic Analysis},
	Url = {http://cs.au.dk/fileadmin/site_files/cs/Masters_and_diplomas/MortenPassowOdgaard.pdf},
	Year = {2014},
	Bdsk-Url-1 = {http://scg.unibe.ch/archive/external/JavaScriptTypeInferenceUsingDynamicAnalysisMasterThesis.pdf}}

@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{Ogur18a,
  title={Bring your own coding style},
  author={Ogura, Naoto and Matsumoto, Shinsuke and Hata, Hideaki and Kusumoto, Shinji},
  booktitle={2018 IEEE 25th International Conference on Software Analysis, Evolution and Reengineering (SANER)},
  pages={527--531},
  year={2018},
  organization={IEEE}
}

@article{Ohls96,
	Acmid = {246143},
	Address = {Piscataway, NJ, USA},
	Author = {Ohlsson, Niclas and Alberg, Hans},
	Doi = {10.1109/32.553637},
	Issn = {0098-5589},
	Issue_Date = {December 1996},
	Journal = {IEEE Trans. Softw. Eng.},
	Keywords = {Complexity, empirical study, fault-prone modules, metrics, prediction, software measurement, regression analysis, software reliability, statistical analysis.},
	Month = dec,
	Number = {12},
	Numpages = {9},
	Pages = {886--894},
	Publisher = {IEEE Press},
	Title = {Predicting Fault-Prone Software Modules in Telephone Switches},
	Url = {http://dx.doi.org/10.1109/32.553637},
	Volume = {22},
	Year = {1996},
	Bdsk-Url-1 = {http://dx.doi.org/10.1109/32.553637}}

@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}}

@inproceedings{Oi10a,
author={H. Oi},
booktitle={Computer Engineering and Applications (ICCEA), 2010 Second International Conference on},
title={A Comparative Study of JVM Implementations with SPECjvm2008},
year={2010},
volume={1},
pages={351-357},
keywords={Java;Monte Carlo methods;XML;performance evaluation;program processors;virtual machines;JRockit;JVM;Java virtual machines;Monte Carlo method;Oracle;SPECjvm2008;Sun microsystems;XML file processors;benchmark program;cache hierarchies;standard performance evaluation corporation;Clocks;Hardware;Java;Kernel;Measurement;Microarchitecture;Runtime environment;Sun;Virtual machining;XML;Java Virtual Machine;Performance Evaluation;Workload Analysis},
doi={10.1109/ICCEA.2010.75},
month=mar
}

@inproceedings{Oi11a,
author={H. Oi},
booktitle={Information Technology and Multimedia (ICIM), 2011 International Conference on},
title={Power-performance analysis of JVM implementations},
year={2011},
pages={1-7},
keywords={Java;power aware computing;software performance evaluation;virtual machines;Atom-based netbook;IBM I9;JVM;Java application programs;Java language;Java virtual machines;OpenJDK;SPECjvm2008;Ubuntu operating system;performance evaluation;power-performance analysis;write-once run-anywhere property;Benchmark testing;Clocks;Cryptography;Instruction sets;Java;Power demand;XML;Performance Evaluation;Power Consumption;SPECjvm2008},
doi={10.1109/ICIMU.2011.6122743},
month=nov
}

@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}}

@article{Okho04a,
	title = {Boolean grammars},
	journal = {Information and Computation},
	volume = {194},
	number = {1},
	pages = {19 - 48},
	year = {2004},
	issn = {0890-5401},
	doi = {10.1016/j.ic.2004.03.006},
	url = {http://www.sciencedirect.com/science/article/pii/S0890540104001075},
	author = {Alexander Okhotin}
}

@inproceedings{Okho05a,
    author = {Alexander Okhotin},
    title = {On the existence of a Boolean grammar for a simple programming language},
    booktitle = {Proceedings of AFL 2005 (May 17-20, 2005, Dobogoko},
    year = {2005}
}

@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,
	Address = {Asheville, NC, USA},
	Author = {Oki, Brian and Pfluegl, Manfred and Siegel, Alex and Skeen, Dale},
	Booktitle = {SOSP'93: Proceedings of the 14th Symposium on Operating systems principles},
	Doi = {10.1145/168619.168624},
	Keywords = {damiencbib publish-subscribe},
	Pages = {58--68},
	Publisher = {ACM Press},
	Title = {The Information Bus: An architecture for extensible distributed systems},
	Year = {1993},
	Bdsk-Url-1 = {http://dx.doi.org/10.1145/168619.168624}}

@inproceedings{Okon16a,
  title = {Can we enforce a benefit for dynamically typed languages in comparison to statically typed ones? a controlled experiment},
  author = {Okon, Sebastian and Hanenberg, Stefan},
  booktitle = {Program Comprehension (ICPC), 2016 IEEE 24th International Conference on},
  pages = {1--10},
  year = {2016},
  organization = {IEEE}
}

@article{Okut14a,
  title={Software defect prediction using Bayesian networks},
  author={Okutan, Ahmet and Y{\i}ld{\i}z, Olcay Taner},
  journal={Empirical Software Engineering},
  volume={19},
  number={1},
  pages={154--181},
  year={2014},
  publisher={Springer}
}

@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}}

@article{Olin12a,
 author = {Oliner, Adam and Ganapathi, Archana and Xu, Wei},
 title = {Advances and Challenges in Log Analysis},
 journal = {Commun. ACM},
 issue_date = {February 2012},
 volume = {55},
 number = {2},
 month = feb,
 year = {2012},
 issn = {0001-0782},
 pages = {55--61},
 numpages = {7},
 url = {http://doi.acm.org/10.1145/2076450.2076466},
 doi = {10.1145/2076450.2076466},
 acmid = {2076466},
 publisher = {ACM},
 address = {New York, NY, USA}
}

@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{Oliv07a,
	title = {Software artefact traceability: the never-ending challenge},
	author = {Oliveto, Rocco and Antoniol, Giuliano and Marcus, Andrian and Hayes, Jane},
	booktitle = {Software Maintenance, 2007. ICSM 2007. IEEE International Conference on},
	pages = {485--488},
	year = {2007},
	organization = {IEEE}}

@inproceedings{Oliv09a,
	Annote = {internationalworkshop},
	Author = {Fernando Olivero and Michele Lanza and Romain Robbes},
	Booktitle = {Proceedings of IWST 2009 (1st International Workshop on Smalltalk Technologies)},
	Keywords = {moose-pub pub-iene},
	Pages = {20-28},
	Publisher = {ACM Press},
	Title = {Lumi\'ere: A Novel Framework for Rendering 3D Graphics in Smalltalk},
	Year = {2009}}

@inproceedings{Oliv09b,
	Annote = {internationalworkshop},
	Author = {Fernando Olivero and Michele Lanza and Romain Robbes},
	Booktitle = {Proceedings of FAMOOSr 2009 (3rd International Workshop on FAMIX and Moose in Reengineering)},
	Keywords = {moose-pub pub-iene},
	Title = {Lumi\'ere : An Infrastructure for Producing 3D Applications in Smalltalk},
	Year = {2009}}

@inproceedings{Oliv10a,
	Annote = {internationalworkshop},
	Author = {Fernando Olivero and Michele Lanza and Mircea Lungu},
	Booktitle = {Proceedings of FlexiTools 2010 (1st International Workshop on Flexible Modeling Tools)},
	Keywords = {moose-pub pub-iene proj-gsync},
	Title = {Gaucho: From Integrated Development Environments to Direct Manipulation Environments},
	Year = {2010}}

@inproceedings{Oliv11a,
	Author = {Olivero, F. and Lanza, M. and D'Ambros, M. and Robbes, R.},
	Booktitle = {Visual Languages and Human-Centric Computing (VL/HCC), 2011 IEEE Symposium on},
	Doi = {10.1109/VLHCC.2011.6070389},
	Issn = {1943-6092},
	Keywords = {Gaucho environment;integrated development environment;object-oriented constructs;program comprehension;program understanding context;visual object-focused development environment;object-oriented methods;software maintenance;},
	Month = sep,
	Pages = {127 -134},
	Title = {Enabling program comprehension through a visual object-focused development environment},
	Year = {2011},
	Bdsk-Url-1 = {http://dx.doi.org/10.1109/VLHCC.2011.6070389}}

@incollection{Oliv12a,
	Author = {Olivero, Fernando and Lanza, Michele and D`ambros, Marco},
	Booktitle = {Cooperative Design, Visualization, and Engineering},
	Doi = {10.1007/978-3-642-32609-7_21},
	Editor = {Luo, Yuhua},
	Isbn = {978-3-642-32608-0},
	Pages = {155-162},
	Publisher = {Springer Berlin Heidelberg},
	Series = {Lecture Notes in Computer Science},
	Title = {Ronda: A Fine Grained Collaborative Development Environment},
	Url = {http://dx.doi.org/10.1007/978-3-642-32609-7_21},
	Volume = {7467},
	Year = {2012},
	Bdsk-Url-1 = {http://dx.doi.org/10.1007/978-3-642-32609-7_21}}

@inproceedings{Oliv14a,
	title = {Extracting relative thresholds for source code metrics},
	author = {Oliveira, Paloma and Valente, Marco Tulio and Lima, Fernando Paim},
	booktitle = {Software Maintenance, Reengineering and Reverse Engineering (CSMR-WCRE), 2014 Software Evolution Week-IEEE Conference on},
	pages = {254--263},
	year = {2014},
	organization = {IEEE}
}

@inproceedings{Olse91a,
	Address = {Pisa, Italy},
	Author = {M.H. Olsen and E. Oskiewicz and J.P. Warne},
	Booktitle = {Proceedings of the 10th Symposium on Reliable Distributed Systems},
	Doi = {10.1109/RELDIS.1991.145411},
	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},
	Pages = {98--107},
	Publisher = {IEEE Computer Society},
	Title = {A model for interface groups},
	Year = {1991},
	Bdsk-Url-1 = {http://dx.doi.org/10.1109/RELDIS.1991.145411}}

@article{Olsso91,
 author = {Olsson, Ronald A. and Crawford, Richard H. and Ho, W. Wilson},
 title = {A Dataflow Approach to Event-based Debugging},
 journal = {Softw. Pract. Exper.},
 issue_date = {Feb. 1991},
 volume = {21},
 number = {2},
 month = feb,
 year = {1991},
 issn = {0038-0644},
 pages = {209--229},
 numpages = {21},
 url = {http://dx.doi.org/10.1002/spe.4380210207},
 doi = {10.1002/spe.4380210207},
 acmid = {103821},
 publisher = {John Wiley \& Sons, Inc.},
 address = {New York, NY, USA}
}

@inproceedings{Olst08a,
	Address = {New York, NY, USA},
	Author = {Olston, Christopher and Reed, Benjamin and Srivastava, Utkarsh and Kumar, Ravi and Tomkins, Andrew},
	Booktitle = {Proceedings of the 2008 ACM SIGMOD International Conference on Management of Data},
	Doi = {10.1145/1376616.1376726},
	Isbn = {978-1-60558-102-6},
	Location = {Vancouver, Canada},
	Pages = {1099--1110},
	Publisher = {ACM},
	Series = {SIGMOD '08},
	Title = {Pig Latin: A Not-so-foreign Language for Data Processing},
	Year = {2008},
	Bdsk-Url-1 = {http://dx.doi.org/10.1145/1376616.1376726}}

@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}}

@inproceedings{Oman90a,
  title={A taxonomy for programming style},
  author={Oman, Paul W and Cook, Curtis R},
  booktitle={Proceedings of the 1990 ACM annual conference on Cooperation},
  pages={244--250},
  year={1990}
}

@inproceedings{Oman92a,
    author={P. Oman and J. Hagemeister},
    booktitle={Proceedings Conference on Software Maintenance 1992},
    title={Metrics for assessing a software system's maintainability},
    year={1992},
    pages={337-344},
    keywords={software maintenance;software metrics;software metrics;software system's maintainability;hierarchical structure;measurable attributes;metric definition;software characteristic;tree structure;Software maintenance;Software systems;Software measurement;Tree data structures;Documentation;Taxonomy;Environmental management;Lifting equipment;Software engineering;Software testing},
    doi={10.1109/ICSM.1992.242525},
    ISSN={},
    month= nov
}

@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}}

@book{Oppe00a,
  title={Questionnaire design, interviewing and attitude measurement},
  author={Oppenheim, Abraham Naftali},
  year={2000},
  publisher={Bloomsbury Publishing},
  isbn={9780826451767}
}

https://www.oracle.com/technical-resources/articles/java/javadoc-tool.html
@misc{Orac20a,
	key = {Oracle Documentation guidelines},
	note = {https://www.oracle.com/technical-resources/articles/java/javadoc-tool.html},
	url = {https://www.oracle.com/technical-resources/articles/java/javadoc-tool.html},
	year = {verified on 10 Sep 2020},
	Title = {Oracle Documentation Guidelines}}

@misc{OracXXa,
	Author = {Oracle},
	Date-Added = {2012-09-14 07:09:50 +0000},
	Date-Modified = {2012-09-14 07:58:42 +0000},
	Keywords = {vm; proxy},
	Title = {JSR 292: Supporting Dynamically Typed Languages on the Java Platform},
	Url = {http://jcp.org/en/jsr/detail?id=292},
	Bdsk-Url-1 = {http://jcp.org/en/jsr/detail?id=292}}

@misc{OracXXb,
Author = {Oracle},
Howpublished = {https://community.oracle.com/docs/DOC-983219, archived at http://www.webcitation.org/6pLmGLfev},
Title = {Three Rules for Effective Exception Handling Blog},
Url = {https://community.oracle.com/docs/DOC-983219}
}

@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}}

@inproceedings{Orio07a,
	Acmid = {1244246},
	Address = {New York, NY, USA},
	Author = {Oriol, Manuel},
	Booktitle = {Proceedings of the 2007 ACM symposium on Applied computing},
	Date-Added = {2013-05-27 12:34:02 +0000},
	Date-Modified = {2013-05-27 12:34:57 +0000},
	Doi = {10.1145/1244002.1244246},
	Isbn = {1-59593-480-4},
	Keywords = {dsu},
	Location = {Seoul, Korea},
	Numpages = {2},
	Pages = {1122--1123},
	Publisher = {ACM},
	Series = {SAC '07},
	Title = {Primitives for the dynamic evolution of component-based applications},
	Url = {http://doi.acm.org/10.1145/1244002.1244246},
	Year = {2007},
	Bdsk-Url-1 = {http://doi.acm.org/10.1145/1244002.1244246},
	Bdsk-Url-2 = {http://dx.doi.org/10.1145/1244002.1244246}}

@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 = {Alessandro Orso and Anup Rao and Mary Jean Harrold},
	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},
	Bdsk-Url-1 = {http://dx.doi.org/10.1109/ICSM.2002.1167829}}

@inproceedings{Orso03a,
 author = {Orso, Alessandro and Jones, James and Harrold, Mary Jean},
 title = {Visualization of program-execution data for deployed software},
 booktitle = {Proceedings of the 2003 ACM symposium on Software visualization},
 series = {SoftVis '03},
 year = {2003},
 isbn = {1-58113-642-0},
 location = {San Diego, California},
 pages = {67--ff},
 url = {http://doi.acm.org/10.1145/774833.774843},
 doi = {10.1145/774833.774843},
 acmid = {774843},
 publisher = {ACM},
 address = {New York, NY, USA},
 keywords = {Gamma technology, remote monitoring, software visualization}
}

@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}}

@inproceedings{Osma14a,
	Annote = {internationalconference},
	Abstract = {Detecting bugs as early as possible plays an important role in ensuring software quality before shipping. We argue that mining previous bug fixes can produce good knowledge about why bugs happen and how they are fixed. In this paper, we mine the change history of 717 open source projects to extract bug-fix patterns. We also manually inspect many of the bugs we found to get insights into the contexts and reasons behind those bugs. For instance, we found out that missing null checks and missing initializations are very recurrent and we believe that they can be automatically detected and fixed.},
	Author = {Osman, Haidar and Lungu, Mircea and Nierstrasz, Oscar},
	Booktitle = {Software Maintenance, Reengineering and Reverse Engineering (CSMR-WCRE), 2014 Software Evolution Week - IEEE Conference on},
	Doi = {10.1109/CSMR-WCRE.2014.6747191},
	Keywords = {scg14 jb14 scg-pub snf-asa1; Cloning;Computer bugs;Data mining;History;Java;Software;Software engineering scg-bigdata},
	Month = feb,
	Pages = {343-347},
	Title = {Mining frequent bug-fix code changes},
	Url = {http://scg.unibe.ch/archive/papers/Osma14aMiningBugFixChanges.pdf},
	Year = {2014},
	PeerReview = {yes},
	Medium = {2},
	Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Osma14aMiningBugFixChanges.pdf},
	Bdsk-Url-2 = {http://dx.doi.org/10.1109/CSMR-WCRE.2014.6747191}}

@inproceedings{Osma15a,
		Annote = {internationalworkshop},
		Author = {Haidar Osman},
		Abstract = {Null dereferencing is one of the most frequent bugs in Java systems
causing programs to crash due to the uncaught NullPointerException.
Developers often fix this bug by introducing a guard (i.e., null check)
on the potentially-null objects before using them.
In this paper we investigate the null checks in 717 open-source Java
systems to understand when and why developers introduce null checks.
We find that 35% of the if-statements are null checks. A deeper investigation
shows that 71% of the checked-for-null objects are returned
from method calls. This indicates that null checks have a serious impact
on performance and that developers introduce null checks when
they use methods that return null.},
title = {Null Check Analysis},
		booktitle = {Extended Abstracts of the Eighth Seminar on Advanced Techniques and Tools for Software Evolution (SATToSE 2015)},
		year = {2015},
		month = jul,
		location = {Mons, Belgium},
		pages = {86--88},
		numpages = {3},
		PeerReview = {yes},
		Medium = {2},
		Keywords = {scg-pub snf-asa1 scg15 jb15 skip-doi},
		Url = {http://scg.unibe.ch/archive/papers/Osma15a.pdf}}

@inproceedings{Osma16a,
		Annote = {internationalconference},
		Author = {Haidar Osman and Manuel Leuenberger and Mircea Lungu and Oscar Nierstrasz},
		Title = {Tracking Null Checks in Open-Source {Java} Systems},
		Abstract = {It is widely acknowledged that null values should be avoided if possible or carefully used when necessary in Java code. The careless use of null has negative effects on maintainability, code readability, and software performance. However, a study on understanding null usage is still missing.
		In this paper we analyze null checks in 810 open-source Java systems and manually inspect 100 code samples to understand when and why developers use null. We find that 35% of all conditional statements contain null checks. A deeper investigation reveals many questionable practices with respect to using null. Uninitialized member variables, returning null in methods, and passing null as a method parameter are among the most recurrent reasons for introducing null checks. Developers often return null in methods to signal errors instead of throwing a proper exception. As a result, 71% of the values checked for null are returned from method calls.
		Our study provides a novel evidence of an overuse of null checks and of the null value itself in Java, and at the same time, reveals actionable recommendations to reduce this null usage.},
		Keywords = {scg-pub snf-asa2 jb16 scg16},
		Booktitle = {Proceedings of the 23rd IEEE International Conference on Software Analysis, Evolution, and Reengineering (SANER)},
		PeerReview = {yes},
		Medium = {2},
		Year = {2016},
		doi= {10.1109/SANER.2016.57},
		month=mar,
		Url = {http://scg.unibe.ch/archive/papers/Osma16a.pdf}}

@inproceedings{Osma16b,
				Annote = {internationalworkshop},
				Author = {Haidar Osman},
				Abstract = {Bug prediction is a technique used to estimate the most bug-prone entities in software systems. Bug prediction approaches vary in many design options, such as dependent variables, independent variables, and machine learning models. Choosing the right combination of design options to build an effective bug predictor is hard. Previous studies do not consider this complexity and draw conclusions based on fewer-than-necessary experiments.
We argue that each software project is unique from the perspective of its development process. Consequently, metrics and AI models perform differently on different projects, in the context of bug prediction.
We confirm our hypothesis empirically by running different bug predictors on different systems. We show that no single bug prediction configuration works globally on all projects and, thus, previous bug prediction findings cannot generalize.},
		title = {Against the Mainstream in Bug Prediction},
				booktitle = {Extended Abstracts of the Ninth Seminar on Advanced Techniques and Tools for Software Evolution (SATToSE 2016)},
				year = {2016},
				month = jul,
				location = {Bergen, Norway},
				numpages = {4},
				PeerReview = {yes},
				Medium = {2},
				Keywords = {scg-pub snf-asa2 scg16 jb16 skip-doi},
				Url = {http://scg.unibe.ch/archive/papers/Osma16b.pdf},
				note = {http://sattose.wdfiles.com/local--files/2016:alltalks/SATTOSE2016\_paper\_2.pdf}
}

@inproceedings{Osma16c,
				Annote = {internationalworkshop},
				Author = {Haidar Osman},
				Abstract={Bug prediction is a technique used to estimate the most
bug-prone entities in software systems. Bug prediction
approaches vary in many design options, such as dependent
variables, independent variables, and machine
learning models. Choosing the right combination of design
options to build an effective bug predictor is hard.
Previous studies do not consider this complexity and
draw conclusions based on fewer-than-necessary experiments.
We argue that each software project is unique from the
perspective of its development process. Consequently,
metrics and machine learning models perform differently
on different projects, in the context of bug prediction.
We confirm our hypothesis empirically by running different
bug predictors on different systems. We show there
are no universal bug prediction configurations that work
on all projects.},
		title = {On the Non-Generalizability in Bug Prediction},
				booktitle = {Post Proceedings of the Ninth Seminar on Advanced Techniques and Tools for Software Evolution (SATToSE 2016)},
				year = {2016},
				location = {Bergen, Norway},
				PeerReview = {yes},
				numpages = {7},
				Medium = {2},
				Keywords = {scg-pub snf-asa2 scg16 jb17 skip-doi},
				Url = {http://ceur-ws.org/Vol-1791/paper-03.pdf}
}

@inproceedings{Osma17a,
	Annote = {internationalworkshop},
	Author = {Haidar Osman and Mohammad Ghafari and Oscar Nierstrasz},
	booktitle = {1st International Workshop on Machine Learning Techniques for Software Quality Evaluation (MaLTeSQuE 2017)},
	Title = {Hyperparameter Optimization to Improve Bug Prediction Accuracy},
	month = feb,
	Year = {2017},
	location = {Klagenfurt, Austria},
	PeerReview = {yes},
	numpages = {6},
	Medium = {2},
	pages={33--38},
	Url = {http://scg.unibe.ch/archive/papers/Osma17a.pdf},
	DOI = {10.1109/MALTESQUE.2017.7882014},
	keywords={scg-pub snf-asa2 scg17 jb17},
	abstract={Bug prediction is a technique that strives to identify
where defects will appear in a software system. Bug prediction
employs machine learning to predict defects in software entities
based on software metrics. These machine learning models
usually have adjustable parameters, called hyperparameters, that
need to be tuned for the prediction problem at hand. However,
most studies in the literature keep the model hyperparameters
set to the default values provided by the used machine learning
frameworks.
In this paper we investigate whether optimizing the hyperparameters
of a machine learning model improves its prediction
power. We study two machine learning algorithms: k-nearest
neighbours (IBK) and support vector machines (SVM). We
carry out experiments on five open source Java systems. Our
results show that (i) models differ in their sensitivity to their
hyperparameters, (ii) tuning hyperparameters gives at least as
accurate models for SVM and significantly more accurate models
for IBK, and (iii) most of the default values are changed during
the tuning phase. Based on these findings we recommend tuning
hyperparameters as a necessary step before using a machine
learning model in bug prediction.}
}

@inproceedings{Osma17b,
		Annote = {internationalconference},
		Author = {Osman, Haidar and Chi\c{s}, Andrei and Schaerer, Jakob and Ghafari, Mohammad and Nierstrasz, Oscar},
		Booktitle = {Proceedings of the 24rd IEEE International Conference on Software Analysis, Evolution, and Reengineering (SANER)},
		Month = feb,
		Pages = {422--426},
		Medium = {2},
		Title = {On the Evolution of Exception Usage in {Java} Projects},
		Url = {http://scg.unibe.ch/archive/papers/Osma17b-exception-usage.pdf},
		DOI = {10.1109/SANER.2017.7884646},
		Year = {2017},
		PeerReview = {yes},
		keywords={scg-pub snf-asa2 scg17 jb17},
		abstract={Programming languages use exceptions to handle
abnormal situations during the execution of a program. While
programming languages often provide a set of standard exceptions,
developers can further create custom exceptions to capture
relevant data about project- and domain-specific errors. We
hypothesize that, given their usefulness, custom exceptions are
used increasingly as software systems mature. To assess this
claim, we empirically analyze the evolution of exceptions and
exception-handling code within four, popular and long-lived Java
systems. We observe that indeed the amount of error-handling
code, together with the number of custom exceptions and their
usage in catch handlers and throw statements increase as projects
evolve. However, we find that the usage of standard exceptions
increases more than the usage of custom exceptions in both catch
handlers and throw statements. A preliminary manual analysis
of throw statements reveals that developers encode the domain
information into the standard Java exceptions as custom string
error messages instead of relying on custom exception classes.}}

@inproceedings{Osma17c,
	Annote = {internationalworkshop},
	Author = {Haidar Osman and Mohammad Ghafari and Oscar Nierstrasz},
	booktitle = {1st International Workshop on Machine Learning Techniques for Software Quality Evaluation (MaLTeSQuE 2017)},
	Title = {Automatic Feature Selection by Regularization to Improve Bug Prediction Accuracy},
	month = feb,
	Year = {2017},
	location = {Klagenfurt, Austria},
	PeerReview = {yes},
	numpages = {6},
	Medium = {2},
	pages={27--32},
	Url = {http://scg.unibe.ch/archive/papers/Osma17c-bugPredictionRegularization.pdf},
	DOI = {10.1109/MALTESQUE.2017.7882013},
	keywords={scg-pub snf-asa2 scg17 jb17},
	abstract={Bug prediction has been a hot research topic for
the past two decades, during which different machine learning
models based on a variety of software metrics have been
proposed. Feature selection is a technique that removes noisy and
redundant features to improve the accuracy and generalizability
of a prediction model. Although feature selection is important, it
adds yet another step to the process of building a bug prediction
model and increases its complexity. Recent advances in machine
learning introduce embedded feature selection methods that allow
a prediction model to carry out feature selection automatically
as part of the training process. The effect of these methods on
bug prediction is unknown.
In this paper we study regularization as an embedded feature
selection method in bug prediction models. Specifically, we study
the impact of three regularization methods (Ridge, Lasso, and
ElasticNet) on linear and Poisson Regression as bug predictors
for five open source Java systems. Our results show that the
three regularization methods reduce the prediction error of the
regressors and improve their stability}
}

@inproceedings{Osma17d,
 author = {Haidar Osman and Andrei Chi\c{s} and Claudio Corrodi and Mohammad Ghafari and Oscar Nierstrasz},
 title = {Exception Evolution in Long-lived {Java} Systems},
 booktitle = {Proceedings of the 14th International Conference on Mining Software Repositories},
    Annote    = {internationalconference},
 series = {MSR '17},
 year = {2017},
 location = {Buenos Aires, Argentina},
 url = {http://scg.unibe.ch/archive/papers/Osma17d-exception-evolution.pdf},
 keywords={scg-pub snf-asa2 scg17 jb17},
 doi = {10.1109/MSR.2017.21},
 PeerReview = {yes},
 Medium = {2},
 abstract = {Exception handling allows developers to deal with abnormal situations that disrupt the execution flow of a program. There are mainly three types of exceptions: standard exceptions provided by the programming language itself, custom exceptions defined by the project developers, and third-party exceptions defined in external libraries. We conjecture that there are multiple factors that affect the use of these exception types. We perform an empirical study on long-lived Java projects to investigate these factors. In particular, we analyze how developers rely on the different types of exceptions in throw statements and exception handlers. We confirm that the domain, the type, and the development phase of a project affect the exception handling patterns. We observe that applications have significantly more error handling code than libraries and they increasingly rely on custom exceptions. Also, projects that belong to different domains have different preferences of exception types. For instance, content management systems rely more on custom exceptions than standard exceptions whereas the opposite is true in parsing frameworks.}
}

@inproceedings{Osma17f,
author = {Osman, Haidar and Ghafari, Mohammad and Nierstrasz, Oscar and Lungu, Mircea},
 title = {An Extensive Analysis of Efficient Bug Prediction Configurations},
 booktitle = {Proceedings of the 13th International Conference on Predictive Models and Data Analytics in Software Engineering},
    Annote    = {internationalconference},
 series = {PROMISE},
 year = {2017},
 isbn = {978-1-4503-5305-2},
 location = {Toronto, Canada},
 pages = {107--116},
 numpages = {10},
 PeerReview = {yes},
 medium = {2},
 url = {http://scg.unibe.ch/archive/papers/Osma17f-EfficientBugPrediction.pdf},
 doi = {10.1145/3127005.3127017},
 acmid = {3127017},
 publisher = {ACM},
 address = {New York, NY, USA},
 keywords={scg-pub snf-asa2 scg17 jb18},
abstract = {Background: Bug prediction helps developers steer maintenance activities towards the buggy parts of a software. There are many design aspects to a bug predictor, each of which has several options, i.e. software metrics, machine learning model, and response variable.
Aims: These design decisions should be judiciously made because an improper choice in any of them might lead to wrong, misleading, or even useless results. We argue that bug prediction configurations are intertwined and thus need to be evaluated in their entirety, in contrast to the common practice in the field where each aspect is investigated in isolation.
Method: We use a cost-aware evaluation scheme to evaluate 60 different bug prediction configuration combinations on five open source Java projects.
Results: We find out that the best choices for building a cost-effective bug predictor are change metrics mixed with source code metrics as independent variables, Random Forest as the machine learning model, and the number of bugs as the response variable. Combining these configuration options results in the most efficient bug predictor across all subject systems.
Conclusions: We demonstrate a strong evidence for the interplay among bug prediction configurations and provide concrete guidelines for researchers and practitioners on how to build and evaluate efficient bug predictors.}
}

@phdthesis{Osma17g,
        Title = {Empirically-Grounded Construction of Bug Prediction and Detection Tools},
        Author = {Haidar Osman},
        Abstract = {There is an increasing demand on high-quality software as software bugs have an economic impact not only on software projects, but also on national economies in general. Software quality is achieved via the main quality assurance activities of testing and code reviewing. However, these activities are expensive, thus they need to be carried out efficiently.
Auxiliary software quality tools such as bug detection and bug prediction tools help developers focus their testing and reviewing activities on the parts of software that more likely contain bugs. However, these tools are far from adoption as mainstream development tools. Previous research points to their inability to adapt to the peculiarities of projects and their high rate of false positives as the main obstacles of their adoption.
We propose empirically-grounded analysis to improve the adaptability and efficiency of bug detection and prediction tools. For a bug detector to be efficient, it needs to detect bugs that are conspicuous, frequent, and specific to a software project. We empirically show that the null-related bugs fulfill these criteria and are worth building detectors for. We analyze the null dereferencing problem and find that its root cause lie in methods that return null. We propose an empirical solution this problem that depends on the wisdom of the crowd. For each API method, we extract the nullability measure that expresses how often the return value of this method is checked against null in the ecosystem of the API. We use nullability to annotate API methods with nullness annotation and warn developers about missing and excessive null checks.
For a bug predictor to be efficient, it needs to be optimized as both a machine learning model and a software quality tool. We empirically show how feature selection and hyperparameter optimizations improve prediction accuracy. Then we optimize bug prediction to locate the maximum number of bugs in the minimum amount of code by finding the most cost-effective combination of bug prediction configurations, i.e. dependent variables, machine learning model, and response variable. We show that using both source code and change metrics as dependent variables, applying feature selection on them, then using an optimized Random Forest to predict the number of bugs results in the most cost-effective bug predictor.
Throughout this thesis, we show how empirically-grounded analysis helps us achieve efficient bug prediction and detection tools and adapt them to the characteristics of each software project.
},
        Keywords = {scg-phd, snf-asa2, scg17, jb18, Haidar Osman},
        School = {University of Bern},
        Type = {{PhD} thesis},
        Url = {http://scg.unibe.ch/archive/phd/osman-phd.pdf},
	Bdsk-Url-1 = {http://scg.unibe.ch/archive/phd/osman-phd.pdf},
        Month = dec,
        Year = {2017}
}

@article{Osma18a,
Author = {Haidar Osman and Mohammad Ghafari and Oscar Nierstrasz},
Journal = {arXiv preprint arXiv:1807.04486},
Title = {The Impact of Feature Selection on Predicting the Number of Bugs},
keywords={scg-sub},
doi = {arXiv:1807.04486},
Year = {2018}
}

@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{Ossh10a,
	Annote = {internationalconference},
	Author = {Ossher, J. and Bajracharya, S. and Lopes, C.},
	Booktitle = {Mining Software Repositories (MSR), 2010 7th IEEE Working Conference on},
	Doi = {10.1109/MSR.2010.5463346},
	Keywords = {sde-ecosystems},
	Month = {may},
	Pages = {130 -140},
	Title = {Automated dependency resolution for open source software},
	Url = {http://ieeexplore.ieee.org/xpls/abs_all.jsp?arnumber=5463346},
	Year = {2010},
	Bdsk-Url-1 = {http://ieeexplore.ieee.org/xpls/abs_all.jsp?arnumber=5463346},
	Bdsk-Url-2 = {http://dx.doi.org/10.1109/MSR.2010.5463346}}

@inproceedings{Ossh11a,
	Author = {Joel Ossher and Hitesh Sajnani and Cristina Videira Lopes},
	Booktitle = {ICSM 2011: Proceedings of the 27th International Conference on Software Maintenance},
	Doi = {10.1109/ICSM.2011.6080795},
	Keywords = {sde-ecosystems},
	Pages = {283-292},
	Title = {File cloning in open source Java projects: The good, the bad, and the ugly},
	Url = {http://www.ics.uci.edu/~hsajnani/Publications/ICSM2011.pdf},
	Year = {2011},
	Bdsk-Url-1 = {http://www.ics.uci.edu/~hsajnani/Publications/ICSM2011.pdf},
	Bdsk-Url-2 = {http://dx.doi.org/10.1109/ICSM.2011.6080795}}

@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{Oste02a,
	Acmid = {680026},
	Address = {London, UK},
	Author = {Ostermann, Klaus},
	Booktitle = {Proceedings of the 16th European Conference on Object-Oriented Programming},
	Date-Added = {2011-07-04 14:54:39 +0200},
	Date-Modified = {2013-01-21 09:37:32 +0000},
	Isbn = {3-540-43759-2},
	Keywords = {proxy; reread},
	Numpages = {22},
	Pages = {89--110},
	Publisher = {Springer-Verlag},
	Series = {ECOOP '02},
	Title = {Dynamically Composable Collaborations with Delegation Layers},
	Url = {http://portal.acm.org/citation.cfm?id=646159.680026},
	Year = {2002},
	Bdsk-Url-1 = {http://portal.acm.org/citation.cfm?id=646159.680026}}

@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},
	Title = {Business Model Generation},
	Year = {2010}}

@inproceedings{Ostl08a,
	Author = {Johan {\"O}stlund and Tobias Wrigstad and Dave Clarke and Beatrice {\AA}kerblom},
	Booktitle = {Objects, Components, Models and Patterns, 46th International Conference, TOOLS EUROPE 2008},
	Citedby = {0},
	Cites = {0},
	Date-Added = {2011-12-07 17:12:05 +0100},
	Date-Modified = {2012-05-08 15:11:32 +0000},
	Doi = {dx.doi.org/10.1007/978-3-540-69824-1_11},
	Editor = {Richard F. Paige and Bertrand Meyer},
	Isbn = {978-3-540-69823-4},
	Keywords = {type-system; programming-language; aliasing},
	Pages = {178-197},
	Publisher = {Springer},
	Rating = {4},
	Researchr = {http://researchr.org/publication/OstlundWCA08},
	Series = {Lecture Notes in Business Information Processing},
	Title = {Ownership, Uniqueness, and Immutability},
	Volume = {11},
	Year = {2008},
	Bdsk-Url-1 = {http://dx.doi.org/10.1007/978-3-540-69824-1_11}}

@inproceedings{Ostr04a,
  title={Where the bugs are},
  author={Ostrand, Thomas J and Weyuker, Elaine J and Bell, Robert M},
  booktitle={ACM SIGSOFT Software Engineering Notes},
  volume={29},
  pages={86--96},
  year={2004},
  organization={ACM}
}

@article{Ostr05a,
	Author = {Ostrand, T.J. and Weyuker, E.J. and Bell, R.M.},
	Doi = {10.1109/TSE.2005.49},
	Issn = {0098-5589},
	Journal = {Software Engineering, IEEE Transactions on},
	Keywords = {binomial distribution;program testing;regression analysis;software fault tolerance;binomial regression model;large software systems;software fault prediction;software testing;Fault detection;Fault diagnosis;History;Personnel;Predictive models;Resource management;Software systems;Software testing;Sorting;System testing;Index Terms- Software faults;empirical study;fault-prone;prediction;regression model;software testing.},
	Month = apr,
	Number = {4},
	Pages = {340-355},
	Title = {Predicting the location and number of faults in large software systems},
	Volume = {31},
	Year = {2005},
	Bdsk-Url-1 = {http://dx.doi.org/10.1109/TSE.2005.49}}

@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{Oual01a,
	 author = {Oualline, Steven},
	 title = {Vi {iMproved}},
	 year = {2001},
	 isbn = {0735710015},
	 publisher = {New Riders Publishing},
	 address = {Thousand Oaks, CA, USA}
}

@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{Owen07a,
 author = {Owens, John},
 title = {Data-parallel Algorithms and Data Structures},
 booktitle = {ACM SIGGRAPH 2007 Courses},
 series = {SIGGRAPH '07},
 year = {2007},
 isbn = {978-1-4503-1823-5},
 location = {San Diego, California},
 articleno = {3},
 url = {http://doi.acm.org/10.1145/1281500.1281644},
 doi = {10.1145/1281500.1281644},
 acmid = {1281644},
 publisher = {ACM},
 address = {New York, NY, USA}
}

@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}}

@inproceedings{Oyet13a,
	author={Oyetoyan, T.D. and Cruzes, D.S. and Conradi, R.},
	booktitle={Software Maintenance (ICSM), 2013 29th IEEE International Conference on},
	title={Can Refactoring Cyclic Dependent Components Reduce Defect-Proneness?},
	year={2013},
	pages={420-423},
	doi={10.1109/ICSM.2013.62},
	ISSN={1063-6773},
	month= sep}

@inproceedings{Oyet15a,
  author    = {Tosin Daniel Oyetoyan and Daniela Soares Cruzes and Christian Thurmann-Nielsen},
  title     = {A Decision Support System to Refactor Class Cycles},
  booktitle = {2014 IEEE International Conference on Software Maintenance and Evolution},
  publisher = {IEEE},
  pages     = {231--240},
  year      = {2015}}

@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{PMD,
	Key = {PMD},
	Keywords = {Bug Patterns},
	Note = {http://pmd.sourceforge.net/},
	Title = {PMD Home Page},
	Url = {http://pmd.sourceforge.net/},
	Bdsk-Url-1 = {http://pmd.sourceforge.net/}}

@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{Pach07a,
	author = {Pacheco, Carlos and Lahiri, Shuvendu K. and Ernst, Michael D. and Ball, Thomas},
	title = {Feedback-Directed Random Test Generation},
	booktitle = {Proceedings of the 29th International Conference on Software Engineering},
	series = {ICSE '07},
	year = {2007},
	isbn = {0-7695-2828-7},
	pages = {75--84},
	numpages = {10},
	url = {http://dx.doi.org/10.1109/ICSE.2007.37},
	doi = {10.1109/ICSE.2007.37},
	acmid = {1248841},
	publisher = {IEEE Computer Society},
	address = {Washington, DC, USA}
}

@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{Padd09a,
	title = {Investigating the Comprehension Support for Effective Visualization Tools--A Case Study},
	author = {Padda, Harkirat and Seffah, Ahmed and Mudur, Sudhir},
	booktitle = {Advances in Computer-Human Interactions, 2009. ACHI'09. Second International Conferences on},
	pages = {283--288},
	year = {2009},
	organization = {IEEE}}

@inproceedings{Padi09a,
  title={Listening to programmers --- Taxonomies and Characteristics of Comments in Operating system Code},
  author={Padioleau, Yoann and Tan, Lin and Zhou, Yuanyuan},
  booktitle={Proceedings of the 31st International Conference on Software Engineering},
  pages={331--341},
  year={2009},
  organization={IEEE Computer Society},
  keywords = {comment-analysis, comment classification}
}

@inproceedings{Padio08a,
	Address = {Glasgow, UK},
	Author = {Padioleau, Yoann and Lawall, Julia and Hansen, Ren\'{e} Rydhof and Muller, Gilles},
	Booktitle = {EuroSys'08: Proceedings of the 3rd European Conference on Computer Systems},
	Doi = {10.1145/1352592.1352618},
	Isbn = {978-1-60558-013-5},
	Keywords = {collateral evolutions device drivers domain-specific language linux program transformation software evolution damiencbib coccinelle},
	Numpages = {14},
	Pages = {247--260},
	Publisher = {ACM},
	Series = {Eurosys '08},
	Title = {Documenting and automating collateral evolutions in linux device drivers},
	Year = {2008},
	Bdsk-Url-1 = {http://dx.doi.org/10.1145/1352592.1352618}}

@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,
	Address = {Cambridge, MA, USA},
	Author = {Andreas Paepcke},
	Booktitle = {Object-Oriented Programming: the CLOS perspective},
	Pages = {66--99},
	Publisher = {MIT Press},
	Title = {User-Level Language Crafting},
	Year = {1993}}

@inproceedings{Paga13a,
  title={User feedback in the appstore: An empirical study},
  author={Pagano, Dennis and Maalej, Walid},
  booktitle={2013 21st IEEE international requirements engineering conference (RE)},
  pages={125--134},
  year={2013},
  organization={IEEE}
}

@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}}

@techreport{Page99a,
	Abstract = {The importance of a Web page is an inherently subjective matter, which depends on the readers interests,
			knowledge and attitudes. But there is still much that can be said objectively about the relative importance of
			Web pages. This paper describes PageRank, a mathod for rating Web pages objectively and mechanically,
			effectively measuring the human interest and attention devoted to them. We compare PageRank to an idealized
			random Web surfer. We show how to efficiently compute PageRank for large numbers of pages. And, we show how to
			apply PageRank to search and to user navigation.},
	Author = {Lawrence Page and Sergey Brin and Rajeev Motwani and Terry Winograd},
	Institution = {Stanford InfoLab},
	Month = nov,
	Note = {Previous number = SIDL-WP-1999-0120},
	Number = {1999-66},
	Publisher = {Stanford InfoLab},
	Title = {The PageRank Citation Ranking: Bringing Order to the Web.},
	Type = {Technical Report},
	Url = {http://ilpubs.stanford.edu:8090/422/},
	Year = {1999},
	Bdsk-Url-1 = {http://ilpubs.stanford.edu:8090/422/}}

@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/}}

@article{Pai07a,
  title={Empirical analysis of software fault content and fault proneness using Bayesian methods},
  author={Pai, Ganesh J and Dugan, Joanne Bechta},
  journal={IEEE Transactions on software Engineering},
  volume={33},
  number={10},
  pages={675--686},
  year={2007},
  publisher={IEEE}
}

@article{Paig16a,
title = {Evolving models in Model-Driven Engineering: State-of-the-art and future challenges},
journal = {Journal of Systems and Software},
volume = {111},
pages = {272 - 280},
year = {2016},
issn = {0164-1212},
doi = {https://doi.org/10.1016/j.jss.2015.08.047},
url = {http://www.sciencedirect.com/science/article/pii/S0164121215001909},
author = {Richard F. Paige and Nicholas Matragkas and Louis M. Rose},
keywords = {Evolution, Migration, Co-evolution},
abstract = {The artefacts used in Model-Driven Engineering (MDE) evolve as a matter of course: models are modified and updated as part of the engineering process; metamodels change as a result of domain analysis and standardisation efforts; and the operations applied to models change as engineering requirements change. MDE artefacts are inter-related, and simultaneously constrain each other, making evolution a challenge to manage. We discuss some of the key problems of evolution in MDE, summarise the key state-of-the-art, and look forward to new challenges in research in this area.}
}

@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{Pale01a,
 author = {Paleczny, Michael and Vick, Christopher and Click, Cliff},
 title = {The {J}ava hotspot$^{TM}$ Server Compiler},
 booktitle = {Proceedings of the 2001 Symposium on Java$^{TM}$ Virtual Machine Research and Technology Symposium - Volume 1},
 series = {JVM'01},
 year = {2001},
 location = {Monterey, California},
 pages = {1--1},
 numpages = {1},
 url = {http://dl.acm.org/citation.cfm?id=1267847.1267848},
 acmid = {1267848},
 publisher = {USENIX Association},
 address = {Berkeley, CA, USA}
}

@article{Pale08a,
	title={The onion architecture: Part 1},
	author={Palermo, Jeffrey},
	journal={Retrieved December},
	volume={1},
	pages={2014},
	year={2008}
}

@misc{Pall05a,
  Author       = {Mike Pall},
  Title	       = {The {L}ua{JIT} {P}roject},
  note	       = {http://luajit.org/},
  Year	       = {2005}
}

@misc{Pall11a,
	Author = {Mike Pall},
	Title = {Why the {LuaJIT} Interpreter is Written in Assembler},
	Url = {http://article.gmane.org/gmane.comp.lang.lua.general/75426},
	Year = {2011},
	Bdsk-Url-1 = {http://article.gmane.org/gmane.comp.lang.lua.general/75426}}

@inproceedings{Palo14a,
author={F. Palomba and G. Bavota and M. D. Penta and R. Oliveto and A. D. Lucia},
booktitle={2014 IEEE International Conference on Software Maintenance and Evolution},
title={Do They Really Smell Bad? A Study on Developers' Perception of Bad Code Smells},
year={2014},
pages={101-110},
keywords={software engineering;source code (software);bad code smells;developer perception;industrial developers;masters students;Complexity theory;Context;Encoding;Iron;Open source software;Unified modeling language;Code Smells;Empirical Study},
doi={10.1109/ICSME.2014.32},
ISSN={1063-6773},
month=sep}

@inproceedings{Palo16a,
  title={Smells like teen spirit: Improving bug prediction performance using the intensity of code smells},
  author={Palomba, Fabio and Zanoni, Marco and Fontana, Francesca Arcelli and De Lucia, Andrea and Oliveto, Rocco},
  booktitle={Proceedings of the 32nd International Conference on Software Maintenance and Evolution (ICSME 2016). Raleigh, USA: IEEE},
  year={2016}
}

@inproceedings{Palo17a,
author={F. Palomba and D. Di Nucci and A. Panichella and A. Zaidman and A. De Lucia},
booktitle={2017 IEEE 24th International Conference on Software Analysis, Evolution and Reengineering (SANER)},
title={Lightweight detection of {Android}-specific code smells: The {aDoctor} project},
year={2017},
volume={},
number={},
pages={487-491},
keywords={Android (operating system);mobile computing;programming;software engineering;source code (software);Android applications;Android-specific code smells;Mobile app code smells;aDoctor project;lightweight detection;maintainability;poor design solution symptoms;programmers;software system development;Androids;Context;Detectors;Humanoid robots;Instruction sets;Mobile communication;Android-specific Code Smells;Detection Tool;Empirical Study},
doi={10.1109/SANER.2017.7884659},
ISSN={},
month=feb
}

@article{Palo18a,
  title={Crowdsourcing user reviews to support the evolution of mobile apps},
  author={Palomba, Fabio and Linares-V{\'a}squez, Mario and Bavota, Gabriele and Oliveto, Rocco and Di Penta, Massimiliano and Poshyvanyk, Denys and De Lucia, Andrea},
  journal={Journal of Systems and Software},
  volume={137},
  pages={143--162},
  year={2018},
  publisher={Elsevier}
}

@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}}

@article{Pan09a,
	Acmid = {1553603},
	Address = {Hingham, MA, USA},
	Author = {Pan, Kai and Kim, Sunghun and Whitehead,Jr., E. James},
	Doi = {10.1007/s10664-008-9077-5},
	Issn = {1382-3256},
	Issue_Date = {June 2009},
	Journal = {Empirical Softw. Engg.},
	Keywords = {Algorithms, Bug fix changes, Categorization of software faults, Causes of software bugs, Experimentation, Measurement, Software bugs, Software error, Software fault, Software fault taxonomy},
	Month = jun,
	Number = {3},
	Numpages = {30},
	Pages = {286--315},
	Publisher = {Kluwer Academic Publishers},
	Title = {Toward an understanding of bug fix patterns},
	Url = {http://dx.doi.org/10.1007/s10664-008-9077-5},
	Volume = {14},
	Year = {2009},
	Bdsk-Url-1 = {http://dx.doi.org/10.1007/s10664-008-9077-5}}

@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{Pand94a,
 author = {Pande, Hemant D. and Ryder, Barbara G.},
 title = {Static Type Determination for C++},
 booktitle = {Proceedings of the 6th Conference on USENIX Sixth C++ Technical Conference - Volume 6},
 series = {CTEC'94},
 year = {1994},
 location = {Cambridge, MA},
 pages = {5--5},
 numpages = {1},
 url = {http://dl.acm.org/citation.cfm?id=1267974.1267979},
 acmid = {1267979},
 publisher = {USENIX Association},
 address = {Berkeley, CA, USA}
}

@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}}

@article{Pand10a,
	Acmid = {1764828},
	Address = {New York, NY, USA},
	Author = {Pandey, R. K.},
	Doi = {10.1145/1764810.1764828},
	Issn = {0163-5948},
	Issue_Date = {May 2010},
	Journal = {SIGSOFT Softw. Eng. Notes},
	Month = may,
	Number = {3},
	Numpages = {5},
	Pages = {1--5},
	Publisher = {ACM},
	Title = {Architectural description languages (ADLs) vs UML: a review},
	Url = {http://doi.acm.org/10.1145/1764810.1764828},
	Volume = {35},
	Year = {2010},
	Bdsk-Url-1 = {http://doi.acm.org/10.1145/1764810.1764828},
	Bdsk-Url-2 = {http://dx.doi.org/10.1145/1764810.1764828}}

@inproceedings{Pand12a,
  author    = {Rahul Pandita and
               Xusheng Xiao and
               Hao Zhong and
               Tao Xie and
               Stephen Oney and
               Amit M. Paradkar},
  editor    = {Martin Glinz and
               Gail C. Murphy and
               Mauro Pezz{\`{e}}},
  title     = {Inferring method specifications from natural language {API} descriptions},
  booktitle = {34th International Conference on Software Engineering, {ICSE} 2012,
               June 2-9, 2012, Zurich, Switzerland},
  pages     = {815--825},
  publisher = {{IEEE} Computer Society},
  year      = {2012},
  Keywords =  {comment-quality-slr},
  url       = {https://doi.org/10.1109/ICSE.2012.6227137},
  doi       = {10.1109/ICSE.2012.6227137},
  timestamp = {Fri, 09 Apr 2021 18:46:21 +0200},
  biburl    = {https://dblp.org/rec/conf/icse/PanditaXZXOP12.bib},
  bibsource = {dblp computer science bibliography, https://dblp.org}}

@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{Pani12a,
  author   = {Sebastiano Panichella and Jairo Aponte and Massimiliano Di Penta and
               Andrian Marcus and Gerardo Canfora},
  editor   = {Dirk Beyer and Arie van Deursen and
               Michael W. Godfrey},
  title    = {Mining source code descriptions from developer communications},
  booktitle = {{IEEE} 20th International Conference on Program Comprehension, {ICPC}
               2012, Passau, Germany, June 11-13, 2012},
  pages    = {63--72},
  publisher = {{IEEE} Computer Society},
  year     = {2012},
  url      = {https://doi.org/10.1109/ICPC.2012.6240510},
  doi      = {10.1109/ICPC.2012.6240510},
  timestamp = {Wed, 16 Oct 2019 14:14:54 +0200},
  biburl   = {https://dblp.org/rec/conf/iwpc/PanichellaAPMC12.bib},
  bibsource = {dblp computer science bibliography, https://dblp.org}
}

@inproceedings{Pani13a,
  title={How to effectively use topic models for software engineering tasks? an approach based on genetic algorithms},
  author={Panichella, Annibale and Dit, Bogdan and Oliveto, Rocco and Di Penta, Massimiliano and Poshyvanyk, Denys and De Lucia, Andrea},
  booktitle={Proceedings of the 2013 International Conference on Software Engineering},
  pages={522--531},
  year={2013},
  organization={IEEE Press}
}

@inproceedings{Pani14a,
 author={Panichella, A and Oliveto, R. and De Lucia, A},
 booktitle={Software Maintenance, Reengineering and Reverse Engineering (CSMR-WCRE), 2014 Software Evolution Week - IEEE Conference on},
 title={Cross-project defect prediction models: L'Union fait la force},
 year={2014},
 month=feb,
 pages={164-173},
 keywords={learning (artificial intelligence);pattern classification;program debugging;public domain software;statistical analysis;CODEP;L'Union fait la force;classification;combined defect predictor;cross-project defect prediction models;defect-prone entity detection;machine learning techniques;open source software systems;statistical analysis;Accuracy;Context;Logistics;Measurement;Predictive models;Regression tree analysis;Software},
 doi={10.1109/CSMR-WCRE.2014.6747166}
 }

@inproceedings{Pani14b,
  title={How developers' collaborations identified from different sources tell us about code changes},
  author={Panichella, Sebastiano and Bavota, Gabriele and Di Penta, Massimiliano and Canfora, Gerardo and Antoniol, Giuliano},
  booktitle={2014 IEEE International Conference on Software Maintenance and Evolution},
  pages={251--260},
  year={2014},
  organization={IEEE}
}

@inproceedings{Pani15a,
  title={How can {I} improve my app? {Classifying} user reviews for software maintenance and evolution},
  author={Panichella, Sebastiano and Di Sorbo, Andrea and Guzman, Emitza and Visaggio, Corrado A and Canfora, Gerardo and Gall, Harald C},
  booktitle={2015 IEEE International Conference on Software Maintenance and Evolution (ICSME)},
  pages={281--290},
  year={2015},
  organization={IEEE}
}

@inproceedings{Pani16a,
author={S. Panichella and A. Panichella and M. Beller and A. Zaidman and H. C. Gall},
booktitle={2016 IEEE/ACM 38th International Conference on Software Engineering (ICSE)},
title={The Impact of Test Case Summaries on Bug Fixing Performance: An Empirical Investigation},
year={2016},
volume={},
number={},
pages={547-558},
keywords={program debugging;program testing;TestDescriber approach;automated test generation tools;automated unit test generation;bug fixing performance;search-based techniques;test case summaries;Computer bugs;Java;Natural languages;Pragmatics;Software;Software engineering;Testing;Empirical Study;Software testing;Test Case Summarization},
doi={10.1145/2884781.2884847},
ISSN={},
month=may}

@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}}

@inproceedings{Papi02a,
 author = {Papineni, Kishore and Roukos, Salim and Ward, Todd and Zhu, Wei-Jing},
 title = {BLEU: A Method for Automatic Evaluation of Machine Translation},
 booktitle = {Proceedings of the 40th Annual Meeting on Association for Computational Linguistics},
 series = {ACL '02},
 year = {2002},
 location = {Philadelphia, Pennsylvania},
 pages = {311--318},
 numpages = {8},
 url = {https://doi.org/10.3115/1073083.1073135},
 doi = {10.3115/1073083.1073135},
 acmid = {1073135},
 publisher = {Association for Computational Linguistics},
 address = {Stroudsburg, PA, USA}}

@inproceedings{Papi07a,
 author = {Papi, Matthew M. and Ernst, Michael D.},
 title = {Compile-time Type-checking for Custom Type Qualifiers in {Java}},
 booktitle = {Companion to the 22Nd ACM SIGPLAN Conference on Object-oriented Programming Systems and Applications Companion},
 series = {OOPSLA '07},
 year = {2007},
 isbn = {978-1-59593-865-7},
 location = {Montreal, Quebec, Canada},
 pages = {809--810},
 numpages = {2},
 url = {http://doi.acm.org/10.1145/1297846.1297911},
 doi = {10.1145/1297846.1297911},
 acmid = {1297911},
 publisher = {ACM},
 address = {New York, NY, USA},
 keywords = {Java, NonNull, annotation, compiler, javac, type qualifier, type system, verification}
}

@inproceedings{Papi08a,
	author = {Papi, Matthew M. and Ali, Mahmood and Correa,Jr., Telmo Luis and Perkins, Jeff H. and Ernst, Michael D.},
	title = {Practical Pluggable Types for {Java}},
	booktitle = {Proceedings of the 2008 International Symposium on Software Testing and Analysis},
	series = {ISSTA '08},
	year = {2008},
	isbn = {978-1-60558-050-0},
	location = {Seattle, WA, USA},
	pages = {201--212},
	numpages = {12},
	url = {http://doi.acm.org/10.1145/1390630.1390656},
	doi = {10.1145/1390630.1390656},
	acmid = {1390656},
	publisher = {ACM},
	address = {New York, NY, USA},
	keywords = {annotation, bug finding, case study, compiler, flow sensitivity, igj, immutable, intern, java, javac, javari, nonnull, pluggable type, polymorphism, readonly, type qualifier, type system, verification}
}

@inproceedings{Papo11a,
 author = {Papoulias, Nick and Bouraqadi, Noury and Denker, Marcus and Ducasse, St{\'e}phane and Fabresse, Luc},
 title = {Towards Structural Decomposition of Reflection with Mirrors},
 booktitle = {Proceedings of the International Workshop on Smalltalk Technologies},
 series = {IWST '11},
 year = {2011},
 isbn = {978-1-4503-1050-5},
 location = {Edinburgh, United Kingdom},
 pages = {12:1--12:5},
 articleno = {12},
 numpages = {5},
 url = {http://doi.acm.org/10.1145/2166929.2166941},
 doi = {10.1145/2166929.2166941},
 acmid = {2166941},
 publisher = {ACM},
 address = {New York, NY, USA}
}

@phdthesis{Papo13a,
  title={Remote Debugging and Reflection in Resource Constrained Devices},
  author={Papoulias, Nikolaos},
  year={2013},
  school={Universit{\'e} des Sciences et Technologie de Lille-Lille I}
}

@article{Papo15a,
  title={Mercury: Properties and Design of a Remote Debugging Solution using Reflection},
  author={Papoulias, Nick and Bouraqadi, Noury and Fabresse, Luc and Ducasse, St{\'e}phane and Denker, Marcus},
  journal={Journal of Object Technology},
  pages={36},
  year={2015}}

@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}}

@article{Pari16a,
  title={Neuro-symbolic program synthesis},
  author={Parisotto, Emilio and Mohamed, Abdel-rahman and Singh, Rishabh and Li, Lihong and Zhou, Dengyong and Kohli, Pushmeet},
  journal={arXiv preprint arXiv:1611.01855},
  year={2016}
}

@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{Parn08a,
 author = {Parnin, Chris and G\"{o}rg, Carsten and Nnadi, Ogechi},
 title = {A Catalogue of Lightweight Visualizations to Support Code Smell Inspection},
 booktitle = {Proceedings of the 4th ACM Symposium on Software Visualization},
 series = {SoftVis '08},
 year = {2008},
 isbn = {978-1-60558-112-5},
 location = {Ammersee, Germany},
 pages = {77--86},
 numpages = {10},
 url = {http://doi.acm.org/10.1145/1409720.1409733},
 doi = {10.1145/1409720.1409733},
 acmid = {1409733},
 publisher = {ACM},
 address = {New York, NY, USA},
 keywords = {code inspection, code smells, lightweight visualization, refactoring}
}

@inproceedings{Parn11a,
 author = {Parnin, Chris and Bird, Christian and Murphy-Hill, Emerson},
 title = {Java Generics Adoption: How New Features Are Introduced, Championed, or Ignored},
 booktitle = {Proceedings of the 8th Working Conference on Mining Software Repositories},
 series = {MSR '11},
 year = {2011},
 isbn = {978-1-4503-0574-7},
 location = {Waikiki, Honolulu, HI, USA},
 pages = {3--12},
 numpages = {10},
 url = {http://doi.acm.org/10.1145/1985441.1985446},
 doi = {10.1145/1985441.1985446},
 acmid = {1985446},
 publisher = {ACM},
 address = {New York, NY, USA},
 keywords = {generics, java, languages, post-mortem analysis}
}

@inbook{Parn11b,
author= {Parnas, David Lorge},
title= {Precise Documentation: The Key to Better Software},
bookTitle= {The Future of Software Engineering},
year= {2011},
publisher= {Springer Berlin Heidelberg},
address= {Berlin, Heidelberg},
pages= {125--148},
abstract={The prime cause of the sorry ``state of the art'' in software development is our failure to produce good design documentation. Poor documentation is the cause of many errors and reduces efficiency in every phase of a software product's development and use. Most software developers believe that ``documentation'' refers to a collection of wordy, unstructured, introductory descriptions, thousands of pages that nobody wanted to write and nobody trusts. In contrast, Engineers in more traditional disciplines think of precise blueprints, circuit diagrams, and mathematical specifications of component properties. Software developers do not know how to produce precise documents for software. Software developments also think that documentation is something written after the software has been developed. In other fields of Engineering much of the documentation is written before and during the development. It represents forethought not afterthought. Among the benefits of better documentation would be: easier reuse of old designs, better communication about requirements, more useful design reviews, easier integration of separately written modules, more effective code inspection, more effective testing, and more efficient corrections and improvements. This paper explains how to produce and use precise software documentation and illustrate the methods with several examples.},
isbn= {978-3-642-15187-3},
doi= {10.1007/978-3-642-15187-3_8},
url= {https://doi.org/10.1007/978-3-642-15187-3_8}}

@inproceedings{Parn12a,
	Author = {Parnin, C. and Rugaber, S.},
	Booktitle = {Program Comprehension (ICPC), 2012 IEEE 20th International Conference on},
	Doi = {10.1109/ICPC.2012.6240479},
	Issn = {1092-8138},
	Keywords = {information needs},
	Pages = {123-132},
	Title = {Programmer information needs after memory failure},
	Year = {2012},
	Bdsk-Url-1 = {http://dx.doi.org/10.1109/ICPC.2012.6240479}}

@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{Parr11a,
    author = {Parr, Terence and Fisher, Kathleen},
    title = {{LL}(*): The Foundation of the {ANTLR} Parser Generator},
    booktitle = {Proceedings of the 32Nd ACM SIGPLAN Conference on Programming Language Design and Implementation},
    series = {PLDI '11},
    year = {2011},
    isbn = {978-1-4503-0663-8},
    location = {San Jose, California, USA},
    pages = {425--436},
    numpages = {12},
    url = {http://doi.acm.org/10.1145/1993498.1993548},
    doi = {10.1145/1993498.1993548},
    acmid = {1993548},
    publisher = {ACM},
    address = {New York, NY, USA},
    keywords = {augmented transition networks, backtracking, context-sensitive parsing, deterministic finite automata, glr, memoization, nondeterministic parsing, peg, semantic predicates, subset construction, syntactic predicates}
}

@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{Pasc13a,
  title={On the difficulty of training recurrent neural networks},
  author={Pascanu, Razvan and Mikolov, Tomas and Bengio, Yoshua},
  booktitle={International Conference on Machine Learning},
  pages={1310--1318},
  year={2013}
}

@inproceedings{Pasc17a,
 author = {Pascarella, Luca and Bacchelli, Alberto},
 title = {Classifying Code Comments in {Java} Open-source Software Systems},
 booktitle = {Proceedings of the 14th International Conference on Mining Software Repositories},
 series = {MSR '17},
 year = {2017},
 isbn = {978-1-5386-1544-7},
 location = {Buenos Aires, Argentina},
 pages = {227--237},
 numpages = {11},
 url = {https://doi.org/10.1109/MSR.2017.63},
 doi = {10.1109/MSR.2017.63},
 acmid = {3104217},
 publisher = {IEEE Press},
 keywords = {comment-analysis, comment-quality-slr, comment classification}
 }

@inproceedings{Pasc18a,
  author    = {Luca Pascarella and
               Achyudh Ram and
               Azqa Nadeem and
               Dinesh Bisesser and
               Norman Knyazev and
               Alberto Bacchelli},
  editor    = {Francesca Arcelli Fontana and
               Bartosz Walter and
               Apostolos Ampatzoglou and
               Fabio Palomba},
  title     = {Investigating type declaration mismatches in Python},
  booktitle = {2018 {IEEE} Workshop on Machine Learning Techniques for Software Quality Evaluation, MaLTeSQuE, SANER 2018, Campobasso, Italy, March 20, 2018},
  pages     = {43--48},
  publisher = {{IEEE} Computer Society},
  year      = {2018},
  url       = {https://doi.org/10.1109/MALTESQUE.2018.8368458},
  doi       = {10.1109/MALTESQUE.2018.8368458},
  keywords =  {comment-quality-slr},
  timestamp = {Wed, 16 Oct 2019 14:14:53 +0200},
  biburl    = {https://dblp.org/rec/conf/wcre/PascarellaRNBKB18.bib},
  bibsource = {dblp computer science bibliography, https://dblp.org}
}

@article{Pasc19a,
  author    = {Luca Pascarella and
               Magiel Bruntink and
               Alberto Bacchelli},
  title     = {Classifying code comments in Java software systems},
  journal   = {Empir. Softw. Eng.},
  volume    = {24},
  number    = {3},
  pages     = {1499--1537},
  year      = {2019},
  url       = {https://doi.org/10.1007/s10664-019-09694-w},
  doi       = {10.1007/s10664-019-09694-w},
  timestamp = {Tue, 25 Aug 2020 16:58:56 +0200},
  keywords =  {comment-quality-slr},
  biburl    = {https://dblp.org/rec/journals/ese/PascarellaBB19.bib},
  bibsource = {dblp computer science bibliography, https://dblp.org}
}

@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}}

@article{Pass10a,
	author={Leonardo Passos and Ricardo Terra and Marco Tulio Valente and Renato Diniz and Nabor Mendonca},
	journal={Software, IEEE},
	title={Static Architecture-Conformance Checking: An Illustrative Overview},
	year={2010},
	month=sep,
	volume={27},
	number={5},
	pages={82-89},
	doi={10.1109/MS.2009.117},
	ISSN={0740-7459}}

@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}}

@article{Pati16a,
  title={Detecting experts on Quora: by their activity, quality of answers, linguistic characteristics and temporal behaviors},
  author={Patil, Sumanth and Lee, Kyumin},
  journal={Social network analysis and mining},
  volume={6},
  number={1},
  pages={5},
  year={2016},
  publisher={Springer}
}

@mastersthesis{Patk18a,
	Title = {{Vision Backlog}},
	Author = {Nitish Patkar},
	Abstract = {Requirements elicitation plays a vital role in building a successful software. Incorrect or incomplete requirements lead to an erroneous software and costs a huge amount of rework. Rework costs in terms of money and efforts are usually higher than the early detection of potential flaws in the requirements. This happens because most of the techniques employed to extract requirements fail to understand end user goals. Understanding your users and their goals is important to build a capable, viable and a desirable product or a software system. This thesis attempts to suggest and evaluate an alternative approach to understand your potential users and their goals so that correct and complete requirements can be formulated resulting in a successful software.},
	School = {University of Paderborn, Germany},
	Keywords = {snf-none jb-none},
	Type = {Masters thesis},
	Url = {http://scg.unibe.ch/archive/external/Patk18a.pdf},
	Year = {2018}}

@inproceedings{Patk18b,
 author = {Nitish Patkar},
 title = {Towards Executable Domain Models},
 abstract = {Lack of stakeholder commitment to project activities is an important cause of project failure. It leads to poor understanding of the problem domain and ultimately to incorrect domain modeling. We believe that combining Goal Directed Design methodology with Domain Driven Design using the Naked Objects Pattern would help stakeholders to become actively involved in important project activities such as requirements elicitation and rapid prototyping. This paper suggests how these approaches can gracefully be combined to facilitate active stakeholder involvement right from requirements elicitation until rapid prototyping to build a clear product vision, and realize it through an executable domain model.},
 booktitle = {Seminar Series on Advanced Techniques \& Tools for Software Evolution (SATToSE)},
 Annote = {internationalworkshop},
 PeerReview = {yes},
 Medium = {1},
 Keywords = {scg-pub skip-doi snf-asa2 scg18 jb18},
 year = {2018},
 Url = {http://scg.unibe.ch/archive/papers/Patk18b.pdf}
}

@inproceedings{Patk19a,
	author={Patkar, Nitish and Gadient, Pascal and Ghafari, Mohammad and Nierstrasz, Oscar},
	booktitle={25th International Conference on Requirements Engineering: Foundation for Software Quality (REFSQ)},
	title={Towards a Catalogue of Mobile Elicitation Techniques},
	year={2019},
	annote={internationalconference},
	peerreview={yes},
	medium={2},
	doi={10.1007/978-3-030-15538-4_20},
	abstract={Mobile apps are crucial for many businesses. Their reach and impact on the end users and on the business in return demands that requirements are elicited carefully and properly. Traditional requirements elicitation techniques may not be adequate in the mobile apps domain. Researchers have proposed numerous requirements elicitation techniques for the mobile app domain, but unfortunately, the community still lacks a comprehensive overview of available techniques. This paper presents a literature survey of about 60 relevant publications, in which we identify 24 techniques that target mobile apps. We found that only every second strategy was evaluated empirically, and even worse, non-functional requirements were rarely considered. We provide an evaluation scheme that is intended to support readers in efficiently finding opportune elicitation techniques for mobile apps. The found literature characteristics may guide future research and help the community to create more efficient, yet better, apps.},
	keywords={scg-pub snf-asa3 scg19 jb19},
	url={http://scg.unibe.ch/archive/papers/Patk19a.pdf}
}

@inproceedings{Patk20a,
author = {Patkar, Nitish and Ghafari, Mohammad and Nierstrasz, Oscar and Hotomski, Sofija},
title = {Caveats in Eliciting Mobile App Requirements},
year = {2020},
peerreview={yes},
abstract={Factors such as app stores or platform choices heavily affect functional and non-functional mobile app requirements. We surveyed 45 companies and interviewed ten experts to explore how factors that impact mobile app requirements are understood by requirements engineers in the mobile app industry.
We observed the lack of knowledge in several areas. For instance, we observed that all practitioners were aware of data privacy concerns, however, they did not know that certain third-party libraries, usage aggregators, or advertising libraries also occasionally leak sensitive user data. Similarly, certain functional requirements may not be implementable in the absence of a third-party library that is either banned from an app store for policy violations or lacks features, for instance, missing desired features in ARKit library for iOS made practitioners turn to Android.
We conclude that requirements engineers should have adequate technical experience with mobile app development as well as sufficient knowledge in areas such as privacy, security and law, in order to make informed decisions during requirements elicitation.
},
isbn = {9781450377317},
publisher = {Association for Computing Machinery},
address = {New York, NY, USA},
url = {http://scg.unibe.ch/archive/papers/Patk20.pdf},
doi = {10.1145/3383219.3383238},
booktitle = {Proceedings of the Evaluation and Assessment in Software Engineering},
pages = {180--189},
numpages = {10},
keywords = {scg-pub  snf-asa3 scg20 jb20 snf-imad},
location = {Trondheim, Norway},
series = {EASE 2020},
Medium = {2},
Url={http://scg.unibe.ch/archive/papers/Patk20.pdf}
}

@inproceedings{Patk20b,
author    = {Nitish Patkar and Leonel Merino and Oscar Nierstrasz},
title     = {Towards requirements engineering with immersive augmented reality},
peerreview={yes},
abstract={Often, requirements engineering (RE) activities demand project stakeholders to communicate and collaborate with each other towards building a common software product vision. We conjecture that augmented reality (AR) can be a good fit to support such communication and collaboration. In this vision paper, we report on state-of-the-art research at the intersection of AR and RE. We found that requirements elicitation and analysis have been supported by the ability of AR to provision on-the-fly information such as augmented prototypes. We discuss and map the existing challenges in RE to the aspects of AR that can boost the productivity and user experience of existing RE techniques. Finally, we elaborate on various envisioned usage scenarios in which we highlight concrete benefits and challenges of adopting immersive AR to assist project stakeholders in RE activities.
  },
booktitle = {Proc.\ Programming'20 Companion},
publisher = {ACM},
pages     = {55--60},
doi       = {10.1145/3397537.3398472},
year      = {2020},
url = {http://scg.unibe.ch/archive/papers/Patk20b.pdf},
keywords = {scg-pub  snf-asa3 scg20 jb20 snf-imad},
Medium = {2}
}

@inproceedings{Patk20c,
author    = {Nitish Patkar},
title     = {Moldable requirements},
peerreview={yes},
abstract={Separate tools are employed to carry out
individual requirements engineering (RE) activities.
The lack of integration among these tools scatters
the domain knowledge, making collaboration between
technical and non-technical stakeholders difficult, and
management of requirements a tedious task. In this
Ph.D. research proposal, we argue that an integrated
development environment (IDE) should support various
RE activities. For that, distinct stakeholders must
be able to effortlessly create and manage requirements
as first-class citizens within an IDE.
With "moldable requirements," developers create
custom hierarchies of requirements and build tailored
interfaces that enable other stakeholders to create
requirements and navigate between them. Similarly,
they create custom representations of requirements
and involved domain objects to reflect various levels
of detail. Such custom and domain-specific representations
assist non-technical stakeholders in accomplishing
their distinguished RE related tasks. The custom
interfaces make the IDE usable for non-technical
stakeholders and help to preserve requirements in one
place, closer to the implementation.},
booktitle = {Benevol'20},
year      = {2020},
url = {http://scg.unibe.ch/archive/papers/Patk20c.pdf},
keywords = {scg-pub missing-doi snf-asa3 scg20 jb21 snf-imad},
Medium = {2}
}

@inproceedings{Patk21a,
author    = {Nitish Patkar and Andrei Chis and NAtaliia Stulova and Oscar Nierstrasz},
title     = {Interactive Behavior-driven Development: aLow-code Perspective},
peerreview={yes},
abstract={Within behavior-driven development (BDD), different
types of stakeholders collaborate in creating scenarios
that specify application behavior. The current workflow for
BDD expects non-technical stakeholders to use an integrated
development environment (IDE) to write textual scenarios in
the Gherkin language and verify application behavior using test
passed/failed reports. Research to date shows that this approach
leads non-technical stakeholders to perceive BDD as an overhead
in addition to the testing.
In this vision paper, we propose an alternative approach to
specify and verify application behavior visually, interactively,
and collaboratively within an IDE. Instead of writing textual
scenarios, non-technical stakeholders compose, edit, and save
scenarios by using tailored graphical interfaces that allow them
to manipulate involved domain objects. Upon executing such
interactively composed scenarios, all stakeholders verify the application
behavior by inspecting domain-specific representations
of run-time domain objects instead of a test run report. Such
a low code approach to BDD has the potential to enable nontechnical
stakeholders to engage more harmoniously in behavior
specification and validation together with technical stakeholders
within an IDE. There are two main contributions of this work:
(i) we present an analysis of the features of 13 BDD tools, (ii) we
describe a prototype implementation of our approach, and (iii) we
outline our plan to conduct a large-scale developer survey to
evaluate our approach to highlight the perceived benefits over
the existing approach.
  },
booktitle = {Proceedings of the 24rd ACM/IEEE International Conference on Model Driven Engineering Languages and Systems: Companion Proceedings},
publisher = {ACM},
year      = {2021},
doi       = {},
url = {http://scg.unibe.ch/archive/papers/Patk21a.pdf},
keywords = {scg-pub  snf-asa2 scg20 jb22 snf-imad},
Medium = {2}
}

@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,
	Address = {Washington, DC, USA},
	Author = {Clements, Paul and Garlan, David and Little, Reed and Nord, Robert and Stafford, Judith},
	Booktitle = {ICSE '03: Proceedings of the 25th International Conference on Sotware Engineering},
	Isbn = {0-7695-1877-X},
	Location = {Portland, Oregon},
	Pages = {740--741},
	Publisher = {IEEE Computer Society},
	Title = {Documenting software architectures: views and beyond},
	Year = {2003}}

@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,
	Acmid = {704665},
	Address = {London, UK},
	Author = {Pauw, Wim De and Vlissides, John M.},
	Booktitle = {Workshop on Object-Oriented Technology},
	Isbn = {3-540-65460-7},
	Numpages = {2},
	Pages = {541--542},
	Publisher = {Springer-Verlag},
	Series = {ECOOP '98},
	Title = {Visualizing Object-Oriented Programs with Jinsight},
	Url = {http://portal.acm.org/citation.cfm?id=646778.704665},
	Year = {1998},
	Bdsk-Url-1 = {http://portal.acm.org/citation.cfm?id=646778.704665}}

@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}}

@inproceedings{Pauw10a,
	Acmid = {1879233},
	Address = {New York, NY, USA},
	Author = {De Pauw, Wim and Heisig, Steve},
	Booktitle = {Proceedings of the 5th international symposium on Software visualization},
	Doi = {10.1145/1879211.1879233},
	Isbn = {978-1-4503-0028-5},
	Keywords = {event visualization, pattern extraction, tracing},
	Location = {Salt Lake City, Utah, USA},
	Numpages = {10},
	Pages = {143--152},
	Publisher = {ACM},
	Series = {SOFTVIS '10},
	Title = {Zinsight: a visual and analytic environment for exploring large event traces},
	Url = {http://doi.acm.org/10.1145/1879211.1879233},
	Year = {2010},
	Bdsk-Url-1 = {http://doi.acm.org/10.1145/1879211.1879233},
	Bdsk-Url-2 = {http://dx.doi.org/10.1145/1879211.1879233}}

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

@inproceedings{Pavl09a,
	Address = {New York, NY, USA},
	Author = {Pavlo, Andrew and Paulson, Erik and Rasin, Alexander and Abadi, Daniel J. and DeWitt, David J. and Madden, Samuel and Stonebraker, Michael},
	Booktitle = {Proceedings of the 2009 ACM SIGMOD International Conference on Management of Data},
	Doi = {10.1145/1559845.1559865},
	Isbn = {978-1-60558-551-2},
	Location = {Providence, Rhode Island, USA},
	Pages = {165--178},
	Publisher = {ACM},
	Series = {SIGMOD '09},
	Title = {A Comparison of Approaches to Large-scale Data Analysis},
	Year = {2009},
	Bdsk-Url-1 = {http://dx.doi.org/10.1145/1559845.1559865}}

@techreport{Pavl13a,
    Author = {Zvonimir Pavlinovi\'c and Babi\'c, Domagoj},
    Title = {Interactive Code Snippet Synthesis Through Repository Mining},
    Institution = {EECS Department, University of California, Berkeley},
    Year = {2013},
    Month = {mar},
    Number = {UCB/EECS-2013-23}
}

@incollection{Pavl15a,
	year={2015},
	isbn={978-3-319-19583-4},
	booktitle={Reliable Software Technologies -- Ada--Europe 2015},
	volume={9111},
	series={Lecture Notes in Computer Science},
	editor={de la Puente, Juan Antonio and Vardanega, Tullio},
	doi={10.1007/978-3-319-19584-1_3},
	title={Extensible Debugger Framework for Extensible Languages},
	url={http://dx.doi.org/10.1007/978-3-319-19584-1_3},
	publisher={Springer International Publishing},
	keywords={Debugging; Domain-specific languages; Frameworks},
	author={Pavletic, Domenik and Voelter, Markus and Raza, SyedAoun and Kolb, Bernd and Kehrer, Timo},
	pages={33-49},
	language={English}
}

	@inproceedings{Pavl15b,
	  author    = {Domenik Pavletic and
	               Syed Aoun Raza and
	               Kolja Dummann and
	               Kim Ha{\ss}lbauer},
	  title     = {Testing Extensible Language Debuggers},
	  booktitle = {Proceedings of the 1st International Workshop on Executable Modeling
	               co-located with {ACM/IEEE} 18th International Conference on Model
	               Driven Engineering Languages and Systems {(MODELS} 2015), Ottawa,
	               Canada, September 27, 2015.},
	  pages     = {34--40},
	  year      = {2015},
	  url       = {http://ceur-ws.org/Vol-1560/paper6.pdf},
	  timestamp = {Mon, 07 Mar 2016 13:28:25 +0100},
	  biburl    = {http://dblp2.uni-trier.de/rec/bib/conf/models/PavleticRDH15},
	  bibsource = {dblp computer science bibliography, http://dblp.org}
	}

@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}}

@article{Paws01a,
	author = {Pawson, Richard and Matthews, Robert},
	issn = {0362-1340},
	journal = {SIGPLAN Notices},
	number = {12},
	pages = {61--67},
	title = {{Naked Objects: a technique for designing more expressive systems}},
	volume = {36},
	year = {2001}
}

@book{Paws02a,
	Author = {Richard Pawson and Robert Matthews},
	Isbn = {0-470-84420-5},
	Keywords = {scglib olit},
	Publisher = {Wiley and Sons},
	Title = {Naked Objects},
	Url = {http://www.nakedobjects.org/book/},
	Year = {2002},
	Bdsk-Url-1 = {http://www.nakedobjects.org/book/}}

@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{Pear11a,
	Acmid = {1987247},
	Address = {Berlin, Heidelberg},
	Author = {Pearce, David J.},
	Booktitle = {Proceedings of the 20th International Conference on Compiler Construction: Part of the Joint European Conferences on Theory and Practice of Software},
	Isbn = {978-3-642-19860-1},
	Location = {Saarbr\&\#252;cken, Germany},
	Numpages = {20},
	Pages = {104--123},
	Publisher = {Springer-Verlag},
	Series = {CC'11/ETAPS'11},
	Title = {{JP}ure:: A Modular Purity System for Java},
	Url = {http://dl.acm.org/citation.cfm?id=1987237.1987247},
	Year = {2011},
	Bdsk-Url-1 = {http://dl.acm.org/citation.cfm?id=1987237.1987247}}

@inproceedings{Peck11a,
	Acmid = {2166937},
	Address = {New York, NY, USA},
	Articleno = {8},
	Author = {Martinez Peck, Mariano and Bouraqadi, Noury and Denker, Marcus and Ducasse, St{\'e}phane and Fabresse, Luc},
	Booktitle = {Proceedings of the International Workshop on Smalltalk Technologies},
	Date-Added = {2012-08-08 09:50:43 +0000},
	Date-Modified = {2012-08-09 06:46:13 +0000},
	Doi = {10.1145/2166929.2166937},
	Isbn = {978-1-4503-1050-5},
	Keywords = {proxy},
	Location = {Edinburgh, United Kingdom},
	Numpages = {16},
	Pages = {8:1--8:16},
	Publisher = {ACM},
	Rating = {2},
	Series = {IWST '11},
	Title = {Efficient proxies in Smalltalk},
	Url = {http://doi.acm.org/10.1145/2166929.2166937},
	Year = {2011},
	Bdsk-Url-1 = {http://doi.acm.org/10.1145/2166929.2166937},
	Bdsk-Url-2 = {http://dx.doi.org/10.1145/2166929.2166937}}

@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}}

@techreport{Peet11a,
	Abstract = {Nowadays there is a myriad of submission systems for conferences, workshops, jour- nals, academic
			positions, etc. Each of these systems is targeted to solve a specific prob- lem and they are not reusable in
			other contexts. We provide a unifying solution as a web system which enables submissions of files and offers
			a structured platform for the discussion of these submissions. The submission process can be configured
			through the definition of a workflow. We developed different submission web application to validate our
			approach. We show how to configure our web system to use it for these different applications.},
	Author = {Chantal Peeters},
	Institution = {University of Bern},
	Keywords = {snf-none scg-bp scg11 jb11},
	Month = jul,
	Title = {A generic Web Submission System},
	Type = {Bachelor's thesis},
	Url = {http://scg.unibe.ch/archive/projects/Peet11a.pdf},
	Year = {2011},
	Bdsk-Url-1 = {http://scg.unibe.ch/archive/projects/Peet11a.pdf}}

@techreport{Peet11b,
	Abstract = {This Step-by-Step Installation Guide helps you to set up your computer for using and developing the web
			submission system if you are using MAC or Windows. First you need to install PHP, a database, an IDE and a
			local Mail server. And then you have to make some special settings, which are very important. So this part is
			also for those who are familiar with the rest.},
	Author = {Chantal Peeters},
	Institution = {University of Bern},
	Keywords = {snf-none scg-bp scg11 jb11},
	Month = jul,
	Title = {A generic Web Submission System: Step-by Step Installation Guide},
	Type = {Bachelor's thesis, supplementary documentation},
	Url = {http://scg.unibe.ch/archive/projects/Peet11b.pdf},
	Year = {2011},
	Bdsk-Url-1 = {http://scg.unibe.ch/archive/projects/Peet11b.pdf}}

@techreport{Peet18a,
	Title = {Personalized Autism Infographics: A Web Development Project with and for Autistic People},
	Author = {Sara Peeters},
	Abstract = {Autism is a lifelong neurodevelopmental condition
	influencing a person's social interaction, communication
	and sensory perception. Autistic people tend to need a
	certain level of structure and routine and can often be
	overwhelmed in day-to-day situations. The fact that
	autistic people experience the world differently and have
	different needs than the non-autistic majority often
	leads to misunderstandings and even conflict situations.
	So called autism id cards aim to help in such situations,
	where communication between those unfamiliar with autism
	and autistic people fails, as well as to raise awareness
	in general. Their usefulness is, however, limited by the
	fact that the autism spectrum is rather broad, and the
	explanations on the cards are very general. This project
	wants to build on the idea of autism id cards by
	developing a digitalized, personalizable version of them.
	It consists of a web app where autistic people can click
	and write together one or more personalized infographics
	and make them available to the people they choose through
	an automatically generated link, or save them on their
	phone. The project is iteratively developed in
	partnership with the psychiatric department of the
	hospital of Frutigen, Meiringen, Interlaken. The input of
	autistic adults, parents of autistic children, friends
	and caretakers as potential users is taken into account
	at various stages of the development through surveys and
	usability testing. Through the modularity of the
	infographics and the free text options in each module,
	the possibilities for personalization are endless. At the
	same time the preformulated statements, and the example
	infographics that can be used as a starting point for
	customization, provide enough guidance for users not to
	get lost. While the end result is not yet ready for large
	scale public use, it is a solid proof of concept with
	extensive functionality.},
	Institution = {University of Bern},
	Keywords = {scg-bp snf-none scg18 jb18},
	Type = {Bachelor's thesis},
	Url = {http://scg.unibe.ch/archive/projects/Peet18a.pdf},
	Month = apr,
	Year = {2018}
}

@article{Pei14a,
author={Yu Pei and Furia, C.A. and Nordio, M. and Yi Wei and Meyer, B. and Zeller, A.},
journal={Software Engineering, IEEE Transactions on},
title={Automated Fixing of Programs with Contracts},
year={2014},
month=may,
volume={40},
number={5},
pages={427-449},
keywords={contracts;fault diagnosis;program debugging;program diagnostics;software tools;AutoFix approach;AutoFix supporting tool;automated program fixing;automatic debugging technique;commodity hardware;computational resources;contracts;debugging process;dynamic analysis techniques;fault detection;fault localization;general-purpose software fault fixing;high-quality fix suggestions;Automation;Contracts;Debugging;Indexes;Libraries;Software;Software engineering;Automatic program repair;contracts;dynamic analysis},
doi={10.1109/TSE.2014.2312918},
ISSN={0098-5589}
}

@phdthesis{Pek13a,
	author = {Ekaterina Pek},
	title = {Corpus-based empirical research in software engineering},
	school = {Universitaet Koblenz-Landau},
	year = {2013},
	language = {eng},
	ISBN = {978-3-00-047328-9}}

@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},
	Url = {http://scg.unibe.ch/wiki/events/dyla2011},
	Year = {2011},
	Bdsk-Url-1 = {http://scg.unibe.ch/wiki/events/dyla2011}}

@incollection{Pena13a,
	Author = {Vanessa Pe{\~n}a Araya and Alexandre Bergel and Damien Cassou and St\'ephane Ducasse and Jannik Laval},
	Booktitle = {Deep Into Pharo},
	Isbn = {978-3-9523341-6-4},
	Keywords = {Smalltalk, Pharo, Object-Oriented Programming, Live Programming},
	Month = sep,
	Pages = {209--239},
	Publisher = {Square Bracket Associates},
	Title = {Agile Visualization with {Roassal}},
	Year = {2013}}

@incollection{Pena13b,
	Author = {Vanessa Pe\~na Araya and Alexandre Bergel and Damien Cassou and St\'ephane Ducasse and Jannik Laval},
	Booktitle = {Deep Into Pharo},
	Isbn = {978-3-9523341-6-4},
	Keywords = {Smalltalk, Pharo, Object-Oriented Programming, Live Programming},
	Month = sep,
	Pages = 20,
	Publisher = {Square Bracket Associates},
	Title = {Scripting Visualizations with Mondrian},
	Year = {2013}}

@article{Penn86a,
 author = {Pennello, Thomas J.},
 title = {Very Fast {LR} Parsing},
 journal = {SIGPLAN Not.},
 issue_date = {July 1986},
 volume = {21},
 number = {7},
 month = jul,
 year = {1986},
 issn = {0362-1340},
 pages = {145--151},
 numpages = {7},
 url = {http://doi.acm.org/10.1145/13310.13326},
 doi = {10.1145/13310.13326},
 acmid = {13326},
 publisher = {ACM},
 address = {New York, NY, USA}
}

@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}}

@article{Penn87b,
	Author = {Nancy Pennington},
	Doi = {10.1016/0010-0285(87)90007-7},
	Issn = {0010-0285},
	Journal = {Cognitive Psychology},
	Pages = {295 - 341},
	Title = {Stimulus structures and mental representations in expert comprehension of computer programs},
	Volume = {19},
	Year = {1987},
	Url = {http://www.sciencedirect.com/science/article/pii/0010028587900077}}

@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}}

@incollection{Pere86a,
	author = {Pereira, F and Warren, D},
	chapter = {Definite Clause Grammars for Language Analysis},
 	title = {Readings in Natural Language Processing},
 	booktitle = {Readings in Natural Language Processing},
 	editor = {Grosz, Barbara J. and Sparck-Jones, Karen and Webber, Bonnie Lynn},
 	year = {1986},
 	isbn = {0-934613-11-7},
 	pages = {101--124},
 	numpages = {24},
 	url = {dl.acm.org/citation.cfm?id=21922.24330},
 	acmid = {24330},
 	publisher = {Morgan Kaufmann Publishers Inc.},
 	address = {San Francisco, CA, USA}
}

@inproceedings{Pere09b,
	Abstract = {Legacy systems are usually made of two kind of artifacts: source code and databases.
				Typically, the maintenance of those systems is carried out through re-engineering processes.
				Although both artifacts can be independently maintained, for a more effective re-engineering
				of the whole system both should be analyzed and evolved jointly. This is mainly due to the
				fact that the knowledge expected to be extracted by analyzing both kind of artifacts at the
				same time is greater and richer than the one recovered by just looking at the system partly,
				and thus ROI and lifespan of the system are expected to improve. This paper proposes the data
				contextualization for recovering code-to-data linkages in legacy systems. This technique is
				framed in the ADM (architecture driven modernization) approach to modernization of legacy systems,
				considering all involved artifacts as models. This paper also presents a tool to support that
				technique throughout a real-life case study.},
	Author = {Perez-Castillo, R. and de Guzman, I.G.-R. and Piattini, M. and Avila-Garcia, O.},
	Booktitle = {Reverse Engineering, 2009. WCRE '09. 16th Working Conference on},
	Doi = {10.1109/WCRE.2009.20},
	Issn = {1095-1350},
	Keywords = {ADM;architecture driven modernization;code-to-data linkage recovery;data contextualization;legacy source code;legacy systems;software modernization;system maintenance;system reengineering;software architecture;software maintenance;source coding;systems re-engineering;},
	Month = oct,
	Pages = {128 -132},
	Title = {On the Use of ADM to Contextualize Data on Legacy Source Code for Software Modernization},
	Year = {2009},
	Bdsk-Url-1 = {http://dx.doi.org/10.1109/WCRE.2009.20}}

@article{Pere11a,
	Address = {Los Alamitos, CA, USA},
	Author = {Mikhail Perepletchikov and Caspar Ryan},
	Doi = {10.1109/TSE.2010.61},
	Issn = {0098-5589},
	Journal = {IEEE Transactions on Software Engineering},
	Pages = {449-465},
	Publisher = {IEEE Computer Society},
	Title = {A Controlled Experiment for Evaluating the Impact of Coupling on the Maintainability of Service-Oriented Software},
	Volume = {37},
	Year = {2011},
	Bdsk-Url-1 = {http://dx.doi.org/10.1109/TSE.2010.61}}

@article{Pere11b,
	Abstract = {Context: Legacy information systems age over time. These systems cannot be thrown
				away because they store a significant amount of valuable business knowledge over time,
				and they cannot be entirely replaced at an acceptable cost. This circumstance is similar
				to that of the monuments of ancient civilizations, which have aged but still hold meaningful
				information about their civilizations. Evolutionary maintenance is the most suitable mechanism
				to deal with the software ageing problem since it preserves business knowledge. But first,
				recovering the underlying business knowledge in legacy systems is necessary in order to
				preserve this vital heritage. Objective: This paper proposes and validates a method for
				recovering and rebuilding business processes from legacy information systems.
				This method, which can be considered a business process archeology, makes it possible to
				preserve the business knowledge in legacy information systems. Method: The business
				process archeology method is framed in MARBLE, a generic framework based on
				Architecture-Driven Modernization (ADM), which uses the Knowledge Discovery Metamodel (KDM)
				standard. The proposed method is validated using a case study that involves a real-life
				legacy system. The case study is conducted following the case study protocol proposed by
				Brereton et al. Results: The study reports that the proposed method makes it possible to
				obtain business process models from legacy systems with adequate levels of accuracy.
				In addition, the effectiveness of the proposed method is also validated positively.
				Conclusion: The proposed method semi-automatically rebuilds the hidden business processes embedded
				in a legacy system. Therefore, the business process archeology method quickly allows business
				experts to have a meaningful understanding of the organization's business processes. This
				proposal is less time-consuming and more exhaustive (since it considers the embedded
				business knowledge) than a manual process redesign by experts from scratch. In addition, it
				helps maintainers to extract the business knowledge needed for the system to evolve.},
	Author = {Ricardo P\'erez-Castillo and Ignacio Garc\'ia-Rodr\'iguez de Guzm\'an and Mario Piattini},
	Doi = {10.1016/j.infsof.2011.05.006},
	Issn = {0950-5849},
	Journal = {Information and Software Technology},
	Keywords = {Business process archeology ADM Modernization KDM Legacy system Case study},
	Number = {10},
	Pages = {1023 - 1044},
	Title = {Business process archeology using MARBLE},
	Url = {http://www.sciencedirect.com/science/article/pii/S0950584911001224},
	Volume = {53},
	Year = {2011},
	Bdsk-Url-1 = {http://www.sciencedirect.com/science/article/pii/S0950584911001224},
	Bdsk-Url-2 = {http://dx.doi.org/10.1016/j.infsof.2011.05.006}}

@inproceedings{Pere16a,
 author = {Pereira, Rui and Couto, Marco and Saraiva, Jo\~{a}o and Cunha, J\'{a}come and Fernandes, Jo\~{a}o Paulo},
 title = {The Influence of the Java Collection Framework on Overall Energy Consumption},
 booktitle = {Proceedings of the 5th International Workshop on Green and Sustainable Software},
 series = {GREENS '16},
 year = {2016},
 isbn = {978-1-4503-4161-5},
 location = {Austin, Texas},
 pages = {15--21},
 numpages = {7},
 url = {http://doi.acm.org/10.1145/2896967.2896968},
 doi = {10.1145/2896967.2896968},
 acmid = {2896968},
 publisher = {ACM},
 address = {New York, NY, USA},
 keywords = {energy-aware software, green computing}
}

@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)},
	Doi = {10.1109/WCRE.2009.45},
	Keywords = {scg09 scg-pub jb10 hasler09 moose-pub},
	Location = {Lille, France},
	Medium = {2},
	Month = oct,
	Pages = {291-294},
	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},
	Doi = {10.1109/ICSM.2010.5609572},
	Keywords = {scg-pub scg10 jb11 hasler10 moose-pub girba},
	Location = {Timi\c{s}oara, Romania},
	Medium = {2},
	Month = sep,
	Pages = {1-10},
	Peerreview = {yes},
	Title = {Recovery and Analysis of Transaction Scope from Scattered Information in {Java} Enterprise Applications},
	Url = {http://scg.unibe.ch/archive/papers/Peri10aTransactionRecovery.pdf},
	Year = {2010},
	Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Peri10aTransactionRecovery.pdf},
	Bdsk-Url-2 = {http://dx.doi.org/10.1109/ICSM.2010.5609572}}

@inproceedings{Peri10b,
	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.},
	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},
	Medium = {1},
	Peerreview = {yes},
	Title = {Ranking Software Artifacts},
	Url = {http://scg.unibe.ch/archive/papers/Peri10bRankingSoftware.pdf},
	Year = {2010},
	Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Peri10bRankingSoftware.pdf}}

@inproceedings{Peri10c,
	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.},
	Annote = {internationalworkshop},
	Author = {Fabrizio Perin},
	Booktitle = {Proceedings of the 26th International Conference on Software Maintenance (ICSM 2010) (Tool Demonstration)},
	Doi = {10.1109/ICSM.2010.5609569},
	Keywords = {scg-pub scg10 jb11 hasler10 moose-pub},
	Location = {Timi\c{s}oara, Romania},
	Medium = {2},
	Month = sep,
	Peerreview = {yes},
	Title = {{MooseJEE}: A {Moose} Extension to Enable the assessment of {JEAs}},
	Url = {http://scg.unibe.ch/archive/papers/Peri10cMooseExtension.pdf},
	Year = {2010},
	Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Peri10cMooseExtension.pdf},
	Bdsk-Url-2 = {http://dx.doi.org/10.1109/ICSM.2010.5609569}}

@inproceedings{Peri10d,
	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.},
	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},
	Location = {Timi\c{s}oara, Romania},
	Medium = {1},
	Month = sep,
	Peerreview = {yes},
	Title = {Evaluating Code Duplication to Identify Rich Business Objects from Data Transfer Objects},
	Url = {http://scg.unibe.ch/archive/papers/Peri10dDTOs.pdf},
	Year = {2010},
	Bdsk-Url-1 = {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},
	Author = {Fabrizio Perin and Lukas Renggli and Jorge Ressia},
	Booktitle = {Smalltalks 2010},
	Keywords = {scg11 scg-pub jb11 snf11 textlint petitparser skip-doi},
	Location = {Concepcion del Uruguay, Entre Rios, Argentina},
	Medium = {2},
	Peerreview = {yes},
	Title = {Natural Language Checking with Program Checking Tools},
	Url = {http://scg.unibe.ch/archive/papers/Peri10eNaturalLanguageChecking.pdf},
	Year = {2010},
	Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Peri10eNaturalLanguageChecking.pdf}}

@article{Peri11a,
	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 = {internationaljournal},
	Author = {Fabrizio Perin and Lukas Renggli and Jorge Ressia},
	Doi = {10.1016/j.cl.2011.11.002},
	Journal = {Journal of Computer Languages, Systems and Structures},
	Keywords = {scg11 scg-pub jb12 snf-none textlint petitparser},
	Medium = {2},
	Peerreview = {yes},
	Publisher = {Elsevier},
	Title = {Linguistic Style Checking with Program Checking Tools},
	Url = {http://scg.unibe.ch/archive/papers/Peri11aNaturalLanguageCheckingWithProgramCheckingTools.pdf},
	Year = {2011},
	Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Peri11aNaturalLanguageCheckingWithProgramCheckingTools.pdf},
	Bdsk-Url-2 = {http://dx.doi.org/10.1016/j.cl.2011.11.002}}

@phdthesis{Peri12a,
	Abstract = {Nowadays a large majority of software systems are built using various technologies
				that in turn rely on different languages (e.g. Java, XML, SQL etc.). We call such
				systems heterogeneous applications (HAs). By contrast, we call software systems that
				are written in one language homogeneous applications. In HAs the information regarding
				the structure and the behaviour of the system is spread across various components and
				languages and the interactions between different application elements could be hidden.
				In this context applying existing reverse engineering and quality assurance techniques
				developed for homogeneous applications is not enough. These techniques have been created
				to measure quality or provide information about one aspect of the system and they
				cannot grasp the complexity of HAs.
				In this dissertation we present our approach to support the analysis and evolution of
				HAs based on: (1) a unified first-class description of HAs and, (2) a meta-model that
				reifies the concept of horizontal and vertical dependencies between application elements
				at different levels of abstraction. We implemented our approach in two tools, MooseEE and Carrack.
				The first is an extension of the Moose platform for software and data analysis and contains
				our unified meta-model for HAs. The latter is an engine to infer derived dependencies that
				can support the analysis of associations among the heterogeneous elements composing HA.
				We validate our approach and tools by case studies on industrial and open-source JEAs
				which demonstrate how we can handle the complexity of such applications and how we can
				solve problems deriving from their heterogeneous nature.},
	Author = {Fabrizio Perin},
	Keywords = {scg-phd snf12 scg12 jb13 Moose},
	Month = nov,
	School = {University of Bern},
	Title = {Reverse Engineering Heterogeneous Applications},
	Type = {{PhD} thesis},
	Url = {http://scg.unibe.ch/archive/phd/perin-phd.pdf},
	Year = {2012},
	Bdsk-Url-1 = {http://scg.unibe.ch/archive/phd/perin-phd.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}}

@inproceedings{Perk09a,
 author = {Perkins, Jeff H. and Kim, Sunghun and Larsen, Sam and Amarasinghe, Saman and Bachrach, Jonathan and Carbin, Michael and Pacheco, Carlos and Sherwood, Frank and Sidiroglou, Stelios and Sullivan, Greg and Wong, Weng-Fai and Zibin, Yoav and Ernst, Michael D. and Rinard, Martin},
 title = {Automatically Patching Errors in Deployed Software},
 booktitle = {Proceedings of the ACM SIGOPS 22Nd Symposium on Operating Systems Principles},
 series = {SOSP '09},
 year = {2009},
 isbn = {978-1-60558-752-3},
 location = {Big Sky, Montana, USA},
 pages = {87--102},
 numpages = {16},
 url = {http://doi.acm.org/10.1145/1629575.1629585},
 doi = {10.1145/1629575.1629585},
 acmid = {1629585},
 publisher = {ACM},
 address = {New York, NY, USA},
 keywords = {self healing}
}

@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}}

@article{Perr94a,
	Acmid = {182392},
	Address = {Los Alamitos, CA, USA},
	Author = {Perry, Dewayne E. and Staudenmayer, Nancy and Votta, Lawrence G.},
	Doi = {10.1109/52.300082},
	Issn = {0740-7459},
	Issue = {4},
	Journal = {IEEE Softw.},
	Keywords = {development time, direct observation, e-mail, human factors, modified time card, noncoding activities, organizational issues, process improvement, professional aspects, programmers, social aspects of automation, social issues, software development process, software engineering, time diary},
	Month = jul,
	Numpages = {10},
	Pages = {36--45},
	Publisher = {IEEE Computer Society Press},
	Title = {People, Organizations, and Process Improvement},
	Volume = {11},
	Year = {1994},
	Bdsk-Url-1 = {http://dx.doi.org/10.1109/52.300082}}

@article{Perr01a,
 author = {Perry, Dewayne E. and Siy, Harvey P. and Votta, Lawrence G.},
 title = {Parallel Changes in Large-scale Software Development: An Observational Case Study},
 journal = {ACM Trans. Softw. Eng. Methodol.},
 issue_date = {July 2001},
 volume = {10},
 number = {3},
 month = jul,
 year = {2001},
 issn = {1049-331X},
 pages = {308--337},
 numpages = {30},
 url = {http://doi.acm.org/10.1145/383876.383878},
 doi = {10.1145/383876.383878},
 acmid = {383878},
 publisher = {ACM},
 address = {New York, NY, USA},
 keywords = {change management, merging interfering and noninterfering versions, parallel versions, parallel/concurrent changes, software integration}
}

@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}}

@inproceedings{Pers12a,
	Abstract = {Writing unit tests for a software system enhances
				  the confidence that a system works as expected.
				  Since time pressure often prevents a complete
				  testing of all application details developers need
				  to know which new tests the system requires.
				  Developers also need to know which existing tests
				  take the most time and slow down the whole
				  development process. Missing feedback about less
				  tested functionality and reasons for long running
				  test cases make it, however, harder to create a test
				  suite that covers all important parts of a software
				  system in a minimum of time. As a result a software
				  system may be inadequately tested and developers may
				  test less frequently. provides test quality feedback
				  to guide developers in identifying missing tests and
				  correcting low-quality tests. developers with a tool
				  that analyzes test suites with respect to their
				  effectivity (e.g., missing tests) and efficiency
				  (e.g., time and memory consumption). implement our
				  approach, named PathMap, as an extended test runner
				  within the Squeak Smalltalk IDE and demonstrate its
				  benefits by improving the test quality of
				  representative software systems.},
	Address = {Playa Vista, CA, USA},
	Author = {Perscheid, Michael and Cassou, Damien and Hirschfeld, Robert},
	Booktitle = {C5'12: Proceedings of the 10th International Conference on Creating, Connecting and Collaborating through Computing},
	Month = jan,
	Publisher = {IEEE},
	Selectif = {non},
	Title = {Test Quality Feedback: Improving Effectivity and Efficiency of Unit Testing},
	Year = {2012}}

@article{Pers16a,
author={Perscheid, Michael and Siegmund, Benjamin and Taeumel, Marcel and Hirschfeld, Robert},
title={Studying the advancement in debugging practice of professional software developers},
journal={Software Quality Journal},
year={2016},
pages={1--28},
abstract={In 1997, Henry Lieberman stated that debugging is the dirty little secret of computer science. Since then, several promising debugging technologies have been developed such as back-in-time debuggers and automatic fault localization methods. However, the last study about the state-of-the-art in debugging is still more than 15 years old and so it is not clear whether these new approaches have been applied in practice or not.For that reason, we investigate the current state of debuggingin a comprehensive study. First, we review the available literature and learn about current approaches and study results. Second, we observe several professional developers while debugging and interview them about their experiences. Third, we create a questionnaire that serves as the basis for a larger online debugging survey. Based on these results, we present new insights into debugging practice that help to suggest new directions for future research.},
issn={1573-1367},
doi={10.1007/s11219-015-9294-2},
url={http://dx.doi.org/10.1007/s11219-015-9294-2}
}

@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}}

@inproceedings{Pete08a,
  title={Systematic mapping studies in software engineering},
  author={Petersen, Kai and Feldt, Robert and Mujtaba, Shahid and Mattsson, Michael},
  booktitle={12th International Conference on Evaluation and Assessment in Software Engineering (EASE) 12},
  pages={1--10},
  year={2008}}

@inproceedings{Pete10a,
  title={tutorial of outlier detection techniques},
  Booktitle={16th ACM SIGKDD Conference on Knowledge Discovery and Data Mining},
  author={Kriegel, Hans-Peter and Kr{\"o}ger, Peer and Zimek, Arthur},
  year={2010},
  url={http://www.imada.sdu.dk/~zimek/publications/KDD2010/kdd10-outlier-tutorial.pdf}
}

@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 scg-none 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}}

@misc{Petr98a,
	title = {Cognitive questions in software visualization},
  	author = {Petre, Marian and Blackwell, AF and Green, TRG},
  	journal = {Software visualization: Programming as a multimedia experience},
  	pages = {453--480},
  	year = {1998},
  	publisher = {MIT Press}
}

@inproceedings{Petr08a,
  abstract = {Partial comprehension is a necessity in the evolution and maintenance of very large software systems. The programmers form not only partial comprehension of the code, but also partial comprehension of the application domain. To describe the comprehension process, we introduce ontology fragments and investigate how programmers form, use and extend them before and during concept location; concept location is a prerequisite of code changes. We conducted case studies of concept location in two large systems, Eclipse and Mozilla, that both have more than 50,000 methods. Using grep search and ontology fragments, the programmers were able to locate the concepts after inspecting on average less than 10 methods and operating with ontology fragments of around 14 concepts, a very small fraction of the total.},
  author = {Petrenko, M. and Rajlich, V. and Vanciu, R.},
  booktitle = {The 16th IEEE Int'l Conf. on Program Comprehension},
  keywords = {maintenance reverse_engineering ontology},
  month = jun,
  pages = {13-22},
  publisher = {IEEE},
  timestamp = {2010-01-18T22:16:30.000+0100},
  title = {Partial Domain Comprehension in Software Evolution and Maintenance},
  year = {2008}
}

@inproceedings{Petr09a,
	Acmid = {1595731},
	Address = {New York, NY, USA},
	Author = {Petre, Marian},
	Booktitle = {Proceedings of the the 7th joint meeting of the European software engineering conference and the ACM SIGSOFT symposium on The foundations of software engineering},
	Doi = {10.1145/1595696.1595731},
	Isbn = {978-1-60558-001-2},
	Keywords = {design, empirical studies, expertise, software design processes},
	Location = {Amsterdam, The Netherlands},
	Numpages = {10},
	Pages = {233--242},
	Publisher = {ACM},
	Series = {ESEC/FSE '09},
	Title = {Insights from expert software design practice},
	Url = {http://doi.acm.org/10.1145/1595696.1595731},
	Year = {2009},
	Bdsk-Url-1 = {http://doi.acm.org/10.1145/1595696.1595731},
	Bdsk-Url-2 = {http://dx.doi.org/10.1145/1595696.1595731}}

@inproceedings{Petr13a,
	Acmid = {2486883},
	Address = {Piscataway, NJ, USA},
	Author = {Petre, Marian},
	Booktitle = {Proceedings of the 2013 International Conference on Software Engineering},
	Isbn = {978-1-4673-3076-3},
	Location = {San Francisco, CA, USA},
	Numpages = {10},
	Pages = {722--731},
	Publisher = {IEEE Press},
	Series = {ICSE '13},
	Title = {UML in practice},
	Url = {http://oro.open.ac.uk/35805/8/UML%20in%20practice%208.pdf},
	Year = {2013},
	Bdsk-Url-1 = {http://oro.open.ac.uk/35805/8/UML%20in%20practice%208.pdf}}

@inproceedings{Petr15a,
 author = {Petrosyan, Gayane and Robillard, Martin P. and De Mori, Renato},
 title = {Discovering Information Explaining {API} Types Using Text Classification},
 booktitle = {Proceedings of the 37th International Conference on Software Engineering - Volume 1},
 series = {ICSE '15},
 year = {2015},
 isbn = {978-1-4799-1934-5},
 location = {Florence, Italy},
 pages = {869--879},
 numpages = {11},
 publisher = {IEEE Press},
 address = {Piscataway, NJ, USA}
}

@book{Pezz07a,
author = {Pezz{\`e}, Mauro and Young, Michal},
title = {Software Testing and Analysis: Process, Principles and Techniques},
year = {2007},
publisher = {Wiley}
}

@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{Pham13a,
	Address = {New York, NY, USA},
	Author = {Raphael Pham and Leif Singer and Olga Liskin and Fernando Figueira Filho and Kurt Schneider},
	Booktitle = {Proceeding of the 35th international conference on Software engineering},
	Keywords = {testing-practices},
	Note = {To appear},
	Publisher = {ACM},
	Series = {ICSE 2013},
	Title = {Creating a Shared Understanding of Testing Culture on a Social Coding Site},
	Url = {http://se.uni-hannover.de/pub/File/pdfpapers/Pham2012.pdf},
	Year = {2013},
	Bdsk-Url-1 = {http://se.uni-hannover.de/pub/File/pdfpapers/Pham2012.pdf}}

@inproceedings{Pham020,
  author    = {Tri Minh Triet Pham and
               Jinqiu Yang},
  title     = {The Secret Life of Commented-Out Source Code},
  booktitle = {{ICPC} '20: 28th International Conference on Program Comprehension,
               Seoul, Republic of Korea, July 13-15, 2020},
  pages     = {308--318},
  publisher = {{ACM}},
  year      = {2020},
  url       = {https://doi.org/10.1145/3387904.3389259},
  doi       = {10.1145/3387904.3389259},
  keywords =  {comment-quality-slr},
  timestamp = {Mon, 21 Sep 2020 12:25:07 +0200},
  biburl    = {https://dblp.org/rec/conf/iwpc/Pham020.bib},
  bibsource = {dblp computer science bibliography, https://dblp.org}
}

@inproceedings{Phan05a,
	Author = {Doantam Phan and Ling Xiao and Ron B. Yeh and Pat Hanrahan and Terry Winograd},
	Bibsource = {DBLP, http://dblp.uni-trier.de},
	Booktitle = {INFOVIS},
	Doi = {10.1109/INFOVIS.2005.13},
	Pages = {29},
	Title = {Flow Map Layout},
	Url = {http://graphics.stanford.edu/papers/flow_map_layout/flow_map_layout.pdf},
	Year = {2005},
	Bdsk-Url-1 = {http://graphics.stanford.edu/papers/flow_map_layout/flow_map_layout.pdf},
	Bdsk-Url-2 = {http://dx.doi.org/10.1109/INFOVIS.2005.13}}

@misc{Pharo,
	key = {Pharo},
	url = {http://consortium.pharo.org},
	note = {verified on 10 Jan 2020},
	year = {2020},
	Title = {Pharo Consortium}}

@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{Phil06a,
   author = {Philip J. Guo and Jeff H. Perkins and Stephen McCamant and
	Michael D. Ernst},
   title = {Dynamic inference of abstract types},
   booktitle = {ISSTA 2006, Proceedings of the 2006 International
	Symposium on Software Testing and Analysis},
   pages = {255--265},
   address = {Portland, ME, USA},
   month = jul,
   year = {2006}
}

@inproceedings{Phil12a,
	Author = {Phillips, Shaun and Ruhe, Guenther and Sillito, Jonathan},
	Booktitle = {Proceedings of the ACM 2012 conference on Computer Supported Cooperative Work},
	Organization = {ACM},
	Pages = {1371--1380},
	Title = {Information needs for integration decisions in the release process of large-scale parallel development},
	Year = {2012}}

@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,
	Acmid = {1747574},
	Address = {Washington, DC, USA},
	Author = {Piccioni, Marco and Orioly, Manuel and Meyer, Bertrand and Schneider, Teseo},
	Booktitle = {Proceedings of the 2009 IEEE/ACM International Conference on Automated Software Engineering},
	Doi = {10.1109/ASE.2009.100},
	Isbn = {978-0-7695-3891-4},
	Keywords = {persistence, refactoring, serialization, versioning},
	Numpages = {5},
	Pages = {650--654},
	Publisher = {IEEE Computer Society},
	Series = {ASE '09},
	Title = {An IDE-based, Integrated Solution to Schema Evolution of Object-Oriented Software},
	Url = {http://dx.doi.org/10.1109/ASE.2009.100},
	Year = {2009},
	Bdsk-Url-1 = {http://dx.doi.org/10.1109/ASE.2009.100}}

@article{Picc11a,
	Author = {Marco Piccioni and Manuel Oriol and Bertrand Meyer},
	Date-Added = {2011-08-03 09:21:34 +0200},
	Date-Modified = {2011-11-28 10:35:11 +0100},
	Journal = {Computing Research Repository},
	Keywords = {refactoring; software-evolution; case-study; schema-evolution;classification},
	Masid = {39313914},
	Title = {Schema Evolution for Persistent Object-Oriented Software: Model, Empirical Study, and Automated Support},
	Volume = {abs/1103.0},
	Year = {2011}}

@inproceedings{Picek08a,
	Address = {Varazdin, Croatia},
	Author = {Picek, Ruben and Strahonja, Vjeran},
	Booktitle = {IIS'07: Proceedings of the 18th International Conference on Information and Intelligent Systems},
	Isbn = {978-953-6071-30-2},
	Keywords = {damiencbib mda mdd mde case tools},
	Month = sep,
	Pages = {407--413},
	Publisher = {Aurer, Boris},
	Title = {{Model Driven Development} - Future or Failure of Software Development?},
	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}}

@article{Pier00b,
 author = {Pierce, Benjamin C. and Turner, David N.},
 title = {Local Type Inference},
 journal = {ACM Trans. Program. Lang. Syst.},
 issue_date = {Jan. 2000},
 volume = {22},
 number = {1},
 month = jan,
 year = {2000},
 issn = {0164-0925},
 pages = {1--44},
 numpages = {44},
 url = {http://doi.acm.org/10.1145/345099.345100},
 doi = {10.1145/345099.345100},
 acmid = {345100},
 publisher = {ACM},
 address = {New York, NY, USA},
 keywords = {polymorphism, subtyping, type inference}
}

@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}}

@inproceedings{Pier02b,
	Address = {New York, NY, USA},
	Author = {Pierce, Robert and Tilley, Scott},
	Booktitle = {SIGDOC '02: Proceedings of the 20th annual international conference on Computer documentation},
	Doi = {10.1145/584955.584979},
	Isbn = {1-58113-543-2},
	Location = {Toronto, Ontario, Canada},
	Pages = {157--163},
	Publisher = {ACM},
	Title = {Automatically connecting documentation to code with rose},
	Year = {2002},
	Bdsk-Url-1 = {http://dx.doi.org/10.1145/584955.584979}}

@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}}

@article{Piet05a,
	Address = {Los Alamitos, CA, USA},
	Author = {Emmanuel Pietriga},
	Doi = {10.1109/VLHCC.2005.11},
	Isbn = {0-7695-2443-5},
	Journal = {IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC)},
	Pages = {145-152},
	Publisher = {IEEE Computer Society},
	Title = {A Toolkit for Addressing HCI Issues in Visual Language Environments},
	Volume = {00},
	Year = {2005},
	Bdsk-Url-1 = {http://dx.doi.org/10.1109/VLHCC.2005.11}}

@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}}

@article{Pike87a,
	Author = {Pike, R.},
	Journal = {Software: Practice and Experience},
	Number = {11},
	Pages = {813--845},
	Publisher = {Wiley Online Library},
	Title = {The text editor sam},
	Volume = {17},
	Year = {1987}}

@inproceedings{Pike87b,
	Author = {Pike, Rob},
	Booktitle = {Proc. EUUG Spring Conf., Helsinki 1987},
	Title = {Structural Regular Expressions},
	Year = {1987}}

@book{Pilg04a,
 author = {Pilgrim, Mark},
 title = {Dive Into Python},
 year = {2004},
 isbn = {1590593561},
 publisher = {APress}
}

@book{Pilo05a,
	Author = {Dan Pilone},
	Keywords = {book scglib},
	Publisher = {O'Reilly},
	Title = {UML 2.0},
	Year = {2005}}

@inproceedings{Pina11a,
	Author = {Lu\'{\i}s Pina and Jo{\~a}o P. Cachopo},
	Booktitle = {HotSWUp},
	Doi = {dx.doi.org/10.1109/HotSWUp.2012.6226612},
	Pages = {21-25},
	Title = {Atomic Dynamic Upgrades using software transactional memory},
	Year = {2012},
	Bdsk-Url-1 = {http://dx.doi.org/10.1109/HotSWUp.2012.6226612}}

@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 scg-none 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{Pint14a,
 author = {Pinto, Gustavo and Castor, Fernando and Liu, Yu David},
 title = {Understanding Energy Behaviors of Thread Management Constructs},
 booktitle = {Proceedings of the 2014 ACM International Conference on Object Oriented Programming Systems Languages \& Applications},
 series = {OOPSLA '14},
 year = {2014},
 isbn = {978-1-4503-2585-1},
 location = {Portland, Oregon, USA},
 pages = {345--360},
 numpages = {16},
 url = {http://doi.acm.org/10.1145/2660193.2660235},
 doi = {10.1145/2660193.2660235},
 acmid = {2660235},
 publisher = {ACM},
 address = {New York, NY, USA},
 keywords = {energy consumption, java, multi-threaded programming, performance, thread management}}

@inproceedings{Pint14b,
 author = {Pinto, Gustavo and Castor, Fernando and Liu, Yu David},
 title = {Mining Questions About Software Energy Consumption},
 booktitle = {Proceedings of the 11th Working Conference on Mining Software Repositories},
 series = {MSR 2014},
 year = {2014},
 isbn = {978-1-4503-2863-0},
 location = {Hyderabad, India},
 pages = {22--31},
 numpages = {10},
 url = {http://doi.acm.org/10.1145/2597073.2597110},
 doi = {10.1145/2597073.2597110},
 acmid = {2597110},
 publisher = {ACM},
 address = {New York, NY, USA},
 keywords = {Practitioners, Q\&A, Software Energy Consumption, dev-questions}
}

@inproceedings{Pint15a,
 author = {Pinto, Gustavo and Torres, Weslley and Castor, Fernando},
 title = {A Study on the Most Popular Questions About Concurrent Programming},
 booktitle = {Proceedings of the 6th Workshop on Evaluation and Usability of Programming Languages and Tools},
 series = {PLATEAU 2015},
 year = {2015},
 isbn = {978-1-4503-3907-0},
 location = {Pittsburgh, PA, USA},
 pages = {39--46},
 numpages = {8},
 url = {http://doi.acm.org/10.1145/2846680.2846687},
 doi = {10.1145/2846680.2846687},
 acmid = {2846687},
 publisher = {ACM},
 address = {New York, NY, USA},
 keywords = {Practitioners, Q\&A, dev-questions}
}

@inproceedings{Pint06a,
  author = {Gustavo Pinto and Kenan Liu and Fernando Castor and Yu David Liu},
  booktitle = {Proceedings of the 32nd IEEE International Conference on Software Maintenance and Evolution},
  Title = {A Comprehensive Study on the Energy Efficiency of Java's Thread-Safe Collections},
  year = {2016},
  pages = {1--16}
}

@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,
	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.},
	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},
	Doi = {10.1109/ICPC.2008.23},
	Issn = {1063-6897},
	Month = {jun},
	Pages = {254 -259},
	Title = {A Tool for Visual Understanding of Source Code Dependencies},
	Year = {2008},
	Bdsk-Url-1 = {http://dx.doi.org/10.1109/ICPC.2008.23}}

@inproceedings{Pinz08b,
	Acmid = {1453105},
	Address = {New York, NY, USA},
	Author = {Pinzger, Martin and Nagappan, Nachiappan and Murphy, Brendan},
	Booktitle = {Proceedings of the 16th ACM SIGSOFT International Symposium on Foundations of Software Engineering},
	Doi = {10.1145/1453101.1453105},
	Isbn = {978-1-59593-995-1},
	Keywords = {developer contribution network, failure prediction, network centrality measures, social network analysis},
	Location = {Atlanta, Georgia},
	Numpages = {11},
	Pages = {2--12},
	Publisher = {ACM},
	Series = {SIGSOFT '08/FSE-16},
	Title = {Can Developer-module Networks Predict Failures?},
	Url = {http://doi.acm.org/10.1145/1453101.1453105},
	Year = {2008},
	Bdsk-Url-1 = {http://doi.acm.org/10.1145/1453101.1453105},
	Bdsk-Url-2 = {http://dx.doi.org/10.1145/1453101.1453105}}

@inproceedings{Pipk02a,
	Author = {Jens Uwe Pipka},
	Booktitle = {Proceeding of the Third International Conference on eXtreme Programming and Flexible Processes in Software Eng},
	Title = {Refactoring in a ``Test First''-World},
	Year = {2002}}

@inproceedings{Piro05a,
	Author = {Pirolli, Peter and Card, Stuart},
	Booktitle = {Proceedings of International Conference on Intelligence Analysis},
	Year = {2005},
	Pages = {2--4},
	Title = {The sensemaking process and leverage points for analyst technology as identified through cognitive task analysis} }

@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}}

@inproceedings{Pium98a,
	Acmid = {277743},
	Address = {New York, NY, USA},
	Author = {Piumarta, Ian and Riccardi, Fabio},
	Booktitle = {Proceedings of the ACM SIGPLAN 1998 conference on Programming language design and implementation},
	Doi = {10.1145/277650.277743},
	Isbn = {0-89791-987-4},
	Keywords = {bytecode interpretation, dynamic translation, inlining, just-in-time compilation, threaded code},
	Location = {Montreal, Quebec, Canada},
	Numpages = {10},
	Pages = {291--300},
	Publisher = {ACM},
	Series = {PLDI '98},
	Title = {Optimizing direct threaded code by selective inlining},
	Year = {1998},
	Bdsk-Url-1 = {http://dx.doi.org/10.1145/277650.277743}}

@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,
	Acmid = {257635},
	Address = {Los Alamitos, CA, USA},
	Author = {Piwowarski, Paul and Ohba, Mitsuru and Caruso, Joe},
	Booktitle = {Proceedings of the 15th international conference on Software Engineering},
	Isbn = {0-89791-588-7},
	Location = {Baltimore, Maryland, United States},
	Numpages = {15},
	Pages = {287--301},
	Publisher = {IEEE Computer Society Press},
	Series = {ICSE '93},
	Title = {Coverage measurement experience during function test},
	Url = {http://portal.acm.org/citation.cfm?id=257572.257635},
	Year = {1993},
	Bdsk-Url-1 = {http://portal.acm.org/citation.cfm?id=257572.257635}}

@article{Plai95a,
 author = {Plaisant, Catherine and Carr, David and Shneiderman, Ben},
 title = {Image-Browser Taxonomy and Guidelines for Designers},
 journal = {IEEE Softw.},
 issue_date = {March 1995},
 volume = {12},
 number = {2},
 month = mar,
 year = {1995},
 issn = {0740-7459},
 pages = {21--32},
 numpages = {12},
 url = {http://dx.doi.org/10.1109/52.368260},
 doi = {10.1109/52.368260},
 acmid = {625443},
 publisher = {IEEE Computer Society Press},
 address = {Los Alamitos, CA, USA}
}

@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}}

@incollection{Plan13a,
	Author = {Alain Plantec and Alexandre Bergel and Damien Cassou and St\'ephane Ducasse and Jannik Laval},
	Booktitle = {Deep Into Pharo},
	Isbn = {978-3-9523341-6-4},
	Keywords = {Smalltalk, Pharo, Object-Oriented Programming, Live Programming},
	Month = sep,
	Pages = 26,
	Publisher = {Square Bracket Associates},
	Title = {The Settings Framework},
	Year = {2013}}

@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{Plev95a,
 author = {Plevyak, John and Zhang, Xingbin and Chien, Andrew A.},
 title = {Obtaining Sequential Efficiency for Concurrent Object-oriented Languages},
 booktitle = {Proceedings of the 22Nd ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages},
 series = {POPL '95},
 year = {1995},
 isbn = {0-89791-692-1},
 location = {San Francisco, California, USA},
 pages = {311--321},
 numpages = {11},
 url = {http://doi.acm.org/10.1145/199448.199524},
 doi = {10.1145/199448.199524},
 acmid = {199524},
 publisher = {ACM},
 address = {New York, NY, USA}
}

@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}}

@inproceedings{Plos14a,
  author    = {Reinhold Pl{\"{o}}sch and
               Andreas Dautovic and
               Matthias Saft},
  title     = {The Value of Software Documentation Quality},
  booktitle = {2014 14th International Conference on Quality Software, Allen, TX,
               USA, October 2-3, 2014},
  pages     = {333--342},
  publisher = {{IEEE}},
  year      = {2014},
  url       = {https://doi.org/10.1109/QSIC.2014.22},
  doi       = {10.1109/QSIC.2014.22},
  timestamp = {Wed, 16 Oct 2019 14:14:56 +0200},
  Keywords =  {comment-quality-slr},
  biburl    = {https://dblp.org/rec/conf/qsic/PloschDS14.bib},
  bibsource = {dblp computer science bibliography, https://dblp.org}
}

@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{Pluq09b,
	Acmid = {1640118},
	Address = {New York, NY, USA},
	Author = {Pluquet, Fr{\'e}d{\'e}ric and Langerman, Stefan and Wuyts, Roel},
	Booktitle = {Proceedings of the 24th ACM SIGPLAN conference on Object oriented programming systems languages and applications},
	Date-Added = {2011-12-07 16:58:20 +0100},
	Date-Modified = {2011-12-07 16:59:04 +0100},
	Doi = {doi.acm.org/10.1145/1640089.1640118},
	Isbn = {978-1-60558-766-0},
	Keywords = {object-oriented; versioning; persistency; aliasing},
	Location = {Orlando, Florida, USA},
	Numpages = {18},
	Pages = {391--408},
	Publisher = {ACM},
	Rating = {4},
	Series = {OOPSLA '09},
	Title = {Executing code in the past: efficient in-memory object graph versioning},
	Url = {http://doi.acm.org/10.1145/1640089.1640118},
	Year = {2009},
	Bdsk-Url-1 = {http://doi.acm.org/10.1145/1640089.1640118},
	Bdsk-Url-2 = {http://dx.doi.org/10.1145/1640089.1640118}}

@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}}

@inproceedings{Pokh19a,
 author = {Pokharel, Rashmi and Haghighi, Pari Delir and Jayaraman, Prem Prakash and Georgakopoulos, Dimitrios},
 title = {Analysing Emerging Topics Across Multiple Social Media Platforms},
 booktitle = {Proceedings of the Australasian Computer Science Week Multiconference},
 series = {ACSW 2019},
 year = {2019},
 isbn = {978-1-4503-6603-8},
 location = {Sydney, NSW, Australia},
 pages = {16:1--16:9},
 articleno = {16},
 numpages = {9},
 url = {http://doi.acm.org/10.1145/3290688.3290720},
 doi = {10.1145/3290688.3290720},
 acmid = {3290720},
 publisher = {ACM},
 address = {New York, NY, USA},
 keywords = {Social media, topic modelling, topic ranking, topic similarity}
}

@article{Pole99a,
	Acmid = {330250},
	Address = {New York, NY, USA},
	Author = {Poletto, Massimiliano and Sarkar, Vivek},
	Doi = {10.1145/330249.330250},
	Issn = {0164-0925},
	Issue = {5},
	Journal = {ACM Trans. Program. Lang. Syst.},
	Keywords = {code optimization, compilers, register allocation},
	Month = {sep},
	Numpages = {19},
	Pages = {895--913},
	Publisher = {ACM},
	Title = {Linear scan register allocation},
	Volume = {21},
	Year = {1999},
	Bdsk-Url-1 = {http://dx.doi.org/10.1145/330249.330250}}

@inproceedings{Poli07a,
 author = {Polishchuk, Marina and Liblit, Ben and Schulze, Chlo\"{e} W.},
 title = {Dynamic Heap Type Inference for Program Understanding and Debugging},
 booktitle = {Proceedings of the 34th Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages},
 series = {POPL '07},
 year = {2007},
 isbn = {1-59593-575-4},
 location = {Nice, France},
 pages = {39--46},
 numpages = {8},
 url = {http://doi.acm.org/10.1145/1190216.1190225},
 doi = {10.1145/1190216.1190225},
 acmid = {1190225},
 publisher = {ACM},
 address = {New York, NY, USA},
 keywords = {conservative garbage collection, constraints, debugging tools, dynamic type inference, heap visualization, physical subtyping}
}

@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.},
	Acceptnum = {38},
	Accepttotal = {132},
	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\%},
	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{Pomi00a,
  title={A framework for optimizing {Java} using attributes},
  author={Pominville, Patrice and Qian, Feng and Vall{\'e}e-Rai, Raja and Hendren, Laurie and Verbrugge, Clark},
  booktitle={Proceedings of the 2000 conference of the Centre for Advanced Studies on Collaborative research},
  pages={8},
  year={2000},
  organization={IBM Press}
}

@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 = {scg-none 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 = {scg-none 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 = {skip-doi scg-phd scg-none 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}}

@inproceedings{Ponz14a,
 author = {Ponzanelli, Luca and Bavota, Gabriele and Di Penta, Massimiliano and Oliveto, Rocco and Lanza, Michele},
 title = {Mining {StackOverflow} to Turn the {IDE} into a Self-confident Programming Prompter},
 booktitle = {Proceedings of the 11th Working Conference on Mining Software Repositories},
 series = {MSR 2014},
 year = {2014},
 isbn = {978-1-4503-2863-0},
 location = {Hyderabad, India},
 pages = {102--111},
 numpages = {10},
 url = {http://doi.acm.org/10.1145/2597073.2597077},
 doi = {10.1145/2597073.2597077},
 acmid = {2597077},
 publisher = {ACM},
 address = {New York, NY, USA},
 keywords = {Developers Support, Empirical Studies, Recommender Systems}
}

@inproceedings{Ponz17a,
author={L. Ponzanelli and S. Scalabrino and G. Bavota and A. Mocci and R. Oliveto and M. Di Penta and M. Lanza},
booktitle={2017 IEEE/ACM 39th International Conference on Software Engineering (ICSE)},
title={Supporting Software Developers with a Holistic Recommender System},
year={2017},
volume={},
number={},
pages={94-105},
doi={10.1109/ICSE.2017.17},
ISSN={},
month=may
}

@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}}

@incollection{Poor12a,
	Author = {Poort, EltjoR. and Martens, Nick and Weerd, Inge and Vliet, Hans},
	Booktitle = {Requirements Engineering: Foundation for Software Quality},
	Doi = {10.1007/978-3-642-28714-5_4},
	Editor = {Regnell, Bjorn and Damian, Daniela},
	Isbn = {978-3-642-28713-8},
	Keywords = {Software Architecture; Requirements Management; Software Project Management; NFR; Modifiability; Empirical Software Engineering},
	Pages = {37-51},
	Publisher = {Springer Berlin Heidelberg},
	Series = {Lecture Notes in Computer Science},
	Title = {How Architects See Non-Functional Requirements: Beware of Modifiability},
	Url = {http://dx.doi.org/10.1007/978-3-642-28714-5_4},
	Volume = {7195},
	Year = {2012},
	Bdsk-Url-1 = {http://dx.doi.org/10.1007/978-3-642-28714-5_4}}

@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}}

@inproceedings{Popo91a,
	 author = {Popovich, Steven S. and Schell, William M. and Perry, Dewayne E.},
	 title = {Experiences with an Environment Generation System},
	 booktitle = {Proceedings of the 13th International Conference on Software Engineering},
	 series = {ICSE '91},
	 year = {1991},
	 isbn = {0-89791-391-4},
	 location = {Austin, Texas, USA},
	 pages = {219--224},
	 numpages = {6},
	 url = {http://dl.acm.org/citation.cfm?id=256664.256767},
	 acmid = {256767},
	 publisher = {IEEE Computer Society Press},
	 address = {Los Alamitos, CA, USA}
}

@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 scg-none 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{Port10a,
	Abstract = {Beim Information Retrieval ist in Anbetracht der Informationsflut entscheidend, relevante Informationen zu finden. Ein vielversprechender Ansatz liegt im Semantischen Web, wobei dem System die Bedeutung von Informationen ontologiebasiert beigebracht wird. Sucht der Benutzer nach Stichworten, werden ihm anhand der Ontologie verwandte Begriffe angezeigt und er kann mittels Mensch-Maschine-Interaktion seine relevanten Informationen extrahieren. Um eine solche Interaktion zu f\&ouml;rdern, werden die Ergebnisse visuell aufgearbeitet. Dabei liegt der Mehrwert darin, dass der Benutzer anstelle von Tausenden von Suchresultaten in einer fast endlosen Liste, ein kartographisch visualisiertes Suchresultat geliefert bekommt. Dabei hilft die Visualisierung, unvorhergesehene Beziehungen zu entdecken und zu erforschen.},
	Address = {Heidelberg},
	Author = {Edy Portmann and Adrian Kuhn},
	Booktitle = {HMD - Praxis der Wirtschaftsinformatik},
	Isbn = {978-3-89864-624-6},
	Issn = {1436-3011},
	Keywords = {akuhn},
	Number = {Heft 271},
	Organization = {dpunkt Verlag},
	Pages = {81-90},
	Publisher = {dpunkt Verlag},
	Series = {Web 3.0 \& Semantic Web},
	Title = {Extraktion und kartographische Visualisierung von Informationen aus Weblogs},
	Year = {2010}}

@inproceedings{Posh06a,
	Address = {Washington, DC, USA},
	Author = {Poshyvanyk, Denys and Marcus, Andrian and Rajlich, Vaclav and Gueheneuc, Yann-Gael and Antoniol, Giuliano},
	Booktitle = {Proceedings of the 14th IEEE International Conference on Program Comprehension},
	Doi = {10.1109/ICPC.2006.17},
	Isbn = {0-7695-2601-2},
	Numpages = {12},
	Pages = {137--148},
	Publisher = {IEEE Computer Society},
	Series = {ICPC '06},
	Title = {Combining Probabilistic Ranking and Latent Semantic Indexing for Feature Identification},
	Url = {http://dx.doi.org/10.1109/ICPC.2006.17},
	Year = {2006},
	Bdsk-Url-1 = {http://dx.doi.org/10.1109/ICPC.2006.17}}

@inproceedings{Posh06b,
	Acmid = {1173033},
	Address = {Washington, DC, USA},
	Author = {Poshyvanyk, Denys and Marcus, Andrian},
	Booktitle = {Proceedings of the 22nd IEEE International Conference on Software Maintenance},
	Doi = {10.1109/ICSM.2006.67},
	Isbn = {0-7695-2354-4},
	Numpages = {10},
	Pages = {469--478},
	Publisher = {IEEE Computer Society},
	Title = {The Conceptual Coupling Metrics for Object-Oriented Systems},
	Year = {2006},
	Bdsk-Url-1 = {http://portal.acm.org/citation.cfm?id=1172962.1173033}}

@inproceedings{Posh06c,
	title = {Jiriss-an eclipse plug-in for source code exploration},
	author = {Poshyvanyk, Denys and Marcus, Andrian and Dong, Yubo},
	booktitle = {Program Comprehension, 2006. ICPC 2006. 14th IEEE International Conference on},
	pages = {252--255},
	year = {2006},
	organization = {IEEE}}

@inproceedings{Posh06d,
	author={Poshyvanyk, D. and Petrenko, M. and Marcus, A. and Xinrong Xie and Dapeng Liu},
	booktitle={Software Maintenance, 2006. ICSM '06. 22nd IEEE International Conference on},
	title={Source Code Exploration with Google},
	year={2006},
	pages={334-338},
	doi={10.1109/ICSM.2006.60},
	ISSN={1063-6773},
	month=sep
}

@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,
	Address = {Hingham, MA, USA},
	Author = {Poshyvanyk, Denys and Marcus, Andrian and Ferenc, Rudolf and Gyim\'{o}thy, Tibor},
	Doi = {10.1007/s10664-008-9088-2},
	Issn = {1382-3256},
	Issue_Date = {February 2009},
	Journal = {Empirical Software Engineering},
	Keywords = {Change prediction, Coupling measurement, Impact analysis, Information retrieval, Latent semantic indexing},
	Month = feb,
	Number = {1},
	Numpages = {28},
	Pages = {5--32},
	Publisher = {Kluwer Academic Publishers},
	Title = {Using information retrieval based coupling measures for impact analysis},
	Url = {http://dx.doi.org/10.1007/s10664-008-9088-2},
	Volume = {14},
	Year = {2009},
	Bdsk-Url-1 = {http://dx.doi.org/10.1007/s10664-008-9088-2}}

@inproceedings{Posn11a,
 author = {Posnett, Daryl and Filkov, Vladimir and Devanbu, Premkumar},
 title = {Ecological Inference in Empirical Software Engineering},
 booktitle = {Proceedings of the 2011 26th IEEE/ACM International Conference on Automated Software Engineering},
 series = {ASE '11},
 year = {2011},
 isbn = {978-1-4577-1638-6},
 pages = {362--371},
 numpages = {10},
 url = {http://dx.doi.org/10.1109/ASE.2011.6100074},
 doi = {10.1109/ASE.2011.6100074},
 acmid = {2190191},
 publisher = {IEEE Computer Society},
 address = {Washington, DC, USA}
}

@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}}

@inproceedings{Pota13a,
 author = {Potanin, Alex and Damitio, Monique and Noble, James},
 title = {Are Your Incoming Aliases Really Necessary? Counting the Cost of Object Ownership},
 booktitle = {Proceedings of the 2013 International Conference on Software Engineering},
 series = {ICSE '13},
 year = {2013},
 isbn = {978-1-4673-3076-3},
 location = {San Francisco, CA, USA},
 pages = {742--751},
 numpages = {10},
 url = {http://dl.acm.org/citation.cfm?id=2486788.2486886},
 acmid = {2486886},
 publisher = {IEEE Press},
 address = {Piscataway, NJ, USA}
}

@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}}

@article{Poul94a,
    author = {Poulovassilis, Alexandra and Levene, Mark},
    title = {A Nested-Graph Model for the Representation and Manipulation of Complex Objects},
	abstract={Three recent trends in database research are
		object-oriented and deductive databases and graph-based user interfaces.
		We draw these trends together in a data model we call the Hypernode
		Model. The single data structure of this model is the hypernode, a graph
		whose nodes can themselves be graphs. Hypernodes are typed, and types,
		too, are nested graphs. We give the theoretical foundations of hypernodes
		and types, and we show that type checking is tractable. We show also how
		conventional type-forming operators can be simulated by our graph types,
		including cyclic types. The Hypernode Model comes equipped with a
		rule-based query language called Hyperlog, which is complete with respect
		to computation and update. We define the operational semantics of
		Hyperlog and show that the evaluation of Hyperlog programs is intractable
		in the general case --- we identify cases when evaluation can be performed
		efficiently. We discuss also the use of Hyperlog for supporting database
		browsing, an essential feature of Hypertext databases. We compare our
		work with other graph-based data models --- unlike previous graph-based
		models, the Hypernode Model provides inherent support for data
		abstraction via its nesting of graphs. Finally, we briefly discuss the
		implementation of a DBMS based on the Hypernode Model.},
    year = {1994},
    issue_date = {Jan. 1994},
    publisher = {Association for Computing Machinery},
    address = {New York, NY, USA},
    volume = {12},
    number = {1},
    issn = {1046-8188},
    doi = {10.1145/174608.174610},
    journal = {ACM Trans. Inf. Syst.},
    month = jan,
    pages = {35-68},
    numpages = {34},
    keywords = {hypergraphs, hypernode model, complex object, rule-based query and update language, nested graph, types, object store}
}

@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 scg-none 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{Prad12a,
	Acmid = {2337332},
	Address = {Piscataway, NJ, USA},
	Author = {Pradel, Michael and Jaspan, Ciera and Aldrich, Jonathan and Gross, Thomas R.},
	Booktitle = {Proceedings of the 2012 International Conference on Software Engineering},
	Isbn = {978-1-4673-1067-3},
	Location = {Zurich, Switzerland},
	Numpages = {11},
	Pages = {925--935},
	Publisher = {IEEE Press},
	Series = {ICSE 2012},
	Title = {Statically Checking {API} Protocol Conformance with Mined Multi-object Specifications},
	Url = {http://dl.acm.org/citation.cfm?id=2337223.2337332},
	Year = {2012},
	Bdsk-Url-1 = {http://dl.acm.org/citation.cfm?id=2337223.2337332}}

@inproceedings{Prad15a,
author={M. Pradel and P. Schuh and K. Sen},
booktitle={2015 IEEE/ACM 37th IEEE International Conference on Software Engineering},
title={Type{D}evil: Dynamic Type Inconsistency Analysis for {J}ava{S}cript},
year={2015},
volume={1},
pages={314-324},
keywords={Java;JavaScript;TypeDevil;dynamic language;dynamic type inconsistency analysis;polymorphic behavior pervasiveness;Arrays;Benchmark testing;Computer crashes;Instruments;Performance analysis;Receivers;Runtime;Dynamic languages;JavaScript;dynamic analysis;program analysis;types},
doi={10.1109/ICSE.2015.51},
ISSN={0270-5257}
}

@article{Prah13a,
	title = {Monaco--A domain-specific language solution for reactive process control programming with hierarchical components},
	journal = {Computer Languages, Systems and Structures},
	volume = {39},
	number = {3},
	pages = {67--94},
	year = {2013},
	issn = {1477-8424},
	doi = {10.1016/j.cl.2013.02.001},
	url = {http://www.sciencedirect.com/science/article/pii/S1477842413000031},
	author = {Herbert Pr\"ahofer and Roland Schatz and Christian Wirth and Dominik Hurnaus and Hanspeter M{\"o}ssenb{\"o}ck}
}

@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}}

@book{Pras09a,
	Address = {Greenwich, CT, USA},
	Author = {Prasanna, Dhanji R.},
	Date-Added = {2013-05-06 15:45:58 +0000},
	Date-Modified = {2013-05-06 15:46:05 +0000},
	Edition = {1st},
	Isbn = {193398855X, 9781933988559},
	Publisher = {Manning Publications Co.},
	Title = {Dependency Injection},
	Year = {2009}}

@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}}

@article{Prec98b,
 author = {Prechelt Lutz and Tichy Walter F.},
 title = {A Controlled Experiment to Assess the Benefits of Procedure Argument Type Checking},
 journal = {IEEE Trans. Softw. Eng.},
 issue_date = {April 1998},
 volume = {24},
 number = {4},
 month = apr,
 year = {1998},
 issn = {0098-5589},
 pages = {302--312},
 numpages = {11},
 url = {http://dx.doi.org/10.1109/32.677186},
 doi = {10.1109/32.677186},
 acmid = {279140},
 publisher = {IEEE Press},
 address = {Piscataway, NJ, USA},
 keywords = {Type checking, defects, quality, productivity, controlled experiment}
}

@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}}

@article{Prec00c,
 author = {Prechelt, Lutz},
 title = {An Empirical Comparison of Seven Programming Languages},
 journal = {Computer},
 issue_date = {October 2000},
 volume = {33},
 number = {10},
 month = oct,
 year = {2000},
 issn = {0018-9162},
 pages = {23--29},
 numpages = {7},
 url = {http://dx.doi.org/10.1109/2.876288},
 doi = {10.1109/2.876288},
 acmid = {621567},
 publisher = {IEEE Computer Society Press},
 address = {Los Alamitos, CA, USA}
}

@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}}

@book{Pres10a,
	Author = {Roger S. Pressman},
	Edition = {Seventh Edition},
	Isbn = {007301933X},
	Publisher = {McGraw-Hill},
	Title = {Software Engineering: A Practitioner's Approach},
	Year = {2010}}

@book{Pres14a,
	Author = {Roger S. Pressman},
	Isbn = {978-0078022128},
	Keywords = {book scglib oorp eselit},
	Publisher = {McGraw-Hill},
	Title = {Software Engineering: A Practitioner's Approach},
	Year = {2014}
}

@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{Prev09a,
	Acmid = {1562861},
	Address = {New York, NY, USA},
	Articleno = {1},
	Author = {Previtali, Susanne Cech and Sch\"{a}uble, Michele and Gross, Thomas R.},
	Booktitle = {Proceedings of the Workshop on AOP and Meta-Data for Software Evolution},
	Doi = {/10.1145/1562860.1562861},
	Isbn = {978-1-60558-548-2},
	Keywords = {context-oriented; software-evolution; programming-language; versioning},
	Location = {Genova, Italy},
	Numpages = {6},
	Pages = {1:1--1:6},
	Publisher = {ACM},
	Rating = {4},
	Series = {RAM-SE '09},
	Title = {Revision classes for explicit versioning},
	Year = {2009},
	Bdsk-Url-1 = {http://dx.doi.org/10.1145/1562860.1562861}}

@inproceedings{Prev11a,
	Acmid = {1960289},
	Address = {New York, NY, USA},
	Author = {Cech Previtali, Susanne and Gross, Thomas R.},
	Booktitle = {Proceedings of the tenth international conference on Aspect-oriented software development},
	Doi = {10.1145/1960275.1960289},
	Isbn = {978-1-4503-0605-8},
	Keywords = {aspect-oriented programming, empirical study, software evolution},
	Location = {Porto de Galinhas, Brazil},
	Numpages = {12},
	Pages = {105--116},
	Publisher = {ACM},
	Series = {AOSD '11},
	Title = {Aspect-based dynamic software updating: a model and its empirical evaluation},
	Year = {2011},
	Bdsk-Url-1 = {http://dx.doi.org/10.1145/1960275.1960289}}

@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{Prin02a,
 author = {Printezis, Tony and Jones, Richard},
 title = {GCspy: An Adaptable Heap Visualisation Framework},
 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 = {343--358},
 numpages = {16},
 url = {http://doi.acm.org/10.1145/582419.582451},
 doi = {10.1145/582419.582451},
 acmid = {582451},
 publisher = {ACM},
 address = {New York, NY, USA},
 keywords = {Java, garbage collection, language implementation, memory management, visualisation of objects}
}

@article{Pris06a,
 	Author = {Priss, Uta},
 	Title = {Formal Concept Analysis in Information Science},
 	Journal = {Annual Rev. Info. Sci \& Technol.},
 	Issue_date = {January 2007},
 	Volume = {40},
 	Number = {1},
 	Month = dec,
 	Year = {2006},
	Issn = {0066-4200},
 	Pages = {521--543},
 	Numpages = {23},
 	Url = {http://dx.doi.org/10.1002/aris.v40:1},
 	Doi = {10.1002/aris.v40:1},
 	Acmid = {1658842},
 	Publisher = {John Wiley \& Sons, Inc.},
 	Address = {New York, NY, USA},
 	Keywords = {analytic models, concept association, concepts, contextual information, knowledge discovery}}

@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}}

@article{Proc15a,
title = {A systematic literature review on energy efficiency in cloud software architectures},
journal = {Sustainable Computing: Informatics and Systems},
volume = {7},
number = {},
pages = {2 - 10},
year = {2015},
issn = {2210-5379},
doi = {10.1016/j.suscom.2014.11.004},
url = {http://www.sciencedirect.com/science/article/pii/S2210537914000900},
author = {Giuseppe Procaccianti and Patricia Lago and Stefano Bevini}
}

@article{Proc16a,
  title={Empirical evaluation of two best practices for energy-efficient software development},
  author={Procaccianti, Giuseppe and Fernandez, Hector and Lago, Patricia},
  journal={Journal of Systems and Software},
  volume={117},
  pages={185--198},
  year={2016},
  publisher={Elsevier}
}

@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/}}

@inproceedings{Prok16a,
	author = {Proksch, Sebastian and Amann, Sven and Nadi, Sarah and Mezini, Mira},
	title = {Evaluating the Evaluations of Code Recommender Systems: A Reality Check},
	booktitle = {Proceedings of the 31st IEEE/ACM International Conference on Automated Software Engineering},
	series = {ASE 2016},
	year = {2016},
	isbn = {978-1-4503-3845-5},
	location = {Singapore, Singapore},
	pages = {111--121},
	numpages = {11},
	doi = {10.1145/2970276.2970330},
	acmid = {2970330},
	publisher = {ACM},
	address = {New York, NY, USA},
	keywords = {Artificial Evaluation, Empirical Study, IDE Interaction Data}
}

@inproceedings{Prok17a,
author = {Proksch, Sebastian and Nadi, Sarah and Amann, Sven and Mezini, Mira},
booktitle={2017 IEEE 24th International Conference on Software Analysis, Evolution and Reengineering (SANER)},
title={Enriching in-{IDE} process information with fine-grained source code history},
year={2017},
volume={},
number={},
pages={250-260},
doi={10.1109/SANER.2017.7884626},
url={http://www.st.informatik.tu-darmstadt.de/artifacts/caret/preprint.pdf},
ISSN={},
month=feb}

@misc{Prothon,
	Key = {Prothon},
	Note = {http://www.prothon.org/},
	Title = {Prothon Home Page}}

@inproceedings{Prui13a,
	Author = {Pruijt, L. and Koppe, C. and Brinkkemper, S.},
	Booktitle = {Software Maintenance (ICSM), 2013 29th IEEE International Conference on},
	Doi = {10.1109/ICSM.2013.33},
	Issn = {1063-6773},
	Month = sep,
	Pages = {220-229},
	Title = {Architecture Compliance Checking of Semantically Rich Modular Architectures: A Comparative Study of Tool Support},
	Year = {2013},
	Bdsk-Url-1 = {http://dx.doi.org/10.1109/ICSM.2013.33}}

@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}}

@misc{PughXXa,
	Author = {David Bacon and Joshua Bloch and Jeff Bogda and Cliff Click and Paul Haahr and Doug Lea and Tom May and Jan-Willem Maessen and Jeremy Manson and John D. Mitchell and Kelvin Nilsen and Bill Pugh and Emin Gun Sirer},
	Date-Added = {2012-11-29 09:00:06 +0000},
	Date-Modified = {2012-11-29 09:01:49 +0000},
	Title = {The ``Double-Checked Locking is Broken'' Declaration},
	Urldate = {http://www.cs.umd.edu/~pugh/java/memoryModel/DoubleCheckedLocking.html}}

@inproceedings{Puka07a,
	Address = {Berlin, Germany},
	Author = {Pukall, Mario and Kuhlemann, Martin},
	Booktitle = {RAM-SE'07: Proceedings of the 4th International Workshop on Reflection, AOP and Meta-Data for Software Evolution},
	Organization = {Citeseer},
	Pages = {51--57},
	Title = {Characteristics of runtime program evolution},
	Year = {2007}}

@inproceedings{Puka08a,
	Address = {Washington, DC, USA},
	Annote = {prequel to tool paper},
	Author = {Pukall, Mario and K\"{a}stner, Christian and Saake, Gunter},
	Booktitle = {APSEC '08: Proceedings of the 2008 15th Asia-Pacific Software Engineering Conference},
	Doi = {10.1109/APSEC.2008.66},
	Isbn = {978-0-7695-3446-6},
	Keywords = {dsu; java; ac},
	Pages = {85--92},
	Publisher = {IEEE Computer Society},
	Rating = {3},
	Title = {Towards Unanticipated Runtime Adaptation of Java Applications},
	Year = {2008},
	Bdsk-Url-1 = {http://dx.doi.org/10.1109/APSEC.2008.66}}

@inproceedings{Puka11a,
	Acmid = {1985970},
	Address = {New York, NY, USA},
	Author = {Pukall, Mario and Grebhahn, Alexander and Schr\"{o}ter, Reimar and K\"{a}stner, Christian and Cazzola, Walter and G\"{o}tz, Sebastian},
	Booktitle = {Proceeding of the 33rd International Conference on Software Engineering},
	Date-Added = {2011-11-25 17:37:04 +0100},
	Date-Modified = {2011-11-25 17:37:37 +0100},
	Doi = {10.1145/1985793.1985970},
	Isbn = {978-1-4503-0445-0},
	Keywords = {dsu; tools; java},
	Location = {Waikiki, Honolulu, HI, USA},
	Numpages = {3},
	Pages = {989--991},
	Publisher = {ACM},
	Rating = {2},
	Series = {ICSE '11},
	Title = {{JavAdaptor}: unrestricted dynamic software updates for {Java}},
	Url = {10.1145/1985793.1985970},
	Year = {2011},
	Bdsk-Url-1 = {10.1145/1985793.1985970},
	Bdsk-Url-2 = {http://dx.doi.org/10.1145/1985793.1985970}}

@techreport{Puka11b,
	Author = {Mario Pukall and Christian K{\"a}stner and Walter Cazzola and Sebastian G{\"o}tz and Alexander Grebhahn and Reimar Schr{\"o}ter and Gunter Saake},
	Date-Added = {2012-01-17 14:08:50 +0100},
	Date-Modified = {2012-01-17 14:14:00 +0100},
	Institution = {School of Computer Science, University of Magdeburg},
	Keywords = {dsu; java},
	Number = {04},
	Title = {Flexible Dynamic Software Updates of Java Applications: Tool Support and Case Study},
	Url = {http://wwwiti.cs.uni-magdeburg.de/iti_db/publikationen/ps/auto/FIN-04-2011.pdf},
	Year = {2011},
	Bdsk-Url-1 = {http://wwwiti.cs.uni-magdeburg.de/iti_db/publikationen/ps/auto/FIN-04-2011.pdf}}

@article{Puka12a,
	Author = {Pukall, Mario and K{\"a}stner, Christian and Cazzola, Walter and G{\"o}tz, Sebastian and Grebhahn, Alexander and Schr{\"o}ter, Reimar and Saake, Gunter},
	Date-Added = {2012-12-10 11:14:50 +0000},
	Date-Modified = {2012-12-10 11:15:35 +0000},
	Doi = {10.1002/spe.2107},
	Issn = {1097-024X},
	Journal = {Software: Practice and Experience},
	Keywords = {dynamic software updates, program evolution, state migration: tool support},
	Pages = {n/a--n/a},
	Publisher = {John Wiley & Sons, Ltd},
	Title = {{JavAdaptor}---Flexible runtime updates of {Java} applications},
	Url = {http://dx.doi.org/10.1002/spe.2107},
	Year = {2012},
	Bdsk-Url-1 = {http://dx.doi.org/10.1002/spe.2107}}

@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}}

@inproceedings{Puru04a,
  title={Towards understanding the rhetoric of small changes-extended abstract},
  author={Purushothaman, Ranjith and Perry, Dewayne E},
  booktitle={International Workshop on Mining Software Repositories (MSR 2004), International Conference on Software Engineering},
  pages={90--94},
  year={2004},
  organization={IET}
}

@article{Puru05a,
  title={Toward understanding the rhetoric of small source code changes},
  author={Purushothaman, Ranjith and Perry, Dewayne E},
  journal={Software Engineering, IEEE Transactions on},
  volume={31},
  number={6},
  pages={511--526},
  year={2005},
  publisher={IEEE}
}

@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,
	Author = {Colin Putney},
	Key = {Filesystem},
	Note = {http://www.wiresong.ca/filesystem},
	Title = {Filesystem},
	Url = {http://www.wiresong.ca/filesystem},
	Bdsk-Url-1 = {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{Pyth20a,
	key = {Python documentation guidelines},
	note = {verified on July 2021},
	url = {https://www.python.org/doc/},
	year = {2020},
	Title = {Python Documentation Guidelines}}

@misc{Python3Grammar,
	Key = {Python},
	Note = {https://docs.python.org/3/reference/grammar.html},
	Title = {{Python 3.0 Grammar}}}

@misc{Python,
	Key = {Python},
	Note = {http://www.python.org},
	Title = {Python}}

@inproceedings{Qi14,
 author = {Qi, Yuhua and Mao, Xiaoguang and Lei, Yan and Dai, Ziying and Wang, Chengsong},
 title = {The Strength of Random Search on Automated Program Repair},
 booktitle = {Proceedings of the 36th International Conference on Software Engineering},
 series = {ICSE 2014},
 year = {2014},
 isbn = {978-1-4503-2756-5},
 location = {Hyderabad, India},
 pages = {254--265},
 numpages = {12},
 url = {http://doi.acm.org/10.1145/2568225.2568254},
 doi = {10.1145/2568225.2568254},
 acmid = {2568254},
 publisher = {ACM},
 address = {New York, NY, USA},
 keywords = {Automated program repair, genetic programming, random search, search-based software engineering}
}

@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}}

@mastersthesis{Quad12a,
	Abstract = {Software instrumentation monitors the run-time behavior of a system to support a
			  particular kind of analysis. The behavior of a system can be understood as a set of
			  meta-level events that occur to achieve a goal. Instrumentation is often realized
			  with the help of reflective mechanisms that reify these meta-events. Despite many
			  advances, these approaches have a common drawback: the instrumentation of the base
			  level is tightly coupled to the behavior of the development tools that required the
			  instrumentation in the first place. This prevents development tools from leveraging
			  the event abstractions used by other tools and forces them to respecify the events
			  and their instrumentation. We propose to resolve this problem by modeling meta-events
			  explicitly. Instrumentation is dedicated to generating meta-events, and is fully
			  separated from analysis tools which selectively subscribe to these events by applying
			  the observer pattern at the meta-level. We survey approaches to reflection to
			  establish the key requirements for practical applications, and illustrate the
			  limitations of these approaches. We introduce Chameleon, a prototype tool modeling
			  the meta-level as explicit meta-events observable by development tools.},
	Author = {Andrea Quadri},
	Keywords = {scg-msc scg12 jb12 snf12 chameleon bifrost},
	Month = jan,
	School = {University of Bern},
	Title = {{Chameleon}: Decoupling Instrumentation from Development Tools with Explicit Meta-Events},
	Type = {Master's Thesis},
	Url = {http://scg.unibe.ch/archive/masters/Quad12a.pdf},
	Year = {2012},
	Bdsk-Url-1 = {http://scg.unibe.ch/archive/masters/Quad12a.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,
	Acmid = {729409},
	Address = {London, UK},
	Author = {Quigley, Aaron and Eades, Peter},
	Booktitle = {Proceedings of the 8th International Symposium on Graph Drawing},
	Isbn = {3-540-41554-8},
	Numpages = {14},
	Pages = {197--210},
	Publisher = {Springer-Verlag},
	Series = {GD '00},
	Title = {FADE: Graph Drawing, Clustering, and Visual Abstraction},
	Url = {http://portal.acm.org/citation.cfm?id=647552.729409},
	Year = {2001},
	Bdsk-Url-1 = {http://portal.acm.org/citation.cfm?id=647552.729409}}

@article{Quin86a,
  title={Induction of decision trees},
  author={Quinlan, J. Ross},
  journal={Machine learning},
  volume={1},
  number={1},
  pages={81--106},
  year={1986},
  publisher={Springer}
}

@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},
	Keywords = {robotics},
	Note = {http://www.ros.org},
	Title = {{ROS}: {Robot Operating System}},
	Url = {http://www.ros.org},
	Bdsk-Url-1 = {http://www.ros.org}}

@misc{RPackage,
	key = {RPackage},
	url = { https://figshare.com/s/6d039cebc6c2609de11a},
	note = {verified on 20 Nov 2019},
	year = {2019},
	Title = {Replication package}}

@misc{RUP,
	Author = {IBM},
	Key = {RUP},
	Keywords = {damiencbib},
	Title = {IBM - Rational Unified Process (RUP)},
	Url = {http://www.ibm.com/software/awdtools/rup},
	Bdsk-Url-1 = {http://www.ibm.com/software/awdtools/rup}}

@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}}

@techreport{Radu16a,
	Title = {Dicto Auto-Complete Engine --- a back end for autocompletion},
	Author = {Kenneth Radunz},
	Abstract = {Most programming languages have an IDE that supports
		autocompletion. This feature increases productivity and makes
		programming an easier and smoother experience. The goal of this
		project is to add autocompletion to the Dicto language. To
		ensure reusability, it is implemented in a frontend-backend
		approach. From this it follows that any new front end only needs
		to communicate to an already existing back end, which is
		responsible for the logic. Performance concerns are addressed in
		the later parts of the thesis.},
	Institution = {University of Bern},
	Keywords = {scg-bp snf-none scg16 jb16},
	Type = {Bachelor's thesis},
	Url = {http://scg.unibe.ch/archive/projects/Radu16a.pdf},
	Month = jun,
	Year = {2016}
}

@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}}

@inproceedings{Raem12a,
author={S. Raemaekers and A. van Deursen and J. Visser},
booktitle={2012 28th IEEE International Conference on Software Maintenance (ICSM)},
title={Measuring software library stability through historical version analysis},
year={2012},
volume={},
number={},
pages={378-387},
doi={10.1109/ICSM.2012.6405296},
ISSN={1063-6773},
month=sep}

@inproceedings{Raem14a,
	author={Raemaekers, Steven and van Deursen, Arie and Visser, Joost},
	booktitle={Source Code Analysis and Manipulation (SCAM), 2014 IEEE 14th International Working Conference on},
	title={Semantic Versioning versus Breaking Changes: A Study of the Maven Repository},
	year={2014},
	month=sep,
	pages={215-224},
	doi={10.1109/SCAM.2014.30}}

@inproceedings{Ragh05a,
    author = {Raghavan Komondoor and G. Ramalingam and Satish Ch and John Field},
    title = {Dependent types for program understanding},
    booktitle = {In Proc. Intl. Conf. on Tools and Algorithms for the Construction and Analysis of Systems},
    year = {2005},
    pages = {157--173},
    publisher = {Springer}
}

@inproceedings{Rahm12a,
	Author = {Foyzur Rahman and Daryl Posnett and Premkumar Devanbu},
	Booktitle = {In the 20th ACM SIGSOFT FSE},
	Publisher = {ACM},
	Title = {Recalling the ``imprecision" of cross-project defect prediction},
	Year = {2012}}

@inproceedings{Rahm14a,
	author={Rahman, M.M. and Yeasmin, S. and Roy, C.K.},
	booktitle={Software Maintenance, Reengineering and Reverse Engineering (CSMR-WCRE), 2014 Software Evolution Week - IEEE Conference on},
	title={Towards a context-aware IDE-based meta search engine for recommendation about programming errors and exceptions},
	year={2014},
	month=feb,
	pages={194-203},
	doi={10.1109/CSMR-WCRE.2014.6747170}
}

@inproceedings{Rahm14b,
 author = {Rahman, Foyzur and Khatri, Sameer and Barr, Earl T. and Devanbu, Premkumar},
 title = {Comparing Static Bug Finders and Statistical Prediction},
 booktitle = {Proceedings of the 36th International Conference on Software Engineering},
 series = {ICSE 2014},
 year = {2014},
 isbn = {978-1-4503-2756-5},
 location = {Hyderabad, India},
 pages = {424--434},
 numpages = {11},
 url = {http://doi.acm.org/10.1145/2568225.2568269},
 doi = {10.1145/2568225.2568269},
 acmid = {2568269},
 publisher = {ACM},
 address = {New York, NY, USA},
 keywords = {Empirical Research, Empirical Software Engineering, Fault Prediction, Inspection, Software Quality}
}

@inproceedings{Rahm14c,
  title={On the Use of Context in Recommending Exception Handling Code Examples.},
  author={Rahman, Mohammad Masudur and Roy, Chanchal K},
  booktitle={SCAM},
  pages={285--294},
  year={2014}
}

@techreport{Rahm15a,
	Abstract = {How well do you know the dependencies within your system?
		Dependencies between methods, classes, interfaces, libraries and
		even different projects play an important role in today's Java
		projects. Our solution, called How I KnOw My SYStem (HIKOMSYS),
		is essentially a platform for developers to improve their
		knowledge. HIKOMSYS provides a way to learn more about a project.
		With the help of gamification, HIKOMSYS engages developers to
		learn about their projects, in particular about its dependencies,
		while having fun. After uploading a project hosted on Github,
		users are able to select the modules within this project and draw
		the dependencies between those. As soon as they complete a quiz,
		HIKOMSYS gives the users helpful feedback, by showing them the
		dependencies they ignored, those wrongly assumed and of course
		those they knew about. Furthermore, users working on the same
		projects are able to compare their knowledge about their system
		with the help of a ranking board, displaying the best results for
		each user and each project. Two different case studies, one
		quantitative with 23 students of the University of Bern and one
		qualitative, showed that users are very interested in learning
		about their projects with the help of our tool. Thanks to the
		gamification aspect of HIKOMSYS, some of the 23 students started
		comparing their results to see who did better and who knew more.
		Adding new levels with different difficulties would increase the
		fun users have in solving quizzes and competing against each
		other, as well as increasing their insight into their systems.
		Additional levels could also help improving the quality of a
		project, for example by suggesting possible refactorings,
		recommending improvements to a user's project and letting them
		re-upload their project for re-evaluation. Furthermore, letting
		users guess which dependency is wrong in a given selection of
		modules or even asking multiple choice questions about properties
		and relationships existing among classes, methods and
		dependencies, would be a possibility.},
	Author = {Dominique Rahm},
	Institution = {University of Bern},
	Keywords = {snf-none scg-bp scg15 jb15},
	Month = jul,
	Title = {HIKOMSYS: {How I KnOw My SYStem} --- Learning About {Java} Dependencies Through Gamification},
	Type = {Bachelor's thesis},
	Year = {2015},
	Url = {http://scg.unibe.ch/archive/projects/Rahm15a-Hikomsys.pdf}
}

@inproceedings{Rahm15b,
  author    = {Mohammad Masudur Rahman and
               Chanchal K. Roy and
               Iman Keivanloo},
  editor    = {Michael W. Godfrey and
               David Lo and
               Foutse Khomh},
  title     = {Recommending insightful comments for source code using crowdsourced
               knowledge},
  booktitle = {15th {IEEE} International Working Conference on Source Code Analysis
               and Manipulation, {SCAM} 2015, Bremen, Germany, September 27-28, 2015},
  pages     = {81--90},
  publisher = {{IEEE} Computer Society},
  year      = {2015},
  url       = {https://doi.org/10.1109/SCAM.2015.7335404},
  doi       = {10.1109/SCAM.2015.7335404},
  keywords =  {comment-quality-slr},
  timestamp = {Wed, 16 Oct 2019 14:14:55 +0200},
  biburl    = {https://dblp.org/rec/conf/scam/RahmanRK15.bib},
  bibsource = {dblp computer science bibliography, https://dblp.org}
}

@inproceedings{Rahm18a,
 author = {Rahman, Akond and Partho, Asif and Morrison, Patrick and Williams, Laurie},
 title = {What Questions Do Programmers Ask About Configuration As Code?},
 booktitle = {Proceedings of the 4th International Workshop on Rapid Continuous Software Engineering},
 series = {RCoSE '18},
 year = {2018},
 isbn = {978-1-4503-5745-6},
 location = {Gothenburg, Sweden},
 pages = {16--22},
 numpages = {7},
 url = {http://doi.acm.org/10.1145/3194760.3194769},
 doi = {10.1145/3194760.3194769},
 acmid = {3194769},
 publisher = {ACM},
 address = {New York, NY, USA},
 keywords = {challenge, configuration as code, continuous deployment, devops, infrastructure as code, programming, puppet, question, stack overflow, dev-questions}
}

@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{Rajb17a,
  title={The impact of using regression models to build defect classifiers},
  author={Rajbahadur, Gopi Krishnan and Wang, Shaowei and Kamei, Yasutaka and Hassan, Ahmed E},
  booktitle={Proceedings of the 14th International Conference on Mining Software Repositories},
  pages={135--145},
  year={2017},
  organization={IEEE Press}
}

@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}}

@inproceedings{Rajl97a,
	Acmid = {656039},
	Address = {Washington, DC, USA},
	Author = {Rajlich, Vaclav},
	Booktitle = {Proceedings of the International Conference on Software Maintenance},
	Isbn = {0-8186-8013-X},
	Numpages = {8},
	Pages = {84--91},
	Publisher = {IEEE Computer Society},
	Series = {ICSM '97},
	Title = {A Model for Change Propagation Based on Graph Rewriting},
	Url = {http://dl.acm.org/citation.cfm?id=645545.656039},
	Year = {1997},
	Bdsk-Url-1 = {http://dl.acm.org/citation.cfm?id=645545.656039}}

@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}}

@article{Rajl00b,
  title={Incremental Redocumentation Using the Web},
  author={Rajlich, V{\'a}clav},
  journal={IEEE Software},
  volume={17},
  number={5},
  pages={102--106},
  year={2000},
  publisher={IEEE}
}

@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{Rajl02b,
	Acmid = {857012},
	Address = {Washington, DC, USA},
	Author = {Rajlich, V\'{a}clav and Wilde, Norman},
	Booktitle = {Proceedings of the 10th International Workshop on Program Comprehension},
	Isbn = {0-7695-1495-2},
	Pages = {271--},
	Publisher = {IEEE Computer Society},
	Series = {IWPC '02},
	Title = {The Role of Concepts in Program Comprehension},
	Url = {http://dl.acm.org/citation.cfm?id=580131.857012},
	Year = {2002},
	Bdsk-Url-1 = {http://dl.acm.org/citation.cfm?id=580131.857012}}

@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}}

@article{Rama94a,
 author = {Ramalingam, G.},
 title = {The Undecidability of Aliasing},
 journal = {ACM Trans. Program. Lang. Syst.},
 issue_date = {Sept. 1994},
 volume = {16},
 number = {5},
 month = sep,
 year = {1994},
 issn = {0164-0925},
 pages = {1467--1471},
 numpages = {5},
 url = {http://doi.acm.org/10.1145/186025.186041},
 doi = {10.1145/186025.186041},
 acmid = {186041},
 publisher = {ACM},
 address = {New York, NY, USA},
 keywords = {alias analysis, pointer analysis}
}

@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{Rama07a,
  title={Path-sensitive inference of function precedence protocols},
  author={Ramanathan, Murali Krishna and Grama, Ananth and Jagannathan, Suresh},
  booktitle={Proceedings of the 29th international conference on Software Engineering},
  pages={240--250},
  year={2007},
  organization={IEEE Computer Society}
}

@inproceedings{Rama14a,
        Author = {Karthik Ramachandra and Ravindra Guravannavar},
        Pages = {60--69},
        Title = {Database-Aware Program Optimizations via Static Analysis},
        Booktitle = {Bulletin of the IEEE Computer Society Technical Committee on Data Engineering, vol. 37, no. 1},
        Year = {2014}}

@article{Rama15a,
  author    = {Girish Maskeri Rama and
               Avinash C. Kak},
  title     = {Some structural measures of {API} usability},
  journal   = {Softw. Pract. Exp.},
  volume    = {45},
  number    = {1},
  pages     = {75--110},
  year      = {2015},
  url       = {https://doi.org/10.1002/spe.2215},
  doi       = {10.1002/spe.2215},
  keywords =  {comment-quality-slr},
  timestamp = {Thu, 09 Apr 2020 17:13:15 +0200},
  biburl    = {https://dblp.org/rec/journals/spe/RamaK15.bib},
  bibsource = {dblp computer science bibliography, https://dblp.org}
}

@incollection{Ramd11a,
	Author = {Ramdoyal, Ravi and Hainaut, Jean-Luc},
	Booktitle = {Advanced Information Systems Engineering},
	Doi = {10.1007/978-3-642-21640-4_15},
	Editor = {Mouratidis, Haralambos and Rolland, Colette},
	Isbn = {978-3-642-21639-8},
	Keywords = {Information Systems Engineering; Requirements Engineering; Database Engineering; Electronic Forms Reverse Engineering; Constraint Discovery},
	Pages = {184-198},
	Publisher = {Springer Berlin Heidelberg},
	Series = {Lecture Notes in Computer Science},
	Title = {Interactively Eliciting Database Constraints and Dependencies},
	Url = {http://dx.doi.org/10.1007/978-3-642-21640-4_15},
	Volume = {6741},
	Year = {2011},
	Bdsk-Url-1 = {http://dx.doi.org/10.1007/978-3-642-21640-4_15}}

@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}}

@incollection{Rand68a,
    author = {Brian Randell},
    title = {Towards a methodology of computing system design},
    booktitle = {Software Engineering: Report of a conference sponsored by the {NATO} Science Committee},
	Editor = {Peter Naur and Brian Randell},
    keywords = {software engineering simulation},
    pages = {204--208},
    Publisher = {{NATO}},
    year = {1968}
}

@inproceedings{Rang02a,
	Address = {Atlanta, GA, USA},
	Author = {Ranganathan, Anand and Campbell, Roy H.},
	Booktitle = {WMC'02: Proceedings of the 2nd International workshop on Mobile commerce},
	Doi = {10.1145/570705.570708},
	Keywords = {damiencbib},
	Month = sep,
	Pages = {10--14},
	Publisher = {ACM},
	Title = {Advertising in a pervasive computing environment},
	Year = {2002},
	Bdsk-Url-1 = {http://dx.doi.org/10.1145/570705.570708}}

@inproceedings{Rang05a,
	Address = {Kauai, HI, USA},
	Author = {Ranganathan, Anand and Chetan, Shiva and Al-Muhtadi, Jalal and Campbell, Roy H. and Mickunas, M. Dennis},
	Booktitle = {PerCom'05: Proceedings of the 3rd International Conference on Pervasive Computing and Communications},
	Doi = {10.1109/PERCOM.2005.26},
	Keywords = {olympus damiencbib pervasive},
	Month = mar,
	Pages = {7--16},
	Publisher = {IEEE Computer Society},
	Title = {Olympus: A High-Level Programming Model for Pervasive Computing Environments},
	Year = {2005},
	Bdsk-Url-1 = {http://dx.doi.org/10.1109/PERCOM.2005.26}}

@inproceedings{Rani18a,
 author = {Pooja Rani},
 title = {Software Analysis using Natural Language Queries},
 abstract = {Understanding a software system consumes a substantial portion of a developer's effort. To support software comprehension and evolution, reverse engineering aims at creating a high-level representation of an existing software system. With state- of-the-art technology, abstract models of software systems are created by reverse engineering tools and analyzed using software analysis tools. Despite the rich functionalities offered by analysis tools, a novice user may find them difficult to use due to an unfamiliar tool environment and query language. In this paper, we propose an approach that allows the developer to formulate a query in a natural language in order to overcome these obstacles.},
 booktitle = {Seminar Series on Advanced Techniques \& Tools for Software Evolution (SATToSE)},
 Annote = {internationalworkshop},
 PeerReview = {yes},
 Medium = {1},
 Keywords = {scg-pub skip-doi snf-asa2 scg18 jb18},
 year = {2018},
 Url = {http://scg.unibe.ch/archive/papers/Rani18a.pdf}
}

@inproceedings{Rani21a,
    title={Speculative Analysis for Quality Assessment of Code Comments},
      author={Rani, Pooja},
      booktitle={2021 IEEE/ACM 43rd International Conference on Software Engineering: Companion Proceedings (ICSE-Companion)},
      abstract= {Previous studies have shown that high-quality code comments assist developers in program comprehension and maintenance tasks. However, the semi-structured nature of comments, unclear conventions for writing good comments, and the lack of quality assessment tools for all aspects of comments make their evaluation and maintenance a non-trivial problem. To achieve high-quality comments, we need a deeper understanding of code comment characteristics and the practices developers follow. In this thesis, we approach the problem of assessing comment quality from three different perspectives: what developers ask about commenting practices, what they write in comments, and how researchers support them in assessing comment quality.
	  Our preliminary findings show that developers embed various kinds of information in class comments across programming languages. Still, they face problems in locating relevant guidelines to write consistent and informative comments, verifying the adherence of their comments to the guidelines, and evaluating the overall state of comment quality. To help developers and researchers in building comment quality assessment tools, we provide: (i) an empirically validated taxonomy of comment convention-related questions from various community forums, (ii) an empirically validated taxonomy of comment information types from various programming languages, (iii) a language-independent approach to automatically identify the information types, and (iv) a comment quality taxonomy prepared from a systematic literature review.},
      year={2021},
      eprint={2102.09605},
      archivePrefix={arXiv},
      primaryClass={cs.SE},
      PeerReview = {yes},
      Medium = {2},
  	  pages={299-303},
      doi={10.1109/ICSE-Companion52605.2021.00132},
      Keywords = {comments scg-pub snf-asa3 scg21 jb21},
  	  Url = {http://scg.unibe.ch/archive/papers/Rani21a.pdf}
}

@article{Rani21b,
  title={What do class comments tell us? {An} investigation of comment evolution and practices in {Pharo} {Smalltalk}},
  author={Rani, Pooja and Panichella, Sebastiano and Leuenberger, Manuel and Ghafari, Mohammad and Nierstrasz, Oscar},
  abstract = {Previous studies have characterized code comments in various programming languages, showing how high quality of code comments is crucial to support program comprehension activities, and to improve the effectiveness of maintenance tasks. However, very few studies have focused on understanding developer practices to write comments. None of them has compared such developer practices to the standard comment guidelines to study the extent to which developers follow the guidelines. This paper reports the first empirical study investigating commenting practices in Pharo Smalltalk. First, we analyze class comment evolution over seven Pharo versions. Then, we quantitatively and qualitatively investigate the information types embedded in class comments. Finally, we study the adherence of developer commenting practices to the official class comment template over Pharo versions. The results of this study show that there is a rapid increase in class comments in the initial three Pharo versions, while in subsequent versions developers added comments to both new and old classes, thus maintaining a similar code to comment ratio. We furthermore found three times as many information types in class comments as those suggested by the template. However, the information types suggested by the template tend to be present more often than other types of information. Additionally, we find that a substantial proportion of comments follow the writing style of the template in writing these information types, but they are written and formatted in a non-uniform way. This suggests the need to standardize the commenting guidelines for formatting the text, and to provide headers for the different information types to ensure a consistent style and to identify the information easily. Given the importance of high-quality code comments, we draw numerous implications for developers and researchers to improve the support for comment quality assessment tools.},
  journal={Empirical Software Engineering},
  volume={26},
  number={6},
  pages={1--49},
  year={2021},
  doi = {10.1007/s10664-021-09981-5},
  publisher={Springer},
  eprint={2005.11583},
  archivePrefix={arXiv},
  primaryClass={cs.SE},
  PeerReview = {yes},
  Medium = {2},
  keywords = {comments scg-pub scg21 jb21 snf-asa3 pharo},
  Url = {http://scg.unibe.ch/archive/papers/Rani21b.pdf}
}

@inproceedings{Rani21c,
  author={Birrer, Mathias and Rani, Pooja and Panichella, Sebastiano and Nierstrasz, Oscar},
  booktitle={2021 IEEE International Conference on Software Analysis, Evolution and Reengineering (SANER)},
  title={Makar: {A} Framework for Multi-source Studies based on Unstructured Data},
  abstract = {To perform various development and maintenance tasks, developers frequently seek information on various sources such as mailing lists, Stack Overflow (SO), and Quora. Researchers analyze these sources to understand developer information needs in these tasks. However, extracting and preprocessing unstructured data from various sources, building and maintaining a reusable dataset is often a time-consuming and iterative process. Additionally, the lack of tools for automating this data analysis process complicates the task to reproduce previous results or datasets.To address these concerns we propose Makar, which provides various data extraction and preprocessing methods to support researchers in conducting reproducible multi-source studies. To evaluate Makar, we conduct a case study that analyzes code comment related discussions from SO, Quora, and mailing lists. Our results show that Makar is helpful for preparing reproducible datasets from multiple sources with little effort, and for identifying the relevant data to answer specific research questions in a shorter time compared to state-of-the-art tools, which is of critical importance for studies based on unstructured data. Tool webpage: https://github.com/maethub/makar},
  year={2021},
  PeerReview = {yes},
  Medium = {1},
  pages={577-581},
  doi={10.1109/SANER50967.2021.00069},
  Keywords = {scg-pub snf-asa3 scg21 jb21},
  Url = {http://scg.unibe.ch/archive/papers/Rani21c.pdf}
 }

@article{Rani21d,
  title={How to Identify Class Comment Types? {A} Multi-language Approach for Class Comment Classification},
 	journal = {Journal of Systems and Software},
	volume = {181},
	pages = {111047},
	year = {2021},
	issn = {0164-1212},
	doi = {https://doi.org/10.1016/j.jss.2021.111047},
	PeerReview = {yes},
	Medium = {1},
	author = {Pooja Rani and Sebastiano Panichella and Manuel Leuenberger and Andrea {Di Sorbo} and Oscar Nierstrasz},
	abstract = {Most software maintenance and evolution tasks require developers to understand the source code of their software systems. Software developers usually inspect class comments to gain knowledge about program behavior, regardless of the programming language they are using. Unfortunately, (i) different programming languages present language-specific code commenting notations and guidelines; and (ii) the source code of software projects often lacks comments that adequately describe the class behavior, which complicates program comprehension and evolution activities. To handle these challenges, this paper investigates the different language-specific class commenting practices of three programming languages: Python, Java, and Smalltalk. In particular, we systematically analyze the similarities and differences of the information types found in class comments of projects developed in these languages. We propose an approach that leverages two techniques -namely Natural Language Processing and Text Analysis -to automatically identify class comment types, i.e., the specific types of semantic information found in class comments. To the best of our knowledge, no previous work has provided a comprehensive taxonomy of class comment types for these three programming languages with the help of a common automated approach. Our results confirm that our approach can classify frequent class comment information types with high accuracy for the Python, Java, and Smalltalk programming languages. We believe this work can help in monitoring and assessing the quality and evolution of code comments in different programming languages, and thus support maintenance and evolution tasks.},
	eprint={2107.04521},
	archivePrefix={arXiv},
	primaryClass={cs.SE},
	keywords = {comments scg-pub scg21 jb21 snf-asa3 pharo, Natural language processing technique, Code comment analysis, Software documentation},
	Url = {http://scg.unibe.ch/archive/papers/Rani21d.pdf}
}

@inproceedings{Rani21e,
	title={What Do Developers Discuss about Code Comments?},
 	booktitle = {2021 IEEE 21st International Working Conference on Source Code Analysis and Manipulation (SCAM)},
 	abstract = {Code comments are important for program comprehension, development, and maintenance tasks. Given the varying standards for code comments, and their unstructured or semi-structured nature, developers get easily confused (especially novice developers) about which convention(s) to follow, or what tools to use while writing code documentation. Thus, they post related questions on external online sources to seek better commenting practices. In this paper, we analyze code comment discussions on online sources such as Stack Overflow (SO) and Quora to shed some light on the questions developers ask about commenting practices. We apply Latent Dirichlet Allocation (LDA) to identify emerging topics concerning code comments. Then we manually analyze a statistically significant sample set of posts to derive a taxonomy that provides an overview of the developer questions about commenting practices. Our results highlight that on SO nearly 40% of the questions mention how to write or process comments in documentation tools and environments, and nearly 20% of the questions are about potential limitations and possibilities of documentation tools to add automatically and consistently more information in comments. On the other hand, on Quora, developer questions focus more on background information (35% of the questions) or asking opinions (16% of the questions) about code comments. We found that (i) not all aspects of comments are covered in coding style guidelines, e.g., how to add a specific type of information, (ii) developers need support in learning the syntax and format conventions to add various types of information in comments, and (iii) developers are interested in various automated strategies for comments such as detection of bad comments, or verify comment style automatically, but lack tool support to do that.},
	year = {2021},
	PeerReview = {yes},
	Medium = {1},
	eprint={2108.07648},
	archivePrefix={arXiv},
	primaryClass={cs.SE},
	author = {Pooja Rani and Mathias Birrer and Sebastiano Panichella and Mohammad Ghafari and Oscar Nierstrasz},
	keywords = {comments scg-pub skip-doi},
	Url = {http://scg.unibe.ch/archive/papers/Rani21e.pdf}
}

@inproceedings{Rani21f,
	title={Do Comments follow Commenting Conventions?
{A} Case Study in {Java} and {Python}},
 	booktitle = {2021 IEEE 21st International Working Conference on Source Code Analysis and Manipulation (SCAM)},
 	abstract = {Assessing code comment quality is known to be a difficult problem. A number of coding style guidelines have been created with the aim to encourage writing of informative, readable, and consistent comments. However, it is not clear from the research to date which specific aspects of comments the guidelines cover (e.g., syntax, content, structure). Furthermore, the extent to which developers follow these guidelines while writing code comments is unknown.
 	We analyze various style guidelines in Java and Python and uncover that the majority of them address more the content aspect of the comments rather than syntax or formatting, but when considering the different types of information developers embed in comments and the concerns they raise on various online platforms about the commenting practices, existing comment conventions are not yet specified clearly enough, nor do they adequately cover important concerns. Our results highlight the mismatch between developer commenting practices and style guidelines, and provide several focal points for the design and improvement of comment quality checking tools.},
	year = {2021},
	PeerReview = {yes},
	Medium = {1},
	eprint={2108.10766},
	archivePrefix={arXiv},
	primaryClass={cs.SE},
	author = {Pooja Rani and Suada Abuka and Nataliia Stulova and Alexander Bergel and Oscar Nierstrasz},
	keywords = {comments scg-pub skip-doi},
	Url = {http://scg.unibe.ch/archive/papers/Rani21f.pdf}
}

@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}}

@inproceedings{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 scg-none jb98 stefPub},
	Booktitle = {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,
	Address = {New York, NY, USA},
	Author = {Rashid, Awais and Chitchyan, Ruzanna},
	Booktitle = {AOSD '03: Proceedings of the 2nd international conference on Aspect-oriented software development},
	Doi = {10.1145/643603.643616},
	Isbn = {1-58113-660-9},
	Location = {Boston, Massachusetts},
	Pages = {120--129},
	Publisher = {ACM},
	Title = {Persistence as an aspect},
	Year = {2003},
	Bdsk-Url-1 = {http://dx.doi.org/10.1145/643603.643616}}

@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{Rast11a,
  title={Generating natural language summaries for crosscutting source code concerns},
  author={Rastkar, Sarah and Murphy, Gail C and Bradley, Alexander WJ},
  booktitle={2011 27th IEEE International Conference on Software Maintenance (ICSM)},
  pages={103--112},
  year={2011},
  organization={IEEE}
}

@article{Rast12a,
 author = {Rastogi, Aseem and Chaudhuri, Avik and Hosmer, Basil},
 title = {The Ins and Outs of Gradual Type Inference},
 journal = {SIGPLAN Not.},
 issue_date = {January 2012},
 volume = {47},
 number = {1},
 month = jan,
 year = {2012},
 issn = {0362-1340},
 pages = {481--494},
 numpages = {14},
 url = {http://doi.acm.org/10.1145/2103621.2103714},
 doi = {10.1145/2103621.2103714},
 acmid = {2103714},
 publisher = {ACM},
 address = {New York, NY, USA},
 keywords = {actionscript, gradual typing, type inference}
}

@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}}

@article{Rath16a,
  title={An empirical study of some software fault prediction techniques for the number of faults prediction},
  author={Rathore, Santosh S and Kumar, Sandeep},
  journal={Soft Computing},
  pages={1--18},
  year={2016},
  publisher={Springer}
}

@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.},
	Acceptnum = {33},
	Accepttotal = {62},
	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 scg-none jb04 moose-pub girba ratiu evolution},
	Misc = {acceptance rate: 33/62 = 52\%},
	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}}

@inproceedings{Rato17a,
  title={Detecting fragile comments},
  author={Ratol, Inderjot Kaur and Robillard, Martin P},
  booktitle={Proceedings of the 32Nd IEEE/ACM International Conference on Automated Software Engineering},
  pages={112--122},
  year={2017},
  Keywords =  {comment-quality-slr},
  organization={IEEE Press}
}

@article{Ratt13a,
	Author = {Dhavleesh Rattan and Rajesh Bhatia and Maninder Singh},
	Doi = {10.1016/j.infsof.2013.01.008},
	Issn = {0950-5849},
	Journal = {Information and Software Technology},
	Keywords = {clones},
	Number = {7},
	Pages = {1165 - 1199},
	Title = {Software clone detection: A systematic review},
	Url = {http://www.sciencedirect.com/science/article/pii/S0950584913000323},
	Volume = {55},
	Year = {2013},
	Bdsk-Url-1 = {http://www.sciencedirect.com/science/article/pii/S0950584913000323},
	Bdsk-Url-2 = {http://dx.doi.org/10.1016/j.infsof.2013.01.008}}

@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}}

@book{Raym03a,
	 author = {Raymond, Eric S.},
	 title = {The Art of UNIX Programming},
	 year = {2003},
	 isbn = {0131429019},
	 publisher = {Pearson Education}
}

@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}}

@incollection{Raza06a,
	Author = {Raza, Aoun and Vogel, Gunther and Pl\"{o}dereder, Erhard},
	Booktitle = {Reliable Software Technologies - Ada-Europe 2006},
	Doi = {10.1007/11767077_6},
	Keywords = {pctools, program\_comprehension},
	Month = jun,
	Pages = {71--82},
	Priority = {2},
	Publisher = {LNCS (4006)},
	Title = {Bauhaus --- A Tool Suite for Program Analysis and Reverse Engineering},
	Url = {http://dx.doi.org/10.1007/11767077_6},
	Year = {2006},
	Bdsk-Url-1 = {http://dx.doi.org/10.1007/11767077_6}}

@inproceedings{Raza15a,
 author = {Raza, Mohammad and Gulwani, Sumit and Milic-Frayling, Natasa},
 title = {Compositional Program Synthesis from Natural Language and Examples},
 booktitle = {Proceedings of the 24th International Conference on Artificial Intelligence},
 series = {IJCAI'15},
 year = {2015},
 isbn = {978-1-57735-738-4},
 location = {Buenos Aires, Argentina},
 pages = {792--800},
 numpages = {9},
 url = {http://dl.acm.org/citation.cfm?id=2832249.2832359},
 acmid = {2832359},
 publisher = {AAAI Press}
}

@article{Reav16a,
 author = {Reaves, Bradley and Bowers, Jasmine and Gorski III, Sigmund Albert and Anise, Olabode and Bobhate, Rahul and Cho, Raymond and Das, Hiranava and Hussain, Sharique and Karachiwala, Hamza and Scaife, Nolen and Wright, Byron and Butler, Kevin and Enck, William and Traynor, Patrick},
 title = {*{Droid}: Assessment and Evaluation of {Android} Application Analysis Tools},
 journal = {ACM Comput. Surv.},
 issue_date = {December 2016},
 volume = {49},
 number = {3},
 year = {2016},
 issn = {0360-0300},
 pages = {55:1--55:30},
 articleno = {55},
 numpages = {30},
 url = {http://doi.acm.org/10.1145/2996358},
 doi = {10.1145/2996358},
 acmid = {2996358},
 publisher = {ACM},
 address = {New York, NY, USA}
}

@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{Rebe09a,
  author    = {Damijan Rebernak and
               Marjan Mernik and
               Hui Wu and
               Jeffrey G. Gray},
  title     = {Domain-specific aspect languages for modularising crosscutting concerns
               in grammars},
  journal   = {{IET} Software},
  volume    = {3},
  number    = {3},
  pages     = {184--200},
  year      = {2009},
  url       = {http://dx.doi.org/10.1049/iet-sen.2007.0114},
  doi       = {10.1049/iet-sen.2007.0114},
  timestamp = {Sun, 21 Nov 2010 19:50:15 +0100},
  biburl    = {http://dblp.uni-trier.de/rec/bib/journals/iee/RebernakMWG09},
  bibsource = {dblp computer science bibliography, http://dblp.org}
}

@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},
	Doi = {10.1007/3-540-47993-7_9},
	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},
	Bdsk-Url-1 = {http://dx.doi.org/10.1007/3-540-47993-7_9}}

@article{Redz09a,
 author = {Redziejowski, Roman R.},
 title = {Applying Classical Concepts to Parsing Expression Grammar},
 journal = {Fundam. Inf.},
 issue_date = {January 2009},
 volume = {93},
 number = {1-3},
 month = jan,
 year = {2009},
 issn = {0169-2968},
 pages = {325--336},
 numpages = {12},
 url = {http://dl.acm.org/citation.cfm?id=1576070.1576093},
 acmid = {1576093},
 publisher = {IOS Press},
 address = {Amsterdam, The Netherlands, The Netherlands}
}

@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 scg-none 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},
	Doi = {10.5381/jot.2007.6.9.a12},
	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},
	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 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,
	Acmid = {1615209},
	Address = {Berlin, Heidelberg},
	Author = {Reichenbach, Christoph and Coughlin, Devin and Diwan, Amer},
	Booktitle = {Proceedings of the 23rd European Conference on ECOOP 2009 --- Object-Oriented Programming},
	Doi = {10.1007/978-3-642-03013-0_18},
	Isbn = {978-3-642-03012-3},
	Keywords = {Program Evolution, Refactoring},
	Location = {Italy},
	Numpages = {25},
	Pages = {394--418},
	Publisher = {Springer-Verlag},
	Series = {Genoa},
	Title = {Program Metamorphosis},
	Year = {2009},
	Bdsk-Url-1 = {http://dx.doi.org/10.1007/978-3-642-03013-0_18}}

@techreport{Reic13a,
	Abstract = {Developers need effective ways to inspect and explore the run-time
state of programs they are developing and debugging. Modern debuggers
and object inspectors are powerful tools, but they can only be used to
explore specific points in the execution where breakpoints have been
set. As a result, developers often resort to inserting print
statements in code to log the state at multiple points in the
execution. Print statements, however are a "poor man's debugger",
since their output is static and cannot be further explored. We
propose to combine the simplicity of print statements with the
graphical sophistication and interaction of modern debugging tools.
DoodleDebug is a simple API modeled loosely after Java's
System.out.println. Objects that are "printed" generate graphical
views that can be further explored, and can also be used to navigate
back to source code in the IDE. We introduce DoodleDebug and present
the results of a usability study that shows that DoodleDebug can be
very effective for common debugging tasks.},
	Author = {Cedric Reichenbach},
	Keywords = {snf-none scg-bp scg13 jb13},
	Institution = {University of Bern},
	Title = {DoodleDebug -- A shot-gun marriage between System.out.println and object inspectors},
	Url = {http://scg.unibe.ch/archive/projects/Reic13a.pdf},
	Year = {2013},
	Bdsk-Url-1 = {http://scg.unibe.ch/archive/projects/Reic13a.pdf}}

@mastersthesis{Reic15a,
	Title = {{DoodleDebug}, Clustered --- Morphing {DoodleDebug} into a clustered setup using fat clients},
	Author = {Cedric Reichenbach},
	Abstract = {Knowing the run-time state of objects is essential for analyzing
		and resolving errors in a program. Inserting print statements
		into code for troubleshooting is considered bad practice and the resulting
		output is completely static. While debuggers give dynamic insight to
		particular run-time states, they suffer from certain shortcomings.
		Furthermore, attaching debuggers to live production systems is often not
		possible, and errors need to be locally reproduced in order to debug them.
		DoodleDebug has previously been shown to provide advantages over debuggers
		and print statements by combining the best of both worlds. This work
		documents how it has been morphed from an Eclipse plugin to an independent
		framework, to be utilized both, in development and production systems. In
		particular, its built-in support for HBase and decentralized data management
		makes it a reasonable logging solution for clustered applications with
		performance requirements.},
	Keywords = {scg-msc snf-none scg15 jb16},
	School = {University of Bern},
	Type = {Masters thesis},
	Url = {http://scg.unibe.ch/archive/masters/Reic15a.pdf},
	Month = aug,
	Year = {2015}
}

@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{Reif77a,
	Acmid = {512961},
	Address = {New York, NY, USA},
	Author = {Reif, John H. and Lewis, Harry R.},
	Booktitle = {Proceedings of the 4th ACM SIGACT-SIGPLAN Symposium on Principles of Programming Languages},
	Doi = {10.1145/512950.512961},
	Location = {Los Angeles, California},
	Numpages = {15},
	Pages = {104--118},
	Publisher = {ACM},
	Series = {POPL '77},
	Title = {Symbolic Evaluation and the Global Value Graph},
	Url = {http://doi.acm.org/10.1145/512950.512961},
	Year = {1977},
	Bdsk-Url-1 = {http://doi.acm.org/10.1145/512950.512961},
	Bdsk-Url-2 = {http://dx.doi.org/10.1145/512950.512961}}

@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},
	doi = {10.1016/S0169-7552(97)00018-4},
	Keywords = {snf-none olit skip-doi toBeChecked scg-none jb97},
	Month = apr,
	Pages = {1417--1428},
	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 = {Reiss, S. P.},
	 title = {Interacting with the {FIELD} Environment},
	 journal = {Softw. Pract. Exper.},
	 issue_date = {June 1990},
	 volume = {20},
	 number = {S1},
	 month = jun,
	 year = {1990},
	 issn = {0038-0644},
	 pages = {89--115},
	 numpages = {27},
	 url = {http://dx.doi.org/10.1002/spe.4380201308},
	 doi = {10.1002/spe.4380201308},
	 acmid = {78875},
	 publisher = {John Wiley \& Sons, Inc.},
	 address = {New York, NY, USA}
}

@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}}

@inproceedings{Reis96a,
author = {Reiss, Steven P.},
title = {Simplifying Data Integration: The Design of the {Desert} Software Development Environment},
booktitle = {Proceedings of the 18th International Conference on Software Engineering},
series = {ICSE '96},
year = {1996},
isbn = {0-8186-7246-3},
location = {Berlin, Germany},
pages = {398--407},
numpages = {10},
url = {http://dl.acm.org/citation.cfm?id=227726.227811},
acmid = {227811},
publisher = {IEEE Computer Society},
address = {Washington, DC, USA},
keywords = {Desert environment, Desert software development environment, FrameMaker, ToolTalk interface, common editor, context manager, control integration, data integration, fragments, hyperlinks, programming environments, programming tools, software engineering, software tools, virtual files}
}

@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,
	Address = {New York, NY, USA},
	Author = {Reiss, Steven P. and Renieris, Manos},
	Booktitle = {SoftVis '05: Proceedings of the 2005 ACM symposium on Software visualization},
	Doi = {10.1145/1056018.1056034},
	Isbn = {1-59593-073-6},
	Location = {St. Louis, Missouri},
	Pages = {115--124},
	Publisher = {ACM},
	Title = {Jove: java as it happens},
	Year = {2005},
	Bdsk-Url-1 = {http://dx.doi.org/10.1145/1056018.1056034}}

@article{Reis07a,
	Acmid = {1230422},
	Address = {Orlando, FL, USA},
	Author = {Reiss, Steven P.},
	Doi = {10.1016/j.jvlc.2007.01.003},
	Issn = {1045-926X},
	Issue = {2},
	Journal = {J. Vis. Lang. Comput.},
	Keywords = {Execution visualization, Programming environments, Software tools, Software visualization},
	Month = apr,
	Numpages = {23},
	Pages = {126--148},
	Publisher = {Academic Press, Inc.},
	Title = {Visual representations of executing programs},
	Url = {http://dl.acm.org/citation.cfm?id=1230158.1230422},
	Volume = {18},
	Year = {2007},
	Bdsk-Url-1 = {http://dl.acm.org/citation.cfm?id=1230158.1230422},
	Bdsk-Url-2 = {http://dx.doi.org/10.1016/j.jvlc.2007.01.003}}

@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},
	Doi = {10.1109/ICSM.2009.5306287},
	Issn = {1063-6773},
	Keywords = {Java;information extraction;memory visualization;memory-related problems;system heap model;Java;data visualisation;digital storage;},
	Month = sep,
	Pages = {389 -390},
	Title = {Visualizing the Java heap demonstration proposal},
	Year = {2009},
	Bdsk-Url-1 = {http://dx.doi.org/10.1109/ICSM.2009.5306287}}

@inproceedings{Reis09c,
	Author = {Reiss, S.P.},
	Booktitle = {Visualizing Software for Understanding and Analysis, 2009. VISSOFT 2009. 5th IEEE International Workshop on},
	Doi = {10.1109/VISSOF.2009.5336418},
	Month = sep,
	Pages = {73--80},
	Title = {Visualizing the Java heap to detect memory problems},
	Year = {2009},
	Bdsk-Url-1 = {http://dx.doi.org/10.1109/VISSOF.2009.5336418}}

@inproceedings{Reis09d,
	Address = {Washington, DC, USA},
	Author = {Reiss, Steven P.},
	Booktitle = {ICSE '09: Proceedings of the 2009 IEEE 31st International Conference on Software Engineering},
	Date-Added = {2009-07-20 11:17:36 +0200},
	Date-Modified = {2012-03-19 20:07:09 +0000},
	Doi = {10.1109/ICSE.2009.5070525},
	Isbn = {978-1-4244-3453-4},
	Keywords = {sde-ecosystems},
	Pages = {243--253},
	Publisher = {IEEE Computer Society},
	Title = {Semantics-based code search},
	Year = {2009},
	Bdsk-Url-1 = {http://dx.doi.org/10.1109/ICSE.2009.5070525}}

@inproceedings{Reis10a,
 author = {Reiss, Steven P.},
 title = {Visualizing the Java Heap},
 booktitle = {Proceedings of the 32Nd ACM/IEEE International Conference on Software Engineering - Volume 2},
 series = {ICSE '10},
 year = {2010},
 isbn = {978-1-60558-719-6},
 location = {Cape Town, South Africa},
 pages = {251--254},
 numpages = {4},
 url = {http://doi.acm.org/10.1145/1810295.1810344},
 doi = {10.1145/1810295.1810344},
 acmid = {1810344},
 publisher = {ACM},
 address = {New York, NY, USA},
 keywords = {dynamic program understanding, memory management, object ownership, programming tools}
}

@incollection{Reis12a,
    year={2012},
    isbn={978-3-642-33181-7},
    booktitle={Programming Languages},
    volume={7554},
    series={Lecture Notes in Computer Science},
    editor={de Carvalho Junior, FranciscoHeron and Barbosa, LuisSoares},
    doi={10.1007/978-3-642-33182-4_7},
    title={Adaptable Parsing Expression Grammars},
    url={http://dx.doi.org/10.1007/978-3-642-33182-4_7},
    publisher={Springer Berlin Heidelberg},
    keywords={extensible languages; adaptable grammars; PEG},
    author={Reis, dos Santos and Vieira, Leonardo and Bigonha, da Silva and Roberto and Di Iorio and Vladimir Oliveira and de Souza Amorim and Luis Eduardo},
    pages={72-86},
    language={English}
}

@inproceedings{Reis12b,
 author = {Reiss, Steven P.},
 title = {Plugging in and into {Code Bubbles}},
 booktitle = {Proceedings of the Second International Workshop on Developing Tools As Plug-Ins},
 series = {TOPI '12},
 year = {2012},
 isbn = {978-1-4673-1820-4},
 location = {Zurich, Switzerland},
 pages = {55--60},
 numpages = {6},
 url = {http://dl.acm.org/citation.cfm?id=2667062.2667072},
 acmid = {2667072},
 publisher = {IEEE Press},
 address = {Piscataway, NJ, USA},
 keywords = {plug-in architectures, publish-subscribe}
}

@inproceedings{Reis14a,
  title={Towards Creating Test Cases Using Code Search},
  author={Reiss, Steven P},
  booktitle={Software Maintenance and Evolution (ICSME), 2014 IEEE International Conference on},
  pages={436--440},
  year={2014},
  organization={IEEE}
}

@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}}

@inproceedings{Ren04a,
 author = {Ren, Xiaoxia and Shah, Fenil and Tip, Frank and Ryder, Barbara G. and Chesley, Ophelia},
 title = {Chianti: A Tool for Change Impact Analysis of {Java} Programs},
 booktitle = {Proceedings of the 19th Annual ACM SIGPLAN Conference on Object-oriented Programming, Systems, Languages, and Applications},
 series = {OOPSLA '04},
 year = {2004},
 isbn = {1-58113-831-8},
 location = {Vancouver, BC, Canada},
 pages = {432--448},
 numpages = {17},
 url = {http://doi.acm.org/10.1145/1028976.1029012},
 doi = {10.1145/1028976.1029012},
 acmid = {1029012},
 publisher = {ACM},
 address = {New York, NY, USA},
 keywords = {analysis of object-oriented programs, change impact analysis, regression test, unit test}
}

@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 scg-none jb04 snf04},
	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 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 scg-none 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.},
	Address = {New York, NY, USA},
	Annote = {internationalworkshop},
	Author = {Lukas Renggli and Tudor G\^irba},
	Booktitle = {Proceedings of International Workshop on Smalltalk Technologies (IWST 2009)},
	Doi = {10.1145/1735935.1735954},
	Isbn = {978-1-60558-899-5},
	Keywords = {scg10 scg-pub jb10 snf10 helvetia girba},
	Location = {Brest, France},
	Medium = {2},
	Pages = {107--113},
	Peerreview = {yes},
	Publisher = {ACM},
	Title = {Why {Smalltalk} Wins the Host Languages Shootout},
	Url = {http://scg.unibe.ch/archive/papers/Reng09bLanguageShootout.pdf},
	Year = {2009},
	Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Reng09bLanguageShootout.pdf},
	Bdsk-Url-2 = {http://dx.doi.org/10.1145/1735935.1735954}}

@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.},
	Address = {Maribor, Slovenia},
	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},
	Doi = {10.1007/978-3-642-14107-2_19},
	Editor = {Theo D'Hondt},
	Isbn = {978-3-642-14106-5},
	Keywords = {scg-pub scg10 helvetia girba snf10 jb10 damiencbib},
	Medium = {2},
	Pages = {380--404},
	Peerreview = {yes},
	Publisher = {Springer-Verlag},
	Ratex = {23%},
	Series = {LNCS},
	Title = {Embedding Languages Without Breaking Tools},
	Url = {http://scg.unibe.ch/archive/papers/Reng10aEmbeddingLanguages.pdf},
	Volume = {6183},
	Year = {2010},
	Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Reng10aEmbeddingLanguages.pdf},
	Bdsk-Url-2 = {http://dx.doi.org/10.1007/978-3-642-14107-2_19}}

@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)},
	Doi = {10.1007/978-3-642-13953-6_12},
	Editor = {Jan Vitek},
	Isnb = {978-3-642-13952-9},
	Keywords = {scg-pub scg10 helvetia girba snf10 jb10 evol11},
	Pages = {213--232},
	Peerreview = {yes},
	Publisher = {Springer-Verlag},
	Ratex = {29%},
	Series = {LNCS},
	Title = {Domain-Specific Program Checking},
	Url = {http://scg.unibe.ch/archive/papers/Reng10bDomainSpecificProgramChecking.pdf},
	Volume = {6141},
	Year = {2010},
	Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Reng10bDomainSpecificProgramChecking.pdf},
	Bdsk-Url-2 = {http://dx.doi.org/10.1007/978-3-642-13953-6_12}}

@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.},
	Address = {Malaga, Spain},
	Annote = {internationalworkshop},
	Author = {Lukas Renggli and St\'ephane Ducasse and Tudor G\^irba and Oscar Nierstrasz},
	Booktitle = {4th Workshop on Dynamic Languages and Applications (DYLA 2010)},
	Keywords = {scg-pub scg10 helvetia petitparser girba skip-doi moose-pub snf10 jb10 hasler10 evol11},
	Medium = {1},
	Month = jun,
	Peerreview = {yes},
	Title = {Practical Dynamic Grammars for Dynamic Languages},
	Pages = {1--4},
	Url = {http://scg.unibe.ch/archive/papers/Reng10cDynamicGrammars.pdf},
	Year = {2010},
	Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Reng10cDynamicGrammars.pdf}}

@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 scg10 jb11 helvetia},
	Month = oct,
	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},
	Year = {2010},
	Bdsk-Url-1 = {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}}

@article{Reps84a,
	 author = {Reps, Thomas and Teitelbaum, Tim},
	 title = {The Synthesizer Generator},
	 journal = {SIGSOFT Softw. Eng. Notes},
	 issue_date = {May 1984},
	 volume = {9},
	 number = {3},
	 month = apr,
	 year = {1984},
	 issn = {0163-5948},
	 pages = {42--48},
	 numpages = {7},
	 url = {http://doi.acm.org/10.1145/390010.808247},
	 doi = {10.1145/390010.808247},
	 acmid = {808247},
	 publisher = {ACM},
	 address = {New York, NY, USA}
	}

@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.},
	Address = {New York, NY, USA},
	Annote = {internationalworkshop},
	Author = {Jorge Ressia and Oscar Nierstrasz},
	Booktitle = {Proceedings of International Workshop on Smalltalk Technologies (IWST 2009)},
	Doi = {10.1145/1735935.1735952},
	Isbn = {978-1-60558-899-5},
	Keywords = {scg10 scg-pub jb10 snf10},
	Location = {Brest, France},
	Medium = {2},
	Pages = {101--106},
	Peerreview = {yes},
	Publisher = {ACM},
	Title = {Dynamic Synchronization --- A Synchronization Model through Behavioral Reflection},
	Url = {http://scg.unibe.ch/archive/papers/Ress09aDynamicSynchronization.pdf},
	Year = {2009},
	Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Ress09aDynamicSynchronization.pdf},
	Bdsk-Url-2 = {http://dx.doi.org/10.1145/1735935.1735952}}

@inproceedings{Ress10a,
	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.},
	Annote = {internationalworkshop},
	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)},
	Keywords = {snf10 jb11 scg-pub skip-doi girba scg10 bifrost},
	Medium = {2},
	Month = oct,
	Note = {http://sunsite.informatik.rwth-aachen.de/Publications/CEUR-WS/Vol-641/},
	Pages = {37--48},
	Peerreview = {yes},
	Title = {Run-Time Evolution through Explicit Meta-Objects},
	Url = {http://scg.unibe.ch/archive/papers/Ress10a-RuntimeEvolution.pdf},
	Year = {2010},
	Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Ress10a-RuntimeEvolution.pdf}}

@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)},
	Doi = {10.1145/2166929.2166940},
	Keywords = {scg11 scg-pub jb11 snf11 bifrost talents girba},
	Medium = {2},
	Pages = {109--118},
	Peerreview = {yes},
	Title = {Talents: Dynamically Composable Units of Reuse},
	Url = {http://scg.unibe.ch/archive/papers/Ress11a-Talents.pdf},
	Year = {2011},
	Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Ress11a-Talents.pdf},
	Bdsk-Url-2 = {http://dx.doi.org/10.1145/2166929.2166940}}

@inproceedings{Ress12a,
	Abstract = {During the process of developing and maintaining a complex
				  software system, developers pose detailed questions about the
				  runtime behavior of the system. Source code views offer strictly
				  limited insights, so developers often turn to tools like debuggers
				  to inspect and interact with the running system. Unfortunately,
				  traditional debuggers focus on the runtime stack as the key
				  abstraction to support debugging operations, though the questions
				  developers pose often have more to do with objects and their
				  interactions.
				  We propose object-centric debugging as an alternative approach
				  to interacting with a running software system. We show how, by
				  focusing on objects as the key abstraction, natural debugging
				  operations can be defined to answer developer questions related
				  to runtime behavior. We present a running prototype of an
				  object-centric debugger, and demonstrate, with the help of a series
				  of examples, how object-centric debugging offers more effective
				  support for many typical developer tasks than a traditional
				  stack-oriented debugger.},
	Annote = {internationalconference},
	Author = {Ressia, Jorge and Bergel, Alexandre and Nierstrasz, Oscar},
	Booktitle = {Proceedings of the 34rd international conference on Software engineering},
	Doi = {10.1109/ICSE.2012.6227167},
	Keywords = {scg12 scg-pub jb12 snf12 reflection bifrost ocdebugging},
	Location = {Zurich, Switzerland},
	Medium = {2},
	Peerreview = {yes},
	Series = {ICSE '12},
	Title = {Object-Centric Debugging},
	Url = {http://scg.unibe.ch/archive/papers/Ress12a-ObjectCentricDebugging.pdf},
	Year = {2012},
	Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Ress12a-ObjectCentricDebugging.pdf},
	Bdsk-Url-2 = {http://dx.doi.org/10.1109/ICSE.2012.6227167}}

@article{Ress12b,
	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 = {internationaljournal},
	Author = {Jorge Ressia and Alexandre Bergel and Oscar Nierstrasz and Lukas Renggli},
	Doi = {10.5381/jot.2012.11.1.a5},
	Issn = {1660-1769},
	Journal = {Journal of Object Technology},
	Keywords = {scg12 scg-pub jb12 snf12 reflection bifrost metaspy},
	Medium = {2},
	Month = apr,
	Number = {1},
	Pages = {1-21},
	Peerreview = {yes},
	Title = {Modeling Domain-Specific Profilers},
	Url = {http://www.jot.fm/issues/issue_2012_04/article5.pdf},
	Volume = {11},
	Year = {2012},
	Bdsk-Url-1 = {http://www.jot.fm/issues/issue_2012_04/article5.pdf},
	Bdsk-Url-2 = {http://dx.doi.org/10.5381/jot.2012.11.1.a5}}

@inproceedings{Ress12c,
	Abstract = {The way programming languages manage memory has been
				  a hot topic for many years. Languages with garbage
				  collection (GC) removed the burden of memory management
				  from developers. Typically the garbage collection
				  infrastructure is a black box that developers have
				  no control over. This is particularly striking in
				  object-oriented systems, where objects themselves
				  have no way to control their life and death. Instead
				  an external process (the GC) decides if an object is
				  still needed or not. In this paper we propose suicide
				  objects, objects that make their own decisions about
				  their life and death. With two examples we demonstrate
				  how the traditional garbage collector can be replaced,
				  and how developers can benefit from an object-centric
				  memory management.},
	Acmid = {2307197},
	Address = {New York, NY, USA},
	Annote = {internationalworkshop},
	Articleno = {1},
	Author = {Jorge Ressia and Fabrizio Perin and Lukas Renggli},
	Booktitle = {Proceedings of the 6th Workshop on Dynamic Languages and Applications},
	Doi = {10.1145/2307196.2307197},
	Isbn = {978-1-4503-1507-4},
	Keywords = {scg-pub scg12 snf12 jb12 ressia},
	Location = {Beijing, China},
	Medium = {1},
	Numpages = {2},
	Pages = {1:1--1:2},
	Peerreview = {yes},
	Publisher = {ACM},
	Series = {DYLA '12},
	Title = {Suicide Objects},
	Url = {http://scg.unibe.ch/archive/papers/Ress12cSuicideObjects.pdf},
	Year = {2012},
	Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Ress12cSuicideObjects.pdf},
	Bdsk-Url-2 = {http://dx.doi.org/10.1145/2307196.2307197}}

@phdthesis{Ress12d,
	Abstract = {Reflective applications are able to query and manipulate
				  the structure and behavior of a running system. This is
				  essential for highly dynamic software that needs to interact
				  with objects whose structure and behavior are not known when
				  the application is written. Software analysis tools, like
				  debuggers, are a typical example. Oddly, although reflection
				  essentially concerns run-time entities, reflective applications
				  tend to focus on static abstractions, like classes and methods,
				  rather than objects. This is phenomenon we call the object
				  paradox, which makes developers less effective by drawing their
				  attention away from run-time objects.
				  To counteract this phenomenon, we propose a purely object-centric
				  approach to reflection. Reflective mechanisms provide
				  object-specific capabilities as another feature. Object-centric
				  reflection proposes to turn this around and put object-specific
				  capabilities as the central reflection mechanism. This change
				  in the reflection architecture allows a unification of various
				  reflection mechanisms and a solution to the object paradox.
				  We introduce Bifr\"{o}st, an object-centric reflective system based
				  on first-class meta-objects. Through a series of practical
				  examples we demonstrate how object-centric reflection mitigates
				  the object paradox by avoiding the need to reflect on static
				  abstractions. We survey existing approaches to reflection to
				  establish key requirements in the domain, and we show that an
				  object-centric approach simplifies the meta-level and allows
				  a unification of the reflection field. We demonstrate how
				  development itself is enhanced with this new approach: talents
				  are dynamically composable units of reuse, and object-centric
				  debugging prevents the object paradox when debugging. We also
				  demonstrate how software analysis is benefited by object-centric
				  reflection with Chameleon, a framework for building object-centric
				  analysis tools and MetaSpy, a domain-specific profiler.},
	Author = {Jorge Ressia},
	Keywords = {scg-phd snf12 scg12 jb13 bifrost metaspy chameleon talents ocdebugging ressia},
	Month = oct,
	School = {University of Bern},
	Title = {Object-Centric Reflection},
	Type = {{PhD} thesis},
	Url = {http://scg.unibe.ch/archive/phd/ressia-phd.pdf},
	Year = {2012},
	Bdsk-Url-1 = {http://scg.unibe.ch/archive/phd/ressia-phd.pdf}}

@article{Ress12e,
	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 underlines
				  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 and state composition. We introduce a new
				  abstraction called a talent that 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 that is dynamic.},
	Annote = {internationaljournal},
	Author = {Jorge Ressia and Tudor G\^irba and Oscar Nierstrasz and Fabrizio Perin and Lukas Renggli},
	Doi = {10.1002/spe.2160},
	Issn = {1097-024X},
	Journal = {Software: Practice and Experience},
	Keywords = {snf12 jb12 scg-pub scg12 bifrost talents reflection traits Mixins object-specific smalltalk girba},
	Medium = {2},
	Peerreview = {yes},
	Publisher = {John Wiley & Sons, Ltd},
	Title = {Talents: an environment for dynamically composing units of reuse},
	Url = {http://scg.unibe.ch/archive/papers/Ress12eTalentsSPE.pdf},
	Year = {2012},
	Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Ress12eTalentsSPE.pdf},
	Bdsk-Url-2 = {http://dx.doi.org/10.1002/spe.2160}}

@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{Reve10a,
	  author    = {Meghan Revelle and
	               Bogdan Dit and
	               Denys Poshyvanyk},
	  title     = {Using Data Fusion and Web Mining to Support Feature Location in Software},
	  booktitle = {The 18th {IEEE} International Conference on Program Comprehension,
	               {ICPC} 2010, Braga, Minho, Portugal, June 30-July 2, 2010},
	  pages     = {14--23},
	  year      = {2010},
	  url       = {http://dx.doi.org/10.1109/ICPC.2010.10},
	  doi       = {10.1109/ICPC.2010.10},
	  timestamp = {Fri, 07 Nov 2014 14:52:58 +0100},
	  biburl    = {http://dblp.uni-trier.de/rec/bib/conf/iwpc/RevelleDP10},
	  bibsource = {dblp computer science bibliography, http://dblp.org}
}

@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,
	Acmid = {1142682},
	Address = {Nice, France},
	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},
	Doi = {10.1145/1142680.1142682},
	Isbn = {1-59593-427-8},
	Keywords = {UCSE, emulation, sensor networks, simulation, ubiquitous computing damiencbib},
	Pages = {1--9},
	Publisher = {ACM},
	Title = {Requirements for an Ubiquitous Computing Simulation and Emulation Environment},
	Year = {2006},
	Bdsk-Url-1 = {http://dx.doi.org/10.1145/1142680.1142682}}

@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{Ricc17a,
author={Ricca, Filippo
and Torchiano, Marco
and Leotta, Maurizio
and Tiso, Alessandro
and Guerrini, Giovanna
and Reggio, Gianna},
title={On the impact of state-based model-driven development on maintainability: a family of experiments using {UniMod}},
journal={Empirical Software Engineering},
year={2017},
month=nov,
day={16},
abstract={Context: Model-driven approaches are well-known in the academia but one possible showstopper to a wider adoption in the industry is the limited empirical evidence for their claimed advantages and benefits, that could convince the decision makers. Objective: The aim of this work is gauging one of the claimed benefits of model-driven approaches, namely improvement in maintainability, with respect to a code-centric approach. Method: We conducted a family of five experiments involving 100 students that possessed different levels of education (64 Bachelor, 25 Master, and 11 PhD students; in groups sized 11 to 26 per individual experiment). In these experiments, UniMod -- a State-based tool for Model-Driven Development using the Unified Modeling Language -- is compared with Java-based code-centric programming, in a software maintenance scenario, with the goal of analyzing the effect on the time to perform the maintenance tasks, the correctness of the modified artifacts, and the efficiency. Results: The results show a reduction in time to accomplish the tasks and no impact on correctness. The adoption of the UniMod-MDD approach almost doubles the developers' efficiency, and in presence of a higher software engineering experience the efficiency is even three times higher. Conclusions: We found that the usage of the UniMod-MDD approach in a software maintenance scenario provides benefits over a pure code-centric approach. The benefits deriving from the UniMod-MDD approach are appreciable for all the categories of students, although with differences.},
issn={1573-7616},
doi={10.1007/s10664-017-9563-8}
}

@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 scg-none 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 scg-none 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 scg-none 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.},
	Acceptnum = {49},
	Accepttotal = {100},
	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 scg-none jb99 oorp stefPub},
	Misc = {acceptance rate: 49/100 = 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 scg-none 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.},
	Acceptnum = {61},
	Accepttotal = {127},
	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 scg-none jb02 stefPub},
	Misc = {acceptance rate: 61/127 = 48\%},
	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 = {skip-doi scg-none 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}}

@article{Rich10a,
	Acmid = {1806598},
	Address = {New York, NY, USA},
	Author = {Richards, Gregor and Lebresne, Sylvain and Burg, Brian and Vitek, Jan},
	Doi = {10.1145/1809028.1806598},
	Issn = {0362-1340},
	Issue_Date = {June 2010},
	Journal = {SIGPLAN Not.},
	Keywords = {dynamic behavior, dynamic metrics, execution tracing, javascript, program analysis},
	Month = jun,
	Number = {6},
	Numpages = {12},
	Pages = {1--12},
	Publisher = {ACM},
	Title = {An Analysis of the Dynamic Behavior of {JavaScript} Programs},
	Url = {http://doi.acm.org/10.1145/1809028.1806598},
	Volume = {45},
	Year = {2010},
	Bdsk-Url-1 = {http://doi.acm.org/10.1145/1809028.1806598},
	Bdsk-Url-2 = {http://dx.doi.org/10.1145/1809028.1806598}}

@inproceedings{Rich11a,
	Acmid = {2048119},
	Address = {New York, NY, USA},
	Author = {Richards, Gregor and Gal, Andreas and Eich, Brendan and Vitek, Jan},
	Booktitle = {Proceedings of the 2011 ACM international conference on Object oriented programming systems languages and applications},
	Doi = {10.1145/2048066.2048119},
	Isbn = {978-1-4503-0940-0},
	Keywords = {benchmarks, repetition, reproduction},
	Location = {Portland, Oregon, USA},
	Numpages = {18},
	Pages = {677--694},
	Publisher = {ACM},
	Series = {OOPSLA '11},
	Title = {Automated construction of JavaScript benchmarks},
	Year = {2011},
	Bdsk-Url-1 = {http://dx.doi.org/10.1145/2048066.2048119}}

@inproceedings{Rich11b,
 author = {Richards, Gregor and Hammer, Christian and Burg, Brian and Vitek, Jan},
 title = {The Eval That Men Do: A Large-scale Study of the Use of Eval in {JavaScript} Applications},
 booktitle = {Proceedings of the 25th European Conference on Object-oriented Programming},
 series = {ECOOP'11},
 year = {2011},
 isbn = {978-3-642-22654-0},
 location = {Lancaster, UK},
 pages = {52--78},
 numpages = {27},
 url = {http://dl.acm.org/citation.cfm?id=2032497.2032503},
 acmid = {2032503},
 publisher = {Springer-Verlag},
 address = {Berlin, Heidelberg}
}

@techreport{Rich19a,
	Title = {Software Developers' Information Needs},
	Author = {Jonas Richner},
	Abstract = {Nowadays software shapes most aspects of our daily life, and application
		developers are increasingly confronted with complex scenarios which
		demand collecting information from various sources. As developers face
		many challenges in seeking desired information, a substantial amount of
		research has been performed to understand software developers'
		information needs. However, little is known regarding researchers' use of
		methods and measures to quantify developers' information needs, and there
		has not been any effort yet to systematically select, review, and
		synthesize developers' information needs that are presented in the
		literature. Consequently, we investigate this domain by conducting a
		systematic literature review. Through our search strategy, we identified
		60 relevant papers. We discovered that the most common way to quantify
		developers' information needs is to use surveys, and that some of the
		most valuable information that developers need to make progress considers
		the rationale (e.g., why is this implemented this way?), awareness (e.g.,
		what have my coworkers been doing?), and the implications of a code
		change (e.g., what might break?). This thesis presents the review's
		findings, which we believe will help scientists studying developers'
		information needs by enabling them to use appropriate methods and
		measures for their research, as well as assist researchers in developing
		tools and practices that are better aligned with developers' needs.},
	Institution = {University of Bern},
	Keywords = {scg-bp snf-asa3 scg19 jb19},
	Type = {Bachelor's thesis},
	Url = {http://scg.unibe.ch/archive/projects/Rich19a.pdf},
	Month = feb,
	Year = {2019}
}

@mastersthesis{Rich21a,
	Title = {Interactive Visualizations for Software Duplication},
	Author = {Jonas Richner},
	Abstract = {In large software systems usually about 5%-20% of the code
		is duplicated. Duplicated code can increase maintenance
		costs because it has to be maintained in multiple
		locations. There is a significant amount of research on
		visualizing software duplication to help reduce these
		costs. But in practice mostly basic visualizations are used
		and the more advanced visualizations proposed by
		researchers are not adopted by the software industry. We
		believe the reason for this is that visualizations from
		academic research rely on single stand-alone views that
		only support simple analysis tasks. To support more complex
		tasks, we propose a set of connected multi-view
		visualizations for inspecting software duplication. We
		follow the systematic approach of Bret Victor for building
		interactive visualizations to gain insight into a system.
		Results from our user study indicate that our prototype is
		easy to use in various clone analysis tasks, and helps
		users reason about the code at multiple levels of
		abstraction.},
	Keywords = {scg-msc snf-asa3 scg21 jb21},
	School = {University of Bern},
	Type = {Masters thesis},
	Url = {http://scg.unibe.ch/archive/masters/Rich21a.pdf},
	Month = jan,
	Year = {2021}
}

@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 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 = {scg-none 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 scg-none 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 scg-none 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 scg-none 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.},
	Acceptnum = {28},
	Accepttotal = {78},
	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 scg-none jb05 recast05 stefPub clones},
	Location = {Delft, The Netherlands},
	Misc = {acceptance rate: 28/78 = 36\%},
	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 skip-doi scg-phd evolution recast05 scg-none 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}}

 @inproceedings{Rigb13a,
  author = {Rigby, Peter C. and Bird, Christian},
  title = {Convergent Contemporary Software Peer Review Practices},
  booktitle = {Proceedings of the 2013 9th Joint Meeting on Foundations of Software Engineering},
  series = {ESEC/FSE 2013},
  year = {2013},
  isbn = {978-1-4503-2237-9},
  location = {Saint Petersburg, Russia},
  pages = {202--212},
  numpages = {11},
  url = {http://doi.acm.org/10.1145/2491411.2491444},
  doi = {10.1145/2491411.2491444},
  acmid = {2491444},
  publisher = {ACM},
  address = {New York, NY, USA},
  keywords = {Empirical Software Engineering, Inspection, Open source software, Peer code review, Software firms}
 }

@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}}

@inproceedings{Risi12a,
	title = {{MetricAttitude}: a visualization tool for the reverse engineering of object oriented software},
	author = {Risi, Michele and Scanniello, Giuseppe},
	booktitle = {Proceedings of the International Working Conference on Advanced Visual Interfaces},
	pages = {449--456},
	year = {2012},
	organization = {ACM}}

@inproceedings{Risi13a,
	author    = {Michele Risi and
               Giuseppe Scanniello and
               Genoveffa Tortora},
	title     = {Metric Attitude},
	booktitle = {17th European Conference on Software Maintenance and Reengineering,
               {CSMR} 2013, Genova, Italy, March 5-8, 2013},
	pages     = {405--408},
	year      = {2013},
	doi       = {10.1109/CSMR.2013.59}}

@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,
	Acmid = {1852775},
	Address = {New York, NY, USA},
	Author = {Rito, Hugo and Cachopo, Jo\~{a}o},
	Booktitle = {Proceedings of the 8th International Conference on the Principles and Practice of Programming in Java},
	Doi = {10.1145/1852761.1852775},
	Isbn = {978-1-4503-0269-2},
	Location = {Vienna, Austria},
	Numpages = {10},
	Pages = {89--98},
	Publisher = {ACM},
	Series = {PPPJ '10},
	Title = {Memoization of methods using software transactional memory to track internal state dependencies},
	Year = {2010},
	Bdsk-Url-1 = {http://dx.doi.org/10.1145/1852761.1852775}}

@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{Riva00b,
 author = {Riva, Claudio},
 title = {Visualizing Software Release Histories with 3DSoftVis},
 booktitle = {Proceedings of the 22Nd International Conference on Software Engineering},
 series = {ICSE '00},
 year = {2000},
 isbn = {1-58113-206-9},
 location = {Limerick, Ireland},
 pages = {789--},
 url = {http://doi.acm.org/10.1145/337180.337644},
 doi = {10.1145/337180.337644},
 acmid = {337644},
 publisher = {ACM},
 address = {New York, NY, USA}
}

@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{Rizu15a,
 author = {Rizun, M. and Bach, J.-C. and Ducasse, S.},
 title = {Code Transformation by Direct Transformation of ASTs},
 booktitle = {Proceedings of the International Workshop on Smalltalk Technologies},
 series = {IWST '15},
 year = {2015},
 isbn = {978-1-4503-3857-8},
 location = {Brescia, Italy},
 pages = {7:1--7:7},
 articleno = {7},
 numpages = {7},
 url = {http://doi.acm.org/10.1145/2811237.2811297},
 doi = {10.1145/2811237.2811297},
 acmid = {2811297},
 publisher = {ACM},
 address = {New York, NY, USA},
 keywords = {AST, code transformation, refactoring, rewriting}
}

@misc{RoR,
	Key = {Ruby on Rails},
	Note = {http://rubyonrails.org},
	Title = {Ruby on Rails}}

@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 scg-none 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{Robb08d,
	Address = {Washington, DC, USA},
	Author = {Robbes, R. and Lanza, M.},
	Booktitle = {Proceedings of the 2008 23rd IEEE/ACM International Conference on Automated Software Engineering},
	Doi = {10.1109/ASE.2008.42},
	Isbn = {978-1-4244-2187-9},
	Keywords = {pattern matching, code completion, productivity tool},
	Numpages = {10},
	Pages = {317--326},
	Publisher = {IEEE Computer Society},
	Series = {ASE '08},
	Title = {How Program History Can Improve Code Completion},
	Url = {http://dx.doi.org/10.1109/ASE.2008.42},
	Year = {2008},
	Bdsk-Url-1 = {http://dx.doi.org/10.1109/ASE.2008.42}}

@inbook{Robb08e,
	author={Robbes, Romain and Lanza, Michele},
	title={Example-Based Program Transformation},
	bookTitle={Model Driven Engineering Languages and Systems: 11th International Conference, MoDELS 2008, Toulouse, France, September 28 - October 3, 2008. Proceedings},
	year={2008},
	publisher={Springer Berlin Heidelberg},
	address={Berlin, Heidelberg},
	pages={174--188},
	isbn={978-3-540-87875-9},
	doi={10.1007/978-3-540-87875-9_13},
	url={http://dx.doi.org/10.1007/978-3-540-87875-9_13}
}

@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{Robb10a,
  author = {Romain Robbes and Damien Pollet and Michele Lanza},
  title = {Replaying {IDE} interactions to evaluate and improve change prediction approaches},
  booktitle = {Proceedings of the 7th IEEE Working Conference on Mining Software Repositories},
  series = {MSR '10},
  year = {2010},
  pages = {161--170},
  doi = {10.1109/MSR.2010.5463278},
  publisher = {IEEE}
}

@inproceedings{Robb11a,
	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.
			},
	Annote = {internationalconference},
	Author = {Romain Robbes and Mircea Lungu},
	Booktitle = {Proceedings of the 33rd International Conference on Software Engineering (ICSE 2011)},
	Doi = {10.1145/1985793.1985940},
	Keywords = {scg-bigdata scg-pub scg11 snf11 jb11 sde-ecosystems ercim11},
	Medium = {2},
	Month = may,
	Pages = {904-907},
	Peerreview = {yes},
	Title = {A Study of Ripple Effects in Software Ecosystems (NIER)},
	Url = {http://scg.unibe.ch/archive/papers/Robb11aRipples.pdf},
	Year = {2011},
	Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Robb11aRipples.pdf},
	Bdsk-Url-2 = {http://dx.doi.org/10.1145/1985793.1985940}}

@inproceedings{Robb12a,
	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 extent and impact of these API changes in practice, on an entire software ecosystem associated with a community of developers. This paper reports on an empirical study of API deprecations 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: seven years of evolution, more than 3,000 contributors, and more than 2,600 distinct systems. We analyzed 577 methods and 186 classes that were deprecated, and answer research questions regarding the frequency, magnitude, duration, adaptation, and consistency of the ripple effects triggered by API changes.},
	Author = {Romain Robbes and Mircea Lungu and David Roethlisberger},
	Booktitle = {Proceedings of the 20th International Symposium on the		 Foundations of Software Engineering (FSE'12)},
	Doi = {10.1145/2393596.2393662},
	Keywords = {scg-pub snf12 sde-ecosystems roethlisberger scg12 jb13},
	Medium = {2},
	Pages = {56:1 - 56:11},
	Peerreview = {yes},
	Title = {How Do Developers React to {API} Deprecation? {The} Case of a {Smalltalk} Ecosystem},
	Url = {http://scg.unibe.ch/archive/papers/Rob12aAPIDeprecations.pdf},
	Year = {2012},
	Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Rob12aAPIDeprecations.pdf},
	Bdsk-Url-2 = {http://dx.doi.org/10.1145/2393596.2393662}}

@article{Robb13a,
	Author = {Robillard, Martin P. and Bodden, Eric and Kawrykow, David and Mezini, Mira and Ratchford, Tristan},
	Doi = {10.1109/TSE.2012.63},
	Issn = {0098-5589},
	Journal = {Software Engineering, IEEE Transactions on},
	Keywords = {application program interfaces;data mining;pattern classification;application programming interfaces;automated API property inference technique;behavioral specifications;empirical results;general information;migration mappings;mining techniques;properties inferred;sequential usage patterns;technique classification;unordered usage patterns;Association rules;Context;Itemsets;Programming;Protocols;Software engineering;API evolution;API property;API usage pattern;data mining;interface;pattern mining;programming rules;protocols;specifications},
	Number = {5},
	Pages = {613-637},
	Title = {Automated {API} Property Inference Techniques},
	Volume = {39},
	Year = {2013},
	Bdsk-Url-1 = {http://dx.doi.org/10.1109/TSE.2012.63}}

@article{Robb15a,
 author = {Robbes, Romain and R\"{o}thlisberger, David and Tanter, \'{E}ric},
 title = {Object-oriented Software Extensions in Practice},
 journal = {Empirical Softw. Engg.},
 issue_date = {June      2015},
 volume = {20},
 number = {3},
 month = jun,
 year = {2015},
 issn = {1382-3256},
 pages = {745--782},
 numpages = {38},
 url = {http://dx.doi.org/10.1007/s10664-013-9298-0},
 doi = {10.1007/s10664-013-9298-0},
 acmid = {2780175},
 publisher = {Kluwer Academic Publishers},
 address = {Hingham, MA, USA},
 keywords = {Data extensions, Empirical studies, Mining software repositories, Object-oriented programming, Operation extensions, Software evolution}
}

@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{Robe95a,
	Author = {Robertson, D.W. and Johnston, W.E.},
	Booktitle = {Compcon '95.'Technologies for the Information Superhighway', Digest of Papers.},
	Doi = {10.1109/CMPCON.1995.512355},
	Issn = {1063-6390},
	Keywords = {biology computing;data visualisation;interactive systems;wide area networks;3D visualization;Common Gateway Interface;Virtual Frog Dissection Kit;World Wide Web;front end;interactive 3D graphics;interactive 3D visualization;platform independent interface;Computer architecture;Data visualization;Graphics;High performance computing;Laboratories;Rendering (computer graphics);Service oriented architecture;US Government;Web sites;World Wide Web},
	Pages = {3-7},
	Title = {Using the World Wide Web to provide a platform independent interface to high performance computing},
	Year = {1995},
	Bdsk-Url-1 = {http://dx.doi.org/10.1109/CMPCON.1995.512355}}

@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{Robe01a,
	Acmid = {595261},
	Address = {Hingham, MA, USA},
	Author = {Robey, Daniel and Welke, Richard and Turk, Daniel},
	Doi = {10.1023/A:1009982704160},
	Issn = {1385-951X},
	Issue_Date = {January 2001},
	Journal = {Inf. Technol. and Management},
	Keywords = {component-based development, social implications, software development paradigms, software development roles},
	Month = jan,
	Number = {1},
	Numpages = {18},
	Pages = {53--70},
	Publisher = {Kluwer Academic Publishers},
	Title = {Traditional, iterative, and component-based development: A social analysis of software development paradigms},
	Url = {http://dx.doi.org/10.1023/A:1009982704160},
	Volume = {2},
	Year = {2001},
	Bdsk-Url-1 = {http://dx.doi.org/10.1023/A:1009982704160}}

@inproceedings{Robe10a,
 author = {Robertson, George G. and Chilimbi, Trishul and Lee, Bongshin},
 title = {AllocRay: Memory Allocation Visualization for Unmanaged Languages},
 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 = {43--52},
 numpages = {10},
 url = {http://doi.acm.org/10.1145/1879211.1879221},
 doi = {10.1145/1879211.1879221},
 acmid = {1879221},
 publisher = {ACM},
 address = {New York, NY, USA},
 keywords = {memory allocation visualization, memory fragmentation, memory leaks, unmanaged languages}
}

@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{Robi99a,
 author = {Robillard, Martin P. and Murphy, Gail C.},
 title = {Analyzing Exception Flow in Java Programs},
 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 = {322--337},
 numpages = {16},
 url = {http://dl.acm.org/citation.cfm?id=318773.319251},
 acmid = {319251},
 publisher = {Springer-Verlag},
 address = {London, UK, UK},
 keywords = {exception handling, object-oriented programming languages, software analysis, software engineering tools}
}

@inproceedings{Robi00a,
author={Robitaille, S. and Schauer, R. and Keller, R.K.},
booktitle={Software Maintenance, 2000. Proceedings. International Conference on},
title={Bridging program comprehension tools by design navigation},
year={2000},
pages={22-32},
doi={10.1109/ICSM.2000.882972},
ISSN={1063-6773}}

@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{Robi04a,
	Acmid = {1042417},
	Address = {Piscataway, NJ, USA},
	Author = {Robillard, Martin P. and Coelho, Wesley and Murphy, Gail C.},
	Doi = {10.1109/TSE.2004.101},
	Issn = {0098-5589},
	Issue_Date = {December 2004},
	Journal = {IEEE Trans. Softw. Eng.},
	Keywords = {Index Terms- Software evolution, empirical software engineering, program investigation, program understanding.},
	Month = dec,
	Number = {12},
	Numpages = {15},
	Pages = {889--903},
	Publisher = {IEEE Press},
	Title = {How Effective Developers Investigate Source Code: An Exploratory Study},
	Url = {http://dx.doi.org/10.1109/TSE.2004.101},
	Volume = {30},
	Year = {2004},
	Bdsk-Url-1 = {http://dx.doi.org/10.1109/TSE.2004.101}}

@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{Robi09a,
 author = {Robillard, Martin P.},
 title = {What Makes APIs Hard to Learn? Answers from Developers},
 journal = {IEEE Softw.},
 issue_date = {November 2009},
 volume = {26},
 number = {6},
 month = nov,
 year = {2009},
 issn = {0740-7459},
 pages = {27--34},
 numpages = {8},
 url = {https://doi.org/10.1109/MS.2009.193},
 doi = {10.1109/MS.2009.193},
 acmid = {1638760},
 publisher = {IEEE Computer Society Press},
 address = {Los Alamitos, CA, USA},
 keywords = {API design, software documentation, empirical study, dev-questions}
}

@article{Robi10a,
 author = {Robillard, Martin and Walker, Robert and Zimmermann, Thomas},
 title = {Recommendation Systems for Software Engineering},
 journal = {IEEE Softw.},
 issue_date = {July 2010},
 volume = {27},
 number = {4},
 month = jul,
 year = {2010},
 issn = {0740-7459},
 pages = {80--86},
 numpages = {7},
 url = {http://dx.doi.org/10.1109/MS.2009.161},
 doi = {10.1109/MS.2009.161},
 acmid = {1830005},
 publisher = {IEEE Computer Society Press},
 address = {Los Alamitos, CA, USA},
 keywords = {coding tools and techniques, design tools and techniques, development tools, programming environments, software construction tools, software engineering, software engineering, development tools, programming environments, software construction tools, coding tools and techniques, design tools and techniques}
}

@article{Robi15a,
  author    = {Martin P. Robillard and
               Yam B. Chhetri},
  title     = {Recommending reference {API} documentation},
  journal   = {Empir. Softw. Eng.},
  volume    = {20},
  number    = {6},
  pages     = {1558--1586},
  year      = {2015},
  url       = {https://doi.org/10.1007/s10664-014-9323-y},
  doi       = {10.1007/s10664-014-9323-y},
  keywords =  {comment-quality-slr},
  timestamp = {Tue, 25 Aug 2020 16:58:49 +0200},
  biburl    = {https://dblp.org/rec/journals/ese/RobillardC15.bib},
  bibsource = {dblp computer science bibliography, https://dblp.org}
}

@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{Rode15a,
  title={Exploring the space of topic coherence measures},
  author={R{\"o}der, Michael and Both, Andreas and Hinneburg, Alexander},
  booktitle={Proceedings of the eighth ACM international conference on Web search and data mining},
  pages={399--408},
  year={2015}
}

@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}}

@article{Rodr12a,
  title={Searching for rules to detect defective modules: A subgroup discovery approach},
  author={Rodr{\'\i}guez, Daniel and Ruiz, Roberto and Riquelme, Jos{\'e} C and Aguilar--Ruiz, Jes{\'u}s S},
  journal={Information Sciences},
  volume={191},
  pages={14--30},
  year={2012},
  publisher={Elsevier}
}

@article{Rodr18a,
  title={Reproducibility and credibility in empirical software engineering: A case study based on a systematic literature review of the use of the SZZ algorithm},
  author={Rodr{\'\i}guez-P{\'e}rez, Gema and Robles, Gregorio and Gonz{\'a}lez-Barahona, Jes{\'u}s M},
  journal={Information and Software Technology},
  volume={99},
  pages={164--176},
  year={2018},
  publisher={Elsevier}
}

@inproceedings{Roeh12a,
	Address = {Piscataway, NJ, USA},
	Author = {Roehm, Tobias and Tiarks, Rebecca and Koschke, Rainer and Maalej, Walid},
	Booktitle = {Proceedings of the 2012 International Conference on Software Engineering},
	Isbn = {978-1-4673-1067-3},
	Location = {Zurich, Switzerland},
	Pages = {255--265},
	Priority = {2},
	Publisher = {IEEE Press},
	Series = {ICSE 2012},
	Title = {How do professional developers comprehend software?},
	Keywords = {dev-questions},
	Year = {2012}
}

@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 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 scg-none 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 scg-none 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 scg-none 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).},
	Address = {New York, NY, USA},
	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)},
	Doi = {10.1145/1735935.1735945},
	Isbn = {978-1-60558-899-5},
	Keywords = {scg09 scg-pub snf10 jb10 roethlisberger},
	Location = {Brest, France},
	Medium = {1},
	Pages = {58--67},
	Peerreview = {yes},
	Publisher = {ACM},
	Title = {Tackling Software Navigation Issues of the {Smalltalk} {IDE}},
	Url = {http://scg.unibe.ch/archive/papers/Roet09eNavigation.pdf},
	Year = {2009},
	Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Roet09eNavigation.pdf},
	Bdsk-Url-2 = {http://dx.doi.org/10.1145/1735935.1735945}}

@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},
	Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Roet09gValidation.pdf}}

@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 scg10 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},
	Bdsk-Url-1 = {http://scg.unibe.ch/archive/phd/roethlisberger-phd.pdf}}

@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},
	Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Roet10bSenseoSoftwareMaintenance.pdf}}

@article{Roet11a,
	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.},
	Address = {Piscataway, NJ, USA},
	Annote = {internationaljournal},
	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},
	Doi = {10.1109/TSE.2011.42},
	Journal = {Transactions on Software Engineering},
	Keywords = {scg-pub scg11 roethlisberger haerry jb11 snf10 ercim11},
	Medium = {2},
	Peerreview = {yes},
	Publisher = {IEEE Press},
	Title = {Exploiting Dynamic Information in {IDEs} Improves Speed and Correctness of Software Maintenance Tasks},
	Url = {http://scg.unibe.ch/archive/papers/Roet11aSenseoTSE.pdf},
	Year = {2011},
	Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Roet11aSenseoTSE.pdf},
	Bdsk-Url-2 = {http://dx.doi.org/10.1109/TSE.2011.42}}

@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 SmartGroups 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)},
	Doi = {10.1109/ICPC.2011.20},
	Journal = {icpc},
	Keywords = {scg-pub scg11 snf11 jb11 roethlisberger ercim11},
	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},
	Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Roet11bSmartGroupsICPC2011.pdf},
	Bdsk-Url-2 = {http://dx.doi.org/10.1109/ICPC.2011.20}}

@book{Roev08a,
	 author = {Roever, Willem-Paul de and Engelhardt, Kai},
	 title = {Data Refinement: Model-Oriented Proof Methods and Their Comparison},
	 year = {2008},
	 isbn = {9780521103503},
	 edition = {1st},
	 publisher = {Cambridge University Press},
	 address = {New York, NY, USA}
}

@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}}

@techreport{Rohr21a,
	Title = {Implementing Mondrian in Glamorous Toolkit},
	Author = {Cyrill J. Rohrbach},
	Abstract = {Developers spend a lot of time reverse engineering
		software. To do this they often rely on reading the
		code, which is a slow and unscalable process. They
		rely on code reading because the environments used for
		the development are centered around the code editor
		and do not really offer other tools to help the
		developer understand the software. The goal of
		moldable development is to change this. The
		environment should provide tools to help the user
		understand software. In order to prevent the tools
		from not being suitable for the application, the
		developer should adapt and develop the tools alongside
		the software. Glamorous Toolkit is a new development
		environment based on Pharo and built around the
		philosophy of moldable development. One of the tools
		offered by Glamorous Toolkit to help understand a
		piece of software is a multipurpose visualization tool
		called GtMondrian. GtMondrian takes scripts and turns
		them into interactive visualizations. These scripts
		allow for endless customizability, but to do this the
		user has to know how the graphical elements of
		Glamorous Toolkit work. Since it takes time to
		familiarize oneself with those elements, this could
		well be something that prevents developers from using
		it to adapt the development tools, and therefore
		sabotages the concept of moldable development. We
		propose a tool similar to GtMondrian called
		CRMondrian. It has a lot of the same functionality
		with the major difference that the most commonly used
		customizations, such as changing the shape of the
		nodes within a graph, are done using builders.
		Therefore it just requires one simple keyword from the
		user and eliminates the need for the user to know how
		the graphical elements work.},
	Institution = {University of Bern},
	Keywords = {scg-bp snf-asa3 scg21 jb22},
	Type = {Bachelor's thesis},
	Url = {http://scg.unibe.ch/archive/projects/Rohr21a.pdf},
	Month = sep,
	Year = {2021}
}

@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,
	Address = {Piscataway, NJ, USA},
	Author = {Rom\'{a}n, Manuel and Hess, Christopher and Cerqueira, Renato and Ranganathan, Anand and Campbell, Roy H. and Nahrstedt, Klara},
	Doi = {10.1109/MPRV.2002.1158281},
	Journal = {IEEE Pervasive Computing},
	Keywords = {gaia middleware damiencbib pervasive},
	Number = {4},
	Pages = {74--83},
	Publisher = {IEEE Educational Activities Department},
	Title = {A Middleware Infrastructure for Active Spaces},
	Volume = {1},
	Year = {2002},
	Bdsk-Url-1 = {http://dx.doi.org/10.1109/MPRV.2002.1158281}}

@article{Rome07a,
  title = {Debugging strategies and tactics in a multi-representation software environment},
  journal = {International Journal of Human-Computer Studies},
  volume = {65},
  number = {12},
  pages = {992 - 1009},
  year = {2007},
  issn = {1071-5819},
  doi = {10.1016/j.ijhcs.2007.07.005},
  url = {http://www.sciencedirect.com/science/article/pii/S1071581907001000},
  author = {Pablo Romero and Benedict du Boulay and Richard Cox and Rudi Lutz and Sallyann Bryant},
  keywords = {Multiple external representations Graphical reasoning Program debugging}
}

@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}},
	Keyword = {testing-practices},
	Pages = {391--400},
	Publisher = {IEEE Computer Society},
	Title = {Characterizing the Relative Significance of a Test Smell},
	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},
	Keyword = {testing-practices},
	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{Romp10a,
 author = {Rompf, Tiark and Odersky, Martin},
 title = {Lightweight Modular Staging: A Pragmatic Approach to Runtime Code Generation and Compiled DSLs},
 booktitle = {Proceedings of the Ninth International Conference on Generative Programming and Component Engineering},
 series = {GPCE '10},
 year = {2010},
 isbn = {978-1-4503-0154-1},
 location = {Eindhoven, The Netherlands},
 pages = {127--136},
 numpages = {10},
 url = {http://doi.acm.org/10.1145/1868294.1868314},
 doi = {10.1145/1868294.1868314},
 acmid = {1868314},
 publisher = {ACM},
 address = {New York, NY, USA},
 keywords = {code generation, domain-specific languages, language virtualization, multi-stage programming}
}

@inproceedings{Romp13a,
 author = {Rompf, Tiark and Sujeeth, Arvind K. and Amin, Nada and Brown, Kevin J. and Jovanovic, Vojin and Lee, HyoukJoong and Jonnalagedda, Manohar and Olukotun, Kunle and Odersky, Martin},
 title = {Optimizing Data Structures in High-level Programs: New Directions for Extensible Compilers Based on Staging},
 booktitle = {Proceedings of the 40th Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages},
 series = {POPL '13},
 year = {2013},
 isbn = {978-1-4503-1832-7},
 location = {Rome, Italy},
 pages = {497--510},
 numpages = {14},
 url = {http://doi.acm.org/10.1145/2429069.2429128},
 doi = {10.1145/2429069.2429128},
 acmid = {2429128},
 publisher = {ACM},
 address = {New York, NY, USA},
 keywords = {code generation, data structures, extensible compilers, staging}
}

@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{Roov14a,
	author={C. De Roover and R. Stevens},
	booktitle={Software Maintenance, Reengineering and Reverse Engineering (CSMR-WCRE), 2014 Software Evolution Week - IEEE Conference on},
	title={Building development tools interactively using the EKEKO meta-programming library},
	year={2014},
	pages={429-433},
	doi={10.1109/CSMR-WCRE.2014.6747211},
	month=feb
}

@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{Rose88b,
	Acmid = {73562},
	Address = {New York, NY, USA},
	Author = {Rosen, B. K. and Wegman, M. N. and Zadeck, F. K.},
	Booktitle = {Proceedings of the 15th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages},
	Doi = {10.1145/73560.73562},
	Isbn = {0-89791-252-7},
	Location = {San Diego, California, USA},
	Numpages = {16},
	Pages = {12--27},
	Publisher = {ACM},
	Series = {POPL '88},
	Title = {Global Value Numbers and Redundant Computations},
	Url = {http://doi.acm.org/10.1145/73560.73562},
	Year = {1988},
	Bdsk-Url-1 = {http://doi.acm.org/10.1145/73560.73562},
	Bdsk-Url-2 = {http://dx.doi.org/10.1145/73560.73562}}

@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},
	Institution = {RFC 3261},
	Keywords = {damiencbib sip},
	Title = {{SIP: Session Initiation Protocol}},
	Url = {http://www.ietf.org/rfc/rfc3261.txt},
	Year = {2002},
	Bdsk-Url-1 = {http://www.ietf.org/rfc/rfc3261.txt}}

@article{Rose11a,
	Acmid = {1969280},
	Address = {Hingham, MA, USA},
	Author = {Rosenm\"{u}ller, Marko and Siegmund, Norbert and Apel, Sven and Saake, Gunter},
	Doi = {10.1007/s10515-011-0080-5},
	Issn = {0928-8910},
	Issue_Date = {June	 2011},
	Journal = {Automated Software Engg.},
	Keywords = {Dynamic binding, Feature binding time, Feature composition, Feature-oriented programming, Software product lines, Static binding},
	Month = jun,
	Number = {2},
	Numpages = {35},
	Pages = {163--197},
	Publisher = {Kluwer Academic Publishers},
	Title = {Flexible feature binding in software product lines},
	Url = {http://dx.doi.org/10.1007/s10515-011-0080-5},
	Volume = {18},
	Year = {2011},
	Bdsk-Url-1 = {http://dx.doi.org/10.1007/s10515-011-0080-5}}

@inproceedings{Rose13a,
 author = {Rosen, Paul},
 title = {A Visual Approach to Investigating Shared and Global Memory Behavior of CUDA Kernels},
 booktitle = {Proceedings of the 15th Eurographics Conference on Visualization},
 series = {EuroVis '13},
 year = {2013},
 location = {Leipzig, Germany},
 pages = {161--170},
 numpages = {10},
 url = {http://dx.doi.org/10.1111/cgf.12103},
 doi = {10.1111/cgf.12103},
 acmid = {2600557},
 publisher = {Eurographics Association},
 address = {Aire-la-Ville, Switzerland, Switzerland}
}

@inproceedings{Rose15a,
  title={Commit guru: analytics and risk prediction of software commits},
  author={Rosen, Christoffer and Grawi, Ben and Shihab, Emad},
  booktitle={Proceedings of the 2015 10th Joint Meeting on Foundations of Software Engineering},
  pages={966--969},
  year={2015},
  organization={ACM}
}

@article{Rose16a,
author={Rosen, Christoffer and Shihab, Emad},
title={What are mobile developers asking about? {A} large scale study using stack overflow},
journal={Empirical Software Engineering},
year={2016},
volume={21},
number={3},
pages={1192--1223},
abstract={The popularity of mobile devices has been steadily growing in recent years. These devices heavily depend on software from the underlying operating systems to the applications they run. Prior research showed that mobile software is different than traditional, large software systems. However, to date most of our research has been conducted on traditional software systems. Very little work has focused on the issues that mobile developers face. Therefore, in this paper, we use data from the popular online Q{\&}A site, Stack Overflow, and analyze 13,232,821 posts to examine what mobile developers ask about. We employ Latent Dirichlet allocation-based topic models to help us summarize the mobile-related questions. Our findings show that developers are asking about app distribution, mobile APIs, data management, sensors and context, mobile tools, and user interface development. We also determine what popular mobile-related issues are the most difficult, explore platform specific issues, and investigate the types (e.g., what, how, or why) of questions mobile developers ask. Our findings help highlight the challenges facing mobile developers that require more attention from the software engineering research and development communities in the future and establish a novel approach for analyzing questions asked on Q{\&}A forums.},
issn={1573-7616},
doi={10.1007/s10664-015-9379-3},
Keywords = {dev-questions},
url={https://doi.org/10.1007/s10664-015-9379-3}}

@inproceedings{Rosi08a,
 author ={Rosik, Jacek and Le Gear, Andrew and Buckley, Jim and Ali Babar, Muhammad},
 title = {An Industrial Case Study of Architecture Conformance},
 booktitle = {Proceedings of the Second ACM-IEEE International Symposium on Empirical Software Engineering and Measurement},
 series = {ESEM '08},
 year = {2008},
 isbn = {978-1-59593-971-5},
 location = {Kaiserslautern, Germany},
 pages = {80--89},
 numpages = {10},
 url = {http://doi.acm.org/10.1145/1414004.1414019},
 doi = {10.1145/1414004.1414019},
 acmid = {1414019},
 publisher = {ACM},
 address = {New York, NY, USA}}

@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,
	Acmid = {187171},
	Address = {New York, NY, USA},
	Author = {Rothermel, Gregg and Harrold, Mary Jean},
	Booktitle = {Proceedings of the 1994 ACM SIGSOFT international symposium on Software testing and analysis},
	Doi = {10.1145/186258.187171},
	Isbn = {0-89791-683-2},
	Location = {Seattle, Washington, United States},
	Numpages = {16},
	Pages = {169--184},
	Publisher = {ACM},
	Series = {ISSTA '94},
	Title = {Selecting tests and identifying test coverage requirements for modified software},
	Year = {1994},
	Bdsk-Url-1 = {http://dx.doi.org/10.1145/186258.187171}}

@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}}

@article{Roth98a,
	Author = {Rothermel, G. and Harrold, M.J.},
	Doi = {10.1109/32.689399},
	Issn = {0098-5589},
	Journal = {Software Engineering, IEEE Transactions on},
	Keywords = {testing-practices},
	Month = {jun},
	Number = {6},
	Pages = {401 -419},
	Title = {Empirical studies of a safe regression test selection technique},
	Url = {http://digitalcommons.unl.edu/cgi/viewcontent.cgi?article=1015&context=csearticles},
	Volume = {24},
	Year = {1998},
	Bdsk-Url-1 = {http://digitalcommons.unl.edu/cgi/viewcontent.cgi?article=1015&context=csearticles},
	Bdsk-Url-2 = {http://dx.doi.org/10.1109/32.689399}}

@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 {J}ava 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}}

@techreport{Roy07a,
	Author = {Chanchal Kumar Roy and James R. Cordy},
	Institution = {School of computing TR 2007-541, Queen's University},
	Title = {A Survey on Software Clone Detection Research},
	Url = {http://research.cs.queensu.ca/TechReports/Reports/2007-541.pdf},
	Year = {2007},
	Bdsk-Url-1 = {http://research.cs.queensu.ca/TechReports/Reports/2007-541.pdf}}

@article{Roy09a,
	Abstract = {Over the last decade many techniques and tools for software clone detection have been proposed. In this paper, we provide a qualitative comparison and evaluation of the current state-of-the-art in clone detection techniques and tools, and organize the large amount of information into a coherent conceptual framework. We begin with background concepts, a generic clone detection process and an overall taxonomy of current techniques and tools. We then classify, compare and evaluate the techniques and tools in two different dimensions. First, we classify and compare approaches based on a number of facets, each of which has a set of (possibly overlapping) attributes. Second, we qualitatively evaluate the classified techniques and tools with respect to a taxonomy of editing scenarios designed to model the creation of Type-1, Type-2, Type-3 and Type-4 clones. Finally, we provide examples of how one might use the results of this study to choose the most appropriate clone detection tool or technique in the context of a particular set of goals and constraints. The primary contributions of this paper are: (1) a schema for classifying clone detection techniques and tools and a classification of current clone detectors based on this schema, and (2) a taxonomy of editing scenarios that produce different clone types and a qualitative evaluation of current clone detectors based on this taxonomy.},
	Address = {Amsterdam, The Netherlands, The Netherlands},
	Author = {Roy, Chanchal K. and Cordy, James R. and Koschke, Rainer},
	Issn = {0167-6423},
	Journal = {Sci. Comput. Program.},
	Keywords = {clone-detection},
	Month = may,
	Pages = {470--495},
	Publisher = {Elsevier North-Holland, Inc.},
	Title = {Comparison and evaluation of code clone detection techniques and tools: A qualitative approach},
	Volume = {74},
	Year = {2009}}

@inproceedings {Roy14a,
	Title = {The Vision of Software Clone Management: Past, Present, and Future},
	Author = {Chanchal K. Roy and Minhaz F. Zibran and Rainer Koschke},
	Booktitle = {Proceedings of the 2014 Software Evolution Week - IEEE Conference on Software Maintenance, Reengineering and Reverse Engineering (CSMR-WCRE)},
	Pages = {18-33},
	Year = {2014},
	Keywords = {clones},
	doi={10.1109/CSMR-WCRE.2014.6747168}
}

@inproceedings{Royc70a,
	Author = {Royce, Winston W.},
	Booktitle = {Proc. IEEE Wescon},
	Month = aug,
	Pages = {1--9},
	Title = {Managing the Development of Large Software Systems},
	Year = {1970},
	url = {http://www.cs.umd.edu/class/spring2003/cmsc838p/Process/waterfall.pdf}
}

@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}}

@inproceedings{Roze14a,
author={Rozenberg, Daniel and Beschastnikh, Ivan},
booktitle={Proc. VISSOFT},
title={Templated Visualization of Object State with {Vebugger}},
year={2014},
month=sep,
pages={107-111},
keywords={Animation;Color;Data structures;Data visualization;Java;Software;Visualization;object visualization;vebugger;visualization templates}}

@inproceedings{Roze16a,
 author = {Rozenberg, Daniel and Beschastnikh, Ivan and Kosmale, Fabian and Poser, Valerie and Becker, Heiko and Palyart, Marc and Murphy, Gail C.},
 title = {Comparing Repositories Visually with Repograms},
 booktitle = {Proceedings of the 13th International Conference on Mining Software Repositories},
 series = {MSR '16},
 year = {2016},
 isbn = {978-1-4503-4186-8},
 location = {Austin, Texas},
 pages = {109--120},
 numpages = {12},
 url = {http://doi.acm.org/10.1145/2901739.2901768},
 doi = {10.1145/2901739.2901768},
 acmid = {2901768},
 publisher = {ACM},
 address = {New York, NY, USA}
}

@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}}

@misc{Ruby,
	Key = {Ruby},
	Note = {http://www.ruby-lang.org},
	Title = {Ruby}}

@techreport{Ruef13a,
	Abstract = {Quality assurance tools and metaprogramming are trending topics in PHP application
	development. Whilst not supported natively by the language itself, PHP applications and frameworks
	increasingly make use of annotations. The lack of native annotation support requires programmers to
	embed metadata in multi-line comments -- so called doc blocks -- and extract them in an additional
	parsing step. The separation of the actual program code and meta data into different domains and the
	absence of specifications in terms of syntax complicate the reasoning about annotations and
	corresponding behavior. To enable the analysis of PHP source code and annotation meta data in
	particular, this thesis presents a modular extension to the Moose suite. The implemented components
	enable the Moose suite to parse and import PHP sources directly from the file system. The generated
	unified meta model includes types, their properties and annotations (extracted from the doc comments)
	and can be processed and analyzed by the Moose panel. Therefore Moose is enhanced by the ability to
	integrate previously separated meta information with the PHP source code and exploit their analysis.},
	Author = {Michael R\"ufenacht},
	Institution = {University of Bern},
	Keywords = {snf-none scg-bp scg13 jb14},
	Month = aug,
	Title = {Enabling the Analysis of {PHP} Metadata --- Parsing and analyzing Annotations in {PHP} Code},
	Type = {Bachelor's thesis},
	Url = {http://scg.unibe.ch/archive/projects/Ruef13a-PHP.pdf},
	Year = {2013},
	Bdsk-Url-1 = {http://scg.unibe.ch/archive/projects/Ruef13a-PHP.pdf}}

@techreport{Ruef13b,
	Abstract = {Static software analysis is an important process in software quality assurance. Building
	suitable tools e.g. parsers and the processing (or even derivation) of underlying grammars can be a
	tedious task. Creating parsers by hand involves a lot of repetitive work and is error prone, hence it
	is recommendable to rely on suitable frameworks and systems. This paper describes a methodology to
	enable source code analysis of a programming language using PetitParser and Moose. We will use the
	PetitParser framework to implement a parser and create an adequate Intermediate Representation (IR).
	Furthermore, we will apply suitable transformations to create a meta model which can be queried and
	analyzed using Moose.},
	Author = {Michael R\"ufenacht},
	Institution = {University of Bern},
	Keywords = {snf-none scg-bp scg13 jb14},
	Month = aug,
	Title = {Enabling Software Analysis using {PetitParser} and {Moose}},
	Type = {Bachelor's thesis, supplementary documentation},
	Url = {http://scg.unibe.ch/archive/projects/Ruef13b-PP.pdf},
	Year = {2013},
	Bdsk-Url-1 = {http://scg.unibe.ch/archive/projects/Ruef13b-PP.pdf}}

@mastersthesis{Ruef16a,
	Title = {Error Handling in {PEG} Parsers --- Local Error Recovery for {PetitParser}},
	Author = {Michael R\"ufenacht},
	Abstract = {Parsing Expression Grammars (PEGs) provide a convenient,
		highly expressive and concise formalism to specify top-down
		parsers. The characteristics of PEGs solve numerous problems
		arising in generative approaches, especially in terms of
		ambiguity and the composition of programming languages.
		Nevertheless, corresponding parsers often suffer from poor
		error handling which is aggravated by the fact that classical
		error handling techniques -- designed for non-backtracking,
		top-down parsing algorithms -- are not directly applicable to
		PEGs. However, the input to a parser in practice is likely to
		contain syntax errors, especially in the context of tools
		requiring human interaction such as Integrated Development
		Environments (IDEs). Meaningful feedback and the ability to
		recover from typing errors and misconceptions are crucial to
		a programmer's productivity or the reliability of tools
		including parsing processes in general. To enable improved
		error handling capabilities, consisting of error recovery as
		well as error correction, we present the foundations on how
		to overcome the limitations of a backtracking PEG parsing
		combinator. As a proof of concept we created an automated and
		language agnostic implementation of the error handling scheme
		for PetitParser. We adapt the scheme to both the lexical as
		well as the syntactical level of a grammar and subsequently
		combine the adaptations into a layered error handling scheme.
		Our approach incorporates a classical local error recovery
		approach also known as acceptable-set recovery. The engine
		gathers its recovery information directly from the syntactic
		structure of the parser reducing the involvement of a
		programmer and the implementation of ad-hoc recovery
		mechanisms (such as error productions) to a bare minimum. We
		describe the necessary steps to enable error handling in
		existing parsers and evaluate the recovery quality of our
		implementation in the form of a case study of the JSON
		grammar.},
	Keywords = {scg-msc snf-asa2 scg16 jb16},
	School = {University of Bern},
	Type = {Masters thesis},
	Url = {http://scg.unibe.ch/archive/masters/Ruef16a.pdf},
	Month = aug,
	Year = {2016}
}

@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}}

@inproceedings{Rufi14a,
	author={S. Rufiange and G. Melan\c{c}on},
	booktitle={Software Visualization (VISSOFT), 2014 Second IEEE Working Conference on},
	title={AniMatrix: A Matrix-Based Visualization of Software Evolution},
	year={2014},
	pages={137-146},
	doi={10.1109/VISSOFT.2014.30},
	month=sep}

@inproceedings{Ruga96a,
	Acmid = {836958},
	Address = {Washington, DC, USA},
	Author = {Rugaber, Spencer and Wills, Linda M.},
	Booktitle = {Proceedings of the 3rd Working Conference on Reverse Engineering (WCRE '96)},
	Isbn = {0-8186-7674-4},
	Keywords = {reengineering, reverse engineering, research infrastructure, technology transition},
	Pages = {98--},
	Publisher = {IEEE Computer Society},
	Series = {WCRE '96},
	Title = {Creating a Research Infrastructure for Reengineering},
	Url = {http://dl.acm.org/citation.cfm?id=525595.836958},
	Year = {1996},
	Bdsk-Url-1 = {http://dl.acm.org/citation.cfm?id=525595.836958}}

@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}}

@article{Ruga04a,
  title={Model-driven reverse engineering},
  author={Rugaber, Spencer and Stirewalt, Kurt},
  journal={IEEE software},
  volume={21},
  number={4},
  pages={45--53},
  year={2004},
  publisher={IEEE}
}

@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}}

@book{Rumb04a,
 author = {Rumbaugh, James and Jacobson, Ivar and Booch, Grady},
 title = {Unified Modeling Language Reference Manual, The (2nd Edition)},
 year = {2004},
 isbn = {0321245628},
 publisher = {Pearson Higher Education},
 keywords = {eselit}
}

@book{Rumb05a,
	Author = {James Rumbaugh and Ivar Jacobson and Grady Booch},
	Keywords = {olit-ood book},
	Publisher = {Addison Wesley},
	Title = {The Unified Modeling Language Reference Manual},
    Edition = {2nd},
	Year = {2005}}

@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}}

@article{Rune06a,
	Author = {Runeson, P.},
	Doi = {10.1109/MS.2006.91},
	Issn = {0740-7459},
	Journal = {Software, IEEE},
	Keyword = {testing-practices},
	Month = jul,
	Number = {4},
	Pages = {22 -29},
	Title = {A survey of unit testing practices},
	Volume = {23},
	Year = {2006},
	Bdsk-Url-1 = {http://dx.doi.org/10.1109/MS.2006.91}}

@article{Rupa10a,
author = {Ruparelia, Nayan B.},
title = {Software Development Lifecycle Models},
year = {2010},
issue_date = {May 2010},
publisher = {Association for Computing Machinery},
address = {New York, NY, USA},
volume = {35},
number = {3},
issn = {0163-5948},
url = {https://doi.org/10.1145/1764810.1764814},
doi = {10.1145/1764810.1764814},
journal = {SIGSOFT Softw. Eng. Notes},
month = may,
pages = {8 -13},
numpages = {6},
keywords = {Vmodel, incremental, spiral, unified, waterfall, B-model, SDLC, RAD, SEN history column, wheel-and-spoke}
}

@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}}

@inproceedings{Rust08a,
	Address = {Berlin, Heidelberg},
	Annote = {Section Benefit and Related Work give lots of pointers.},
	Author = {Leino, K. Rustan and M\"{u}ller, Peter and Wallenburg, Angela},
	Booktitle = {VSTTE '08: Proceedings of the 2nd international conference on Verified Software: Theories, Tools, Experiments},
	Date-Added = {2010-01-29 09:56:12 +0100},
	Date-Modified = {2012-03-01 11:51:36 +0100},
	Doi = {dx.doi.org/10.1007/978-3-540-87873-5_17},
	Isbn = {978-3-540-87872-8},
	Keywords = {model-checking; aliasing},
	Location = {Toronto, Canada},
	Pages = {192--208},
	Publisher = {Springer-Verlag},
	Rating = {4},
	Title = {Flexible Immutability with Frozen Objects},
	Year = {2008},
	Bdsk-Url-1 = {http://dx.doi.org/10.1007/978-3-540-87873-5_17}}

@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}}

@inproceedings{Ruth08a,
	Acmid = {1368135},
	Address = {New York, NY, USA},
	Author = {Ruthruff, Joseph R. and Penix, John and Morgenthaler, J. David and Elbaum, Sebastian and Rothermel, Gregg},
	Booktitle = {Proceedings of the 30th International Conference on Software Engineering},
	Doi = {10.1145/1368088.1368135},
	Isbn = {978-1-60558-079-1},
	Keywords = {experimental program analysis, logistic regression analysis, screening, software quality, static analysis tools},
	Location = {Leipzig, Germany},
	Numpages = {10},
	Pages = {341--350},
	Publisher = {ACM},
	Series = {ICSE '08},
	Title = {Predicting Accurate and Actionable Static Analysis Warnings: An Experimental Approach},
	Url = {http://doi.acm.org/10.1145/1368088.1368135},
	Year = {2008},
	Bdsk-Url-1 = {http://doi.acm.org/10.1145/1368088.1368135},
	Bdsk-Url-2 = {http://dx.doi.org/10.1145/1368088.1368135}}

@article{Ruth08b,
	title = {Evaluating test suites and adequacy criteria using simulation-based models of distributed systems},
	author = {Rutherford, Matthew J and Carzaniga, Antonio and Wolf, Alexander L},
	journal = {Software Engineering, IEEE Transactions on},
	volume = {34},
	number = {4},
	pages = {452--470},
	year = {2008},
	publisher = {IEEE}}

@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}}

@manual{S2py,
	key    = {S2py},
	title  = {S2py Profiling Framework},
	url    = {http://www.smalltalkhub.com/\#!/\~ObjectProfile/S2py},
	note    = {http://www.smalltalkhub.com/\#!/\~ObjectProfile/S2py},
	year   = {accessed June 3, 2016}
}

@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}}

@book{Sada12a,
 author = {Sadalage, Pramod J. and Fowler, Martin},
 title = {{NoSQL} Distilled: A Brief Guide to the Emerging World of Polyglot Persistence},
 year = {2012},
 isbn = {0321826620, 9780321826626},
 edition = {1st},
 publisher = {Addison-Wesley Professional}
}

@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 scg-none 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}}

@techreport{Sade13a,
	Abstract = {Most parser frameworks can parse a context-free language generated by different context-free grammars. However, many languages are not context-free. One important class of such languages is layout-sensitive languages (\eg Python, Haskell), in which the structure of code depends on indentation and whitespace. The parsers (and lexers) of this kind of languages are not declaratively specified but hand-tuned to account for layout-sensitivity. To support parsing of layout-sensitive languages, we propose an extension of parsing expression grammars in which a user is able to declare layout-sensitive specifications. For example, a user can declare a consisting block of statements to be aligned and arbitrary positioned. We have implemented our extension in a Petit Parser framework. We evaluate the correctness and performance of our parser by parsing Python- and Haskell-like grammars.  },
	Author = {Attieh Sadeghi Givi},
	Institution = {University of Bern},
	Keywords = {snf-asa1 sadeghi scg-bp scg13 jb14},
	Month = oct,
	Title = {Layout Sensitive Parsing in the {PetitParser} Framework},
	Type = {Bachelor's thesis},
	Url = {http://scg.unibe.ch/archive/projects/Sade13a.pdf},
	Year = {2013},
	Bdsk-Url-1 = {http://scg.unibe.ch/archive/projects/Sade13a.pdf}}

@inproceedings{Sado11a,
	Acmid = {2048230},
	Address = {New York, NY, USA},
	Author = {Sadowski, Caitlin and Yi, Jaeheon},
	Booktitle = {Proceedings of the ACM international conference companion on Object oriented programming systems languages and applications companion},
	Date-Added = {2011-11-25 16:19:57 +0100},
	Date-Modified = {2011-11-25 16:24:20 +0100},
	Doi = {10.1145/2048147.2048230},
	Isbn = {978-1-4503-0942-4},
	Keywords = {software-evolution; case-study; concurrency},
	Location = {Portland, Oregon, USA},
	Numpages = {2},
	Pages = {323--324},
	Publisher = {ACM},
	Rating = {3},
	Series = {SPLASH '11},
	Title = {Workshop on transitioning to multicore: (TMC 2011)},
	Url = {10.1145/2048147.2048230},
	Year = {2011},
	Bdsk-Url-1 = {10.1145/2048147.2048230},
	Bdsk-Url-2 = {http://dx.doi.org/10.1145/2048147.2048230}}

@inproceedings{Sado15a,
 author = {Sadowski, Caitlin and van Gogh, Jeffrey and Jaspan, Ciera and S\"{o}derberg, Emma and Winter, Collin},
 title = {Tricorder: Building a Program Analysis Ecosystem},
 booktitle = {Proceedings of the 37th International Conference on Software Engineering - Volume 1},
 series = {ICSE '15},
 year = {2015},
 isbn = {978-1-4799-1934-5},
 location = {Florence, Italy},
 pages = {598--608},
 numpages = {11},
 url = {http://dl.acm.org/citation.cfm?id=2818754.2818828},
 acmid = {2818828},
 publisher = {IEEE Press},
 address = {Piscataway, NJ, USA}}

 @inproceedings{Sado15b,
 author = {Sadowski, Caitlin and Stolee, Kathryn T. and Elbaum, Sebastian},
 title = {How Developers Search for Code: A Case Study},
 booktitle = {Proceedings of the 2015 10th Joint Meeting on Foundations of Software Engineering},
 series = {ESEC/FSE 2015},
 year = {2015},
 isbn = {978-1-4503-3675-8},
 location = {Bergamo, Italy},
 pages = {191--201},
 numpages = {11},
 url = {http://doi.acm.org/10.1145/2786805.2786855},
 doi = {10.1145/2786805.2786855},
 acmid = {2786855},
 publisher = {ACM},
 address = {New York, NY, USA},
 keywords = {code search, developer tools, user evaluation, dev-questions}
 }

@book{Sado19a,
	Author = {Caitlin Sadowski and Thomas Zimmermann},
	Isbn = {978-1-4842-4220-9},
	Publisher = {Springer-Verlag},
	Title = {Rethinking Productivity in Software Engineering},
	Year = {2019}}

@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{Sahi12a,
author={C. Sahin and F. Cayci and I. L. M. Guti\'errez and J. Clause and F. Kiamilev and L. Pollock and K. Winbladh},
booktitle={Green and Sustainable Software (GREENS), 2012 First International Workshop on},
title={Initial explorations on design pattern energy usage},
year={2012},
pages={55-61},
abstract={As the use of computers has grown, so too has concern about the amount of power they consume. Data centers, for example, are limited in scalability as they struggle with soaring energy costs from many large companies relying on fast, reliable, and round-the-clock computing services. On large-scale computing clusters, like data centers, even a small drop in power consumption can have large effects. Across computing contexts, reducing power consumed by computers has become a major focus. In this paper, we present a new approach for mapping software design to power consumption and present empirical results of the approach on different software implementations. In particular, we compare the power profiles of software using design patterns against software not using design patterns as a way to explore how high-level design decisions affect an application's energy usage. We show how mappings between software design and power consumption profiles can provide software designers and developers with useful information about the power behavior of the software they are developing. The goal is for software engineers to use this information in designing and developing more energy efficient solutions.},
keywords={computer centres;energy consumption;power aware computing;software engineering;data centers;design pattern energy usage;energy costs;high-level design decisions;large-scale computing clusters;power behavior;power consumption;round-the-clock computing services;software design mapping;Computers;Energy measurement;Monitoring;Power demand;Power measurement;Production facilities;Software;Design patterns;Energy use;Software design},
doi={10.1109/GREENS.2012.6224257},
month=jun
}

@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}}

@inproceedings{Saie15a,
  title={Mining multi-level api usage patterns},
  author={Saied, Mohamed Aymen and Benomar, Omar and Abdeen, Hani and Sahraoui, Houari},
  booktitle={Software Analysis, Evolution and Reengineering (SANER), 2015 IEEE 22nd International Conference on},
  pages={23--32},
  year={2015},
  organization={IEEE}
}

@inproceedings{Sain14a,
  title={A dataset for maven artifacts and bug patterns found in them},
  author={Saini, Vaibhav and Sajnani, Hitesh and Ossher, Joel and Lopes, Cristina V},
  booktitle={Proceedings of the 11th Working Conference on Mining Software Repositories},
  pages={416--419},
  year={2014},
  organization={ACM}
}

@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}}

@article{Sala20a,
  title={Heterogeneous megamodel management using collection operators},
  author={Salay, Rick and Kokaly, Sahar and Di Sandro, Alessio and Fung, Nick LS and Chechik, Marsha},
  journal={Software and Systems Modeling},
  volume={19},
  number={1},
  pages={231--260},
  year={2020},
  publisher={Springer},
  doi={10.1007/s10270-019-00738-9},
  url={https://link.springer.com/content/pdf/10.1007/s10270-019-00738-9.pdf},
  keywords = {megamodels}
}

@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}}

@article{Salm17a,
  title={Identification multi-level frequent usage patterns from APIs},
  author={Salman, Hamzeh Eyal},
  journal={Journal of Systems and Software},
  volume={130},
  pages={42--56},
  year={2017},
  publisher={Elsevier}
}

@article{Salo89a,
 	author = {Salomon, D. J. and Cormack, G. V.},
 	title = {Corrections to the Paper: Scannerless {NSLR(1)} Parsing of Programming 	Languages},
 	journal = {SIGPLAN Not.},
 	issue_date = {Nov. 1989},
 	volume = {24},
 	number = {11},
 	month = {nov},
 	year = {1989},
 	issn = {0362-1340},
 	pages = {80--83},
 	numpages = {4},
 	url = {http://doi.acm.org/10.1145/71605.71609},
 	doi = {10.1145/71605.71609},
 	acmid = {71609},
 	publisher = {ACM},
 	address = {New York, NY, USA}
}

@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}}

@inproceedings{Salv10a,
	Acmid = {1753340},
	Address = {New York, NY, USA},
	Author = {Salvucci, Dario D. and Bogunovich, Peter},
	Booktitle = {Proceedings of the 28th international conference on Human factors in computing systems},
	Doi = {10.1145/1753326.1753340},
	Isbn = {978-1-60558-929-9},
	Keywords = {attention, chat, instant messaging, interruption, multitasking, problem state},
	Location = {Atlanta, Georgia, USA},
	Numpages = {4},
	Pages = {85--88},
	Publisher = {ACM},
	Series = {CHI '10},
	Title = {Multitasking and monotasking: the effects of mental workload on deferred task interruptions},
	Url = {http://doi.acm.org/10.1145/1753326.1753340},
	Year = {2010},
	Bdsk-Url-1 = {http://doi.acm.org/10.1145/1753326.1753340},
	Bdsk-Url-2 = {http://dx.doi.org/10.1145/1753326.1753340}}

@article{Salv12a,
	Acmid = {2222313},
	Address = {New York, NY, USA},
	Author = {Salvaneschi, Guido and Ghezzi, Carlo and Pradella, Matteo},
	Date-Added = {2013-05-03 10:23:55 +0000},
	Date-Modified = {2013-05-03 11:19:29 +0000},
	Doi = {10.1016/j.jss.2012.03.024},
	Issn = {0164-1212},
	Issue_Date = {August, 2012},
	Journal = {J. Syst. Softw.},
	Keywords = {context-oriented; survey},
	Month = aug,
	Number = {8},
	Numpages = {17},
	Pages = {1801--1817},
	Publisher = {Elsevier Science Inc.},
	Title = {Context-oriented programming: A software engineering perspective},
	Url = {http://dx.doi.org/10.1016/j.jss.2012.03.024},
	Volume = {85},
	Year = {2012},
	Bdsk-Url-1 = {http://dx.doi.org/10.1016/j.jss.2012.03.024}}

@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,
	Author = {Jean Sammet},
	Publisher = {Prentice Hall},
	Title = {Programming Languages: History and Fundamentals},
	Year = {1969}}

@article{Samm72a,
  title={Programming languages: history and future},
  author={Sammet, Jean E},
  journal={Communications of the ACM},
  volume={15},
  number={7},
  pages={601--610},
  year={1972},
  publisher={ACM}
}

@article{Samm91a,
  title={Some approaches to, and illustrations of, programming language history},
  author={Sammet, Jean E},
  journal={Annals of the History of Computing},
  volume={13},
  number={1},
  pages={33--50},
  year={1991},
  publisher={IEEE}
}

@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}}

@misc{Sand96b,
  title={Layout of compound directed graphs},
  author={Sander, Georg},
  year={1996},
  doi={10.22028/D291-25806},
  url={https://publikationen.sulb.uni-saarland.de/bitstream/20.500.11880/25862/1/tr-A03-96.pdf},
  keywords={hypergraphs, compound graphs}
}

@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{Sand12a,
	Acmid = {2307198},
	Address = {New York, NY, USA},
	Articleno = {2},
	Author = {Sandoval, Juan Pablo and Bergel, Alexandre},
	Booktitle = {Proceedings of the 6th Workshop on Dynamic Languages and Applications},
	Doi = {10.1145/2307196.2307198},
	Isbn = {978-1-4503-1507-4},
	Location = {Beijing, China},
	Numpages = {3},
	Pages = {2:1--2:3},
	Publisher = {ACM},
	Series = {DYLA '12},
	Title = {Debugging performance failures},
	Url = {http://doi.acm.org/10.1145/2307196.2307198},
	Year = {2012},
	Bdsk-Url-1 = {http://doi.acm.org/10.1145/2307196.2307198},
	Bdsk-Url-2 = {http://dx.doi.org/10.1145/2307196.2307198}}

@inproceedings{Sand13a,
author={Juan-Pablo Sandoval Alcocer and Alexandre Bergel and St\'ephane Ducasse and Marcus Denker},
booktitle={2013 First IEEE Working Conference on Software Visualization (VISSOFT)},
title={Performance evolution blueprint: Understanding the impact of software evolution on performance},
year={2013},
pages={1-9},
keywords={software performance evaluation;software evolution;performance drop;performance improvement;JProfiler;YourKit;recognized code profilers;visual representations;performance variation root;performance evolution blueprint;Rizel;code profiler;software revisions;Context;Software;Benchmark testing;Measurement;Visualization;Color;Shape;visualization;profiling;software evolution;software execution},
doi={10.1109/VISSOFT.2013.6650523},
month=sep
}

@inproceedings{Sand16a,
 author = {Sandoval Alcocer, Juan Pablo and Bergel, Alexandre and Valente, Marco Tulio},
 title = {Learning from Source Code History to Identify Performance Failures},
 booktitle = {Proceedings of the 7th ACM/SPEC on International Conference on Performance Engineering},
 series = {ICPE '16},
 year = {2016},
 isbn = {978-1-4503-4080-9},
 location = {Delft, The Netherlands},
 pages = {37--48},
 numpages = {12},
 url = {http://doi.acm.org/10.1145/2851553.2851571},
 doi = {10.1145/2851553.2851571},
 acmid = {2851571},
 publisher = {ACM},
 address = {New York, NY, USA},
 keywords = {performance analysis, performance evolution, performance variation}
}

@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,
	Address = {Berlin, Heidelberg},
	Author = {Sanen, Frans and Mehner, Katharina and Chitchyan, Ruzanna and Bergmans, Lodewijk and Fabry, Johan and S{\"u}dholt, Mario},
	Booktitle = {ECOOP Workshops},
	Editor = {Patrick Eugster},
	Keywords = {damiencbib},
	Pages = {51-62},
	Publisher = {Springer},
	Series = {LNCS},
	Title = {Aspects, Dependencies and Interactions},
	Volume = {5475},
	Year = {2008}}

@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{Sari13a,
 author = {Sarimbekov, Aibek and Sewe, Andreas and Kell, Stephen and Zheng, Yudi and Binder, Walter and Bulej, Lubom\'{\i}r and Ansaloni, Danilo},
 title = {A Comprehensive Toolchain for Workload Characterization Across JVM Languages},
 booktitle = {Proceedings of the 11th ACM SIGPLAN-SIGSOFT Workshop on Program Analysis for Software Tools and Engineering},
 series = {PASTE '13},
 year = {2013},
 isbn = {978-1-4503-2128-0},
 location = {Seattle, Washington},
 pages = {9--16},
 numpages = {8},
 url = {http://doi.acm.org/10.1145/2462029.2462033},
 doi = {10.1145/2462029.2462033},
 acmid = {2462033},
 publisher = {ACM},
 address = {New York, NY, USA},
 keywords = {bytecode instrumentation, dynamic metrics, dynamic program analysis, workload characterization}
}

@inproceedings{Sari13b,
 author = {Sarimbekov, Aibek and Podzimek, Andrej and Bulej, Lubomir and Zheng, Yudi and Ricci, Nathan and Binder, Walter},
 title = {Characteristics of Dynamic JVM Languages},
 booktitle = {Proceedings of the 7th ACM Workshop on Virtual Machines and Intermediate Languages},
 series = {VMIL '13},
 year = {2013},
 isbn = {978-1-4503-2601-8},
 location = {Indianapolis, Indiana, USA},
 pages = {11--20},
 numpages = {10},
 url = {http://doi.acm.org/10.1145/2542142.2542144},
 doi = {10.1145/2542142.2542144},
 acmid = {2542144},
 publisher = {ACM},
 address = {New York, NY, USA},
 keywords = {clojure, dynamic metrics, java, jruby, jython, workload characterization}
}

@article{Sari14a,
title = {Dynamic program analysis-Reconciling developer productivity and tool performance },
journal = {Science of Computer Programming },
volume = {95, Part 3},
number = {0},
pages = {344 - 358},
year = {2014},
note = {Special Section: \{ACM\} SAC-SVT 2013 + Bytecode 2013 },
issn = {0167-6423},
doi = {0.1016/j.scico.2014.03.014},
url = {http://www.sciencedirect.com/science/article/pii/S0167642314001543},
author = {Aibek Sarimbekov and Yudi Zheng and Danilo Ansaloni and Lubom\'ir Bulej and Luk\'as Marek and Walter Binder and Petr Tuma and Zhengwei Qi},
keywords = {Dynamic program analysis},
keywords = {Bytecode instrumentation},
keywords = {Development productivity},
keywords = {Controlled experiment },
abstract = {Abstract Dynamic program analysis tools serve many important software engineering tasks such as profiling, debugging, testing, program comprehension, and reverse engineering. Many dynamic analysis tools rely on program instrumentation and are implemented using low-level instrumentation libraries, resulting in tedious and error-prone tool development. Targeting this issue, we have created the Domain-Specific Language for Instrumentation (DiSL), which offers high-level programming abstractions especially designed for instrumentation-based dynamic analysis. When designing DiSL, our goal was to boost the productivity of tool developers targeting the Java Virtual Machine, without impairing the performance of the resulting tools. In this paper we assess whether DiSL meets this goal. First, we perform a controlled experiment to measure tool development time and correctness of the developed tools, comparing DiSL with a prevailing, state-of-the-art instrumentation library. Second, we recast 10 open-source software engineering tools in DiSL and compare source code metrics and performance with the original implementations. Our studies show that DiSL significantly improves developer productivity, enables concise tool implementations, and does not have any negative impact on tool performance.}
}

@article {Sari16a,
author = {Sarimbekov, Aibek and Stadler, Lukas and Bulej, Lubom\'ir and Sewe, Andreas and Podzimek, Andrej and Zheng, Yudi and Binder, Walter},
title = {Workload characterization of JVM languages},
journal = {Software: Practice and Experience},
volume = {46},
number = {8},
issn = {1097-024X},
url = {http://dx.doi.org/10.1002/spe.2337},
doi = {10.1002/spe.2337},
pages = {1053--1089},
keywords = {workload characterization, dynamic metrics, JVM languages, dynamic program analysis},
year = {2016},
note = {spe.2337}
}

@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}}

@inproceedings{Sarm06a,
	Author = {Anita Sarma and Andre van der Hoek},
	Booktitle = {Global Software Engineering, 2006. ICGSE '06. International Conference on},
	Doi = {10.1109/ICGSE.2006.261225},
	Keywords = {global software development;inter-team development;shared artifacts management;software integration problem;software development management;team working;},
	Month = {oct},
	Pages = {127 -131},
	Title = {Towards Awareness in the Large},
	Year = {2006},
	Bdsk-Url-1 = {http://dx.doi.org/10.1109/ICGSE.2006.261225}}

@inproceedings{Sarr12a,
  title={A further analysis on the use of genetic algorithm to configure support vector machines for inter-release fault prediction},
  author={Sarro, Federica and Di Martino, Sergio and Ferrucci, Filomena and Gravino, Carmine},
  booktitle={Proceedings of the 27th annual ACM symposium on applied computing},
  pages={1215--1220},
  year={2012},
  organization={ACM}
}

@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{Sart10a,
	Acmid = {1806649},
	Address = {New York, NY, USA},
	Author = {Sartor, Jennifer B. and Blackburn, Stephen M. and Frampton, Daniel and Hirzel, Martin and McKinley, Kathryn S.},
	Booktitle = {Proceedings of the 2010 ACM SIGPLAN Conference on Programming Language Design and Implementation},
	Doi = {10.1145/1806596.1806649},
	Isbn = {978-1-4503-0019-3},
	Keywords = {arraylets, arrays, compression, heap, z-rays},
	Location = {Toronto, Ontario, Canada},
	Numpages = {12},
	Pages = {471--482},
	Publisher = {ACM},
	Series = {PLDI '10},
	Title = {Z-rays: Divide Arrays and Conquer Speed and Flexibility},
	Url = {http://doi.acm.org/10.1145/1806596.1806649},
	Year = {2010},
	Bdsk-Url-1 = {http://doi.acm.org/10.1145/1806596.1806649},
	Bdsk-Url-2 = {http://dx.doi.org/10.1145/1806596.1806649}}

@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}}

@inproceedings{Sava10a,
author={Savage, T. and Revelle, M. and Poshyvanyk, D.},
booktitle={Software Engineering, 2010 ACM/IEEE 32nd International Conference on},
title={FLAT3: feature location and textual tracing tool},
year={2010},
volume={2},
pages={255-258},
doi={10.1145/1810295.1810345},
ISSN={0270-5257},
month=may}

@inproceedings{Savi11a,
 author = {Savidis, Anthony and Koutsopoulos, Nikos},
 title = {Interactive Object Graphs for Debuggers with Improved Visualization, Inspection and Configuration Features},
 booktitle = {Proceedings of the 7th International Conference on Advances in Visual Computing - Volume Part I},
 series = {ISVC'11},
 year = {2011},
 isbn = {978-3-642-24027-0},
 location = {Las Vegas, NV},
 pages = {259--268},
 numpages = {10},
 url = {http://dl.acm.org/citation.cfm?id=2045110.2045139},
 acmid = {2045139},
 publisher = {Springer-Verlag},
 address = {Berlin, Heidelberg},
 keywords = {Debugger user-interfaces, graph navigation, graph visualization, interactive object graphs}
}

@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{Sawa11a,
 author = {Sawadsky, Nicholas and Murphy, Gail C.},
 title = {Fishtail: From Task Context to Source Code Examples},
 booktitle = {Proceedings of the 1st Workshop on Developing Tools As Plug-ins},
 series = {TOPI '11},
 year = {2011},
 isbn = {978-1-4503-0599-0},
 location = {Waikiki, Honolulu, HI, USA},
 pages = {48--51},
 numpages = {4},
 url = {http://doi.acm.org/10.1145/1984708.1984722},
 doi = {10.1145/1984708.1984722},
 acmid = {1984722},
 publisher = {ACM},
 address = {New York, NY, USA},
 keywords = {degree-of-interest, development environment, example-centric development, interaction history, program views}
}

@inproceedings{Sawa13a,
 author = {Sawadsky, Nicholas and Murphy, Gail C. and Jiresal, Rahul},
 title = {Reverb: Recommending Code-related Web Pages},
 booktitle = {Proceedings of the 2013 International Conference on Software Engineering},
 series = {ICSE '13},
 year = {2013},
 isbn = {978-1-4673-3076-3},
 location = {San Francisco, CA, USA},
 pages = {812--821},
 numpages = {10},
 url = {http://dl.acm.org/citation.cfm?id=2486788.2486895},
 acmid = {2486895},
 publisher = {IEEE Press},
 address = {Piscataway, NJ, USA}
}

@inproceedings{Sawa15a,
  title={A dataset for {API} usage},
  author={Sawant, Anand Ashok and Bacchelli, Alberto},
  booktitle={Proceedings of the 12th Working Conference on Mining Software Repositories},
  pages={506--509},
  year={2015},
  organization={IEEE Press}
}

@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}}

@article{Scaf06a,
	Acmid = {1144363},
	Address = {New York, NY, USA},
	Author = {Scaffidi, Christopher},
	Doi = {10.1145/1144359.1144363},
	Issn = {1528-4972},
	Issue_Date = {August 2006},
	Journal = {Crossroads},
	Month = aug,
	Number = {4},
	Numpages = {1},
	Pages = {4--4},
	Publisher = {ACM},
	Title = {Why Are {APIs} Difficult to Learn and Use?},
	Url = {http://doi.acm.org/10.1145/1144359.1144363},
	Volume = {12},
	Year = {2006},
	Bdsk-Url-1 = {http://doi.acm.org/10.1145/1144359.1144363},
	Bdsk-Url-2 = {http://dx.doi.org/10.1145/1144359.1144363}}

@misc{Scaf10a,
    author = {Chris Scaffidi and Scott Fleming and David Piorkowski and Margaret Burnett and Rachel Bellamy and Joseph Lawrance},
    title = {Unifying Software Engineering Methods and Tools: Principles and Patterns from Information Foraging},
    year = {2010}
}

@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}}

@inproceedings{Scal16a,
  title={Improving Code Readability Models with Textual Features},
  author={Scalabrino, Simone and Linares-Vasquez, Mario and Poshyvanyk, Denys and Oliveto, Rocco},
  booktitle={2016 IEEE 24th International Conference on Program Comprehension (ICPC)},
  pages={1--10},
  year={2016},
  keywords =  {comment-quality-slr},
  organization={IEEE}
}

@inproceedings{Scal17a,
  author    = {Simone Scalabrino and
               Gabriele Bavota and
               Christopher Vendome and
               Mario Linares V{\'{a}}squez and
               Denys Poshyvanyk and
               Rocco Oliveto},
  editor    = {Grigore Rosu and
               Massimiliano Di Penta and
               Tien N. Nguyen},
  title     = {Automatically assessing code understandability: how far are we?},
  booktitle = {Proceedings of the 32nd {IEEE/ACM} International Conference on Automated
               Software Engineering, {ASE} 2017, Urbana, IL, USA, October 30 - November
               03, 2017},
  pages     = {417--427},
  publisher = {{IEEE} Computer Society},
  year      = {2017},
  url       = {https://doi.org/10.1109/ASE.2017.8115654},
  doi       = {10.1109/ASE.2017.8115654},
  Keywords =  {comment-quality-slr},
  timestamp = {Sat, 05 Sep 2020 18:05:12 +0200},
  biburl    = {https://dblp.org/rec/conf/kbse/ScalabrinoBVVPO17.bib},
  bibsource = {dblp computer science bibliography, https://dblp.org}
}

@article{Scal18a,
  title={A comprehensive model for code readability},
  author={Scalabrino, Simone and Linares-V{\'a}squez, Mario and Oliveto, Rocco and Poshyvanyk, Denys},
  journal={Journal of Software: Evolution and Process},
  volume={30},
  number={6},
  pages={e1958},
  year={2018},
  keywords =  {comment-quality-slr},
  publisher={Wiley Online Library}
}

@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/}}

@book{Scar11a,
  author           = {Scarpino, Matthew},
  publisher     = {Manning},
  month            = nov,
  title            = {OpenCL in Action},
  year             = {2011},
  keywords       = {GPU parallelism OpenCL Computing},
  isbn             = {9781617290176}
}

@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 scg-none 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 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 scg-none 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 scg-none 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 scg-none 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 scg-none 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.},
	Acceptnum = {18},
	Accepttotal = {88},
	Address = {Berlin Heidelberg},
	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 scg-none jb03 scg-traits stefPub schaerli onhindex(297)},
	Location = {Darmstadt, Germany},
	Misc = {acceptance rate: 18/88 = 20\%},
	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 scg-none 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.},
	Acceptnum = {25},
	Accepttotal = {132},
	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 scg-none jb04 scg-traits stefPub schaerli},
	Misc = {acceptance rate: 25/132 = 19\%},
	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.},
	Acceptnum = {27},
	Accepttotal = {174},
	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 scg-none jb03 scg-traits stefPub schaerli},
	Misc = {acceptance rate: 27/174 = 16\%},
	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 scg-none 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 = {skip-doi snf05 scg-none 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}}

@article{Scha06a,
 author = {Schafer, Thorsten and Eichberg, Michael and Haupt, Michael and Mezini, Mira},
 title = {The {SEXTANT} Software Exploration Tool},
 journal = {IEEE Trans. Softw. Eng.},
 issue_date = {September 2006},
 volume = {32},
 number = {9},
 month = sep,
 year = {2006},
 issn = {0098-5589},
 pages = {753--768},
 numpages = {16},
 url = {http://dx.doi.org/10.1109/TSE.2006.94},
 doi = {10.1109/TSE.2006.94},
 acmid = {1248768},
 publisher = {IEEE Press},
 address = {Piscataway, NJ, USA},
 keywords = {Software exploration, Software exploration, program comprehension, reverse engineering, software maintenance, software visualization., program comprehension, reverse engineering, software maintenance, software visualization.}
}

@article{Scha07a,
	Author = {Schaeffer, Satu E.},
	Doi = {10.1016/j.cosrev.2007.05.001},
	Issn = {15740137},
	Journal = {Computer Science Review},
	Month = aug,
	Number = {1},
	Pages = {27--64},
	Title = {Graph clustering},
	Volume = {1},
	Year = {2007},
	Bdsk-Url-1 = {http://dx.doi.org/10.1016/j.cosrev.2007.05.001}}

@inproceedings{Scha08a,
	Abstract = {Framework evolution may break existing users, which need to be migrated to the new framework version. This is a tedious and error-prone process that benefits from automation. Existing approaches compare two versions of the framework code in order to find changes caused by refactorings. However, other kinds of changes exist, which are relevant for the migration. In this paper, we propose to mine framework usage change rules from already ported instantiations, the latter being applications build on top of the framework, or test cases maintained by the framework developers. Our evaluation shows that our approach finds usage changes not only caused by refactorings, but also by conceptual changes within the framework. Further, it copes well with some issues that plague tools focusing on finding refactorings such as deprecated program elements or multiple changes applied to a single program element},
	Acmid = {1368153},
	Address = {New York, NY, USA},
	Annote = {internationalconference},
	Author = {Sch\"{a}fer, Thorsten and Jonas, Jan and Mezini, Mira},
	Booktitle = {Proceedings of the 30th international conference on Software engineering},
	Doi = {10.1145/1368088.1368153},
	Isbn = {978-1-60558-079-1},
	Keywords = {sde-ecosystems, evolution, framework comprehension, migration},
	Location = {Leipzig, Germany},
	Numpages = {10},
	Pages = {471--480},
	Peerreview = {yes},
	Publisher = {ACM},
	Series = {ICSE '08},
	Title = {Mining framework usage changes from instantiation code},
	Year = {2008},
	Bdsk-Url-1 = {http://dx.doi.org/10.1145/1368088.1368153}}

@article{Scha12a,
	Address = {Los Alamitos, CA, USA},
	Author = {Max Schafer and Andreas Thies and Friedrich Steimann and Frank Tip},
	Doi = {10.1109/TSE.2012.13},
	Issn = {0098-5589},
	Journal = {IEEE Transactions on Software Engineering},
	Number = {6},
	Pages = {1233-1257},
	Publisher = {IEEE Computer Society},
	Title = {A Comprehensive Approach to Naming and Accessibility in Refactoring Java Programs},
	Volume = {38},
	Year = {2012},
	Bdsk-Url-1 = {http://dx.doi.org/10.1109/TSE.2012.13}}

@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 scg-none 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}}

@inproceedings{Sche13a,
	Annote = {internationalworkshop},
	Abstract = {By analyzing the transactions in Stack Overflow we can get a glimpse of the way in which the different geographical regions in the world contribute to the knowledge market represented by the website. In this paper we aggregate the knowledge transfer from the level of the users to the level of geographical regions and learn that Europe and North America are the principal and virtually equal contributors; Asia comes as a distant third, mainly represented by India; and Oceania contributes less than Asia but more than South America and Africa together.},
	Author = {Schenk, Dennis and Lungu, Mircea},
	Booktitle = {Proceedings of the 5th International Workshop on Social Software Engineering},
	Keywords = {StackOverflow scg-pub snf-asa1 scg13 lungu skip-doi jb14},
	Medium = {2},
	Pages = {21--24},
	Peerreview = {yes},
	Title = {Geo-Locating the Knowledge Transfer in StackOverflow},
	Url = {http://scg.unibe.ch/archive/papers/Sche13a-GeolocatingStackOverflow.pdf},
	Year = {2013},
	Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Sche13a-GeolocatingStackOverflow.pdf}}

@mastersthesis{Sche14a,
	Abstract = {Software analysis is an advanced field of study in computer science.
		It deals with large and complex datasets and has found the
		abstractions, concepts and techniques to deal with the challenges
		such data sets present. We see the fields of reverse engineering,
		architecture recovery and related visualization techniques as an
		ideal starting point to enable exploration of a wider range of data
		sets, not just the ones pertaining to software. We motivate and
		derive a model for a generic kind of data: data that contains
		entities that are ordered in a hierarchical way and connected through
		arbitrary relationships. Based on this model we propose a framework
		which enables exploration and analysis of data that has the mentioned
		characteristics naturally or to which such characteristics can be
		introduced. We present a proof-of- concept implementation of such a
		framework called Quicksilver and validate our approach by presenting
		two case studies made possible by using the tool.
		},
	Author = {Dennis Schenk},
	Keywords = {scg-msc snf-asa1 scg14 jb15 moose-pub},
	Month = sep,
	School = {University of Bern},
	Title = {Quicksilver --- A Framework for Hierarchical Data Analysis},
	Type = {Masters thesis},
	Url = {http://scg.unibe.ch/archive/masters/Sche14a.pdf},
	Year = {2014}}

@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 scg-none 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 skip-doi scg-none 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,
	Address = {Munich, Germany},
	Author = {Schlegel, Christian and Ha\ss{}ler, Thomas and Lotz, Alex and Steck, Andreas},
	Booktitle = {ICAR'09: Proceedings of the 14th International Conference on Advanced Robotics},
	Keywords = {robotics smartsoft mdd mde},
	Month = jun,
	Pages = {1--8},
	Title = {Robotic Software Systems: From Code-Driven to Model-Driven Designs},
	Year = {2009}}

@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,
	Address = {Karlsruhe, Germany},
	Author = {Schmidt, Albrecht and Aidoo, Kofi Asante and Takaluoma, Antti and Tuomela, Urpo and Laerhoven, Kristof Van and Velde, Walter Van de},
	Booktitle = {HUC'99: Proceedings of the 1st International Symposium on Handheld and Ubiquitous Computing},
	Keywords = {damiencbib},
	Pages = {89--101},
	Publisher = {Springer-Verlag},
	Title = {Advanced Interaction in Context},
	Year = {1999}}

@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,
	Address = {Portland, OR, USA},
	Author = {Schmidt, Douglas C. and Buschmann, Frank},
	Booktitle = {ICSE'03: Proceedings of the 25th International Conference on Software Engineering},
	Doi = {10.1109/ICSE.2003.1201256},
	Issn = {0270-5257},
	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;},
	Month = may,
	Pages = {694--704},
	Title = {Patterns, frameworks, and middleware: their synergistic relationships},
	Year = {2003},
	Bdsk-Url-1 = {http://dx.doi.org/10.1109/ICSE.2003.1201256}}

@article{Schm06a,
	Address = {Los Alamitos, CA, USA},
	Author = {Schmidt, Douglas C.},
	Doi = {10.1109/MC.2006.58},
	Issn = {0018-9162},
	Journal = {Computer},
	Keywords = {damiencbib mde mda dsl},
	Number = {2},
	Pages = {25-31},
	Publisher = {IEEE Computer Society},
	Title = {Guest Editor's Introduction: Model-Driven Engineering},
	Url = {http://www.cs.wustl.edu/~schmidt/PDF/GEI.pdf},
	Volume = {39},
	Year = {2006},
	Bdsk-Url-1 = {http://www.cs.wustl.edu/~schmidt/PDF/GEI.pdf},
	Bdsk-Url-2 = {http://dx.doi.org/10.1109/MC.2006.58}}

@inproceedings{Schm06b,
	Address = {New York, NY, USA},
	Author = {Schmidt, Albrecht and Terrenghi, Lucia},
	Booktitle = {SAC'06: Proceedings of the 21th Symposium on Applied Computing},
	Doi = {10.1145/1141277.1141733},
	Keywords = {damiencbib},
	Pages = {1928--1929},
	Publisher = {ACM},
	Title = {Methods and guidelines for the design and development of domestic ubiquitous computing applications},
	Year = {2006},
	Bdsk-Url-1 = {http://dx.doi.org/10.1145/1141277.1141733}}

@misc{Schm08a,
	Author = {Schmidt, David},
	Key = {Schm08a},
	Title = {Software Architecture, an informal introduction},
	Url = {http://www.cis.ksu.edu/santos/schmidt/EJCP/talk08.pdf},
	Year = {2008},
	Bdsk-Url-1 = {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 scg-none 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 scg-none 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 = {skip-doi scg-phd pil olit pi glue piccola snf99 scg-coord-99 scg-none 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 scg-none 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 scg-none 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 scg-none 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{Schn13a,
	title = {Just model!---Putting automatic synthesis of node-link-diagrams into practice},
	author = {Schneider, Christian and Sponemann, M and von Hanxleden, Reinhard},
	booktitle = {Visual Languages and Human-Centric Computing (VL/HCC), 2013 IEEE Symposium on},
	pages = {75--82},
	year = {2013},
	organization = {IEEE}}

@inproceedings{Schn16a,
	Author    = {Teseo Schneider and Yuriy Tymchuk and Ronie Salgado and Alexandre Bergel},
	Title     = {{CuboidMatrix}: Exploring Dynamic Structural Connections in Software Components using Space-Time Cube},
	Booktitle = {{VISSOFT}'16: Proceedings of the 4th IEEE Working Conference on Software Visualization},
	Abstract  = {Static and dynamic evolution of software systems may be described in terms of connection additions and removals in a graph.
Due to the inherent complexity of software, navigating through such a dynamic network is a non-trivial task and extracting relevant information typically involves sophisticated queries.
We explore the notion of space-time cube, a well-known 3D representation of an evolving dynamic graph, to support a set of software engineering activities. CuboidMatrix is a visualization tool that offers simple and expressive navigation operations. We have evaluated our tool against two software comprehension activities, namely (i) assessing interaction of classes during a software execution and (ii) exploring the cause of breaking Lint-like quality rules over a large number of software revisions.},
	Annote 	  = {internationalconference},
	Publisher = {IEEE},
	PeerReview = {yes},
	Medium    = {2},
	Keywords  = {scg-pub snf-asa2 scg16 jb16 tymchuk},
	Year      = {2016},
	Url       = {http://scg.unibe.ch/archive/papers/Schn16a.pdf},
	DOI       = {10.1109/VISSOFT.2016.17},
	pages     = {116--125}
}

@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{Scho20a,
	Title = {Automatically Retrofitting Cordova Applications for Stricter Content Security Policies},
	Author = {Basil Sch\"oni},
	Abstract = {Content Security Policy (CSP), a feature present in Android's
		WebView for many years, has the potential to protect against most
		types of code injection attacks. However, adoption rates are low and
		existing policies often apply weak restrictions. We investigate
		attack methods against WebView and how CSP can prevent them. We
		found that there is a wide variety of injection vectors, ranging
		from external sources like NFC communications to internal ones like
		Android's inter-app communication. The impacts include breaches of
		privacy, credential stealing and further spreading of malicious
		code. CSP mitigates such attacks by blocking various classes of code
		execution, loading external data, exfiltration of data, UI
		manipulation and insecure connections. We propose a tool that
		generates such CSP definitions for pre-existing, real-world Cordova
		apps. To improve the strictness of these CSP definitions, our tool
		attempts to rewrite all Javascript APIs that are restricted by CSP.
		We evaluated the tool using a large data set and found that we can
		avoid the "script-src unsafe-inline" definition in 84.28% and the
		"style-src unsafe-inline" definition in 25.88% of cases. Conversely,
		for the "script-src unsafe-eval" definition, no application could
		benefit from our rewriting and for "style-src unsafe-eval",
		loosening strictness could only be avoided for 2.89% of
		applications. From this we conclude that while our approach provides
		significant benefits with respect to the "unsafe-inline" keywords,
		it is mostly ineffective in rewriting to avoid the "unsafe-eval"
		keywords. We identified six patterns which limit either the
		strictness or the non-breaking behavior of our generated policies
		and two use cases which make the static generation of non-breaking
		policies completely impossible. We conclude that any static
		rewriting of Javascript APIs should apply in-depth flow analysis and
		be able to deal with special syntaxes introduced by the most common
		UI frameworks. Approaches like ours that do not apply these measures
		may work well for smaller applications, but will cause breaking for
		more complex ones.},
	Institution = {University of Bern},
	Keywords = {scg-bp snf-asa3 scg20 jb20},
	Type = {Bachelor's thesis},
	Url = {http://scg.unibe.ch/archive/projects/Scho20a.pdf},
	Month = feb,
	Year = {2020}
}

@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{Schr06a,
	Acmid = {1159739},
	Address = {New York, NY, USA},
	Author = {Schr\"{o}ter, Adrian and Zimmermann, Thomas and Zeller, Andreas},
	Booktitle = {Proceedings of the 2006 ACM/IEEE International Symposium on Empirical Software Engineering},
	Doi = {10.1145/1159733.1159739},
	Isbn = {1-59593-218-6},
	Location = {Rio de Janeiro, Brazil},
	Numpages = {10},
	Pages = {18--27},
	Publisher = {ACM},
	Series = {ISESE '06},
	Title = {Predicting Component Failures at Design Time},
	Url = {http://doi.acm.org/10.1145/1159733.1159739},
	Year = {2006},
	Bdsk-Url-1 = {http://doi.acm.org/10.1145/1159733.1159739},
	Bdsk-Url-2 = {http://dx.doi.org/10.1145/1159733.1159739}}

@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}}

@article{Schu03b,
	Author = {Sch{\"u}tze, Martina and Sachse, Pierre and R{\"o}mer, Anne},
	Journal = {Research in Engineering Design},
	Number = {2},
	Pages = {89--97},
	Title = {{Support value of sketching in the design process}},
	Volume = {14},
	Year = {2003}}

@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}}

@incollection{Schu12a,
	Abstract = {Nowadays, a slew of clone detection approaches exists, producing a lot of clone data. These data have to be analyzed manually or automatically. It is not trivial to derive conclusions or even actions from the analyzed data. In particular, we argue that it is often unclear how to present the clone information to the user. As a result, we present our idea of task-oriented clone presentation based on use cases. Hence, we propose five use cases that have to be addressed and suggest clone presentation techniques that we consider to be appropriate.},
	Author = {Sandro Schulze and Niko Schwarz},
	Booktitle = {Software Clone Management Towards Industrial Application (Dagstuhl Seminar 12071)},
	Editor = {Rainer Koschke and Ira D. Baxter and Michael Conradt and James R. Cordy},
	Issn = {2192-5283},
	Journal = {Dagstuhl Reports},
	Keywords = {skip-doi scg-bigdata scg-pub snf12 jb12 scg12},
	Medium = {2},
	Month = jun,
	Pages = {35--38},
	Peerreview = {yes},
	Publisher = {Schloss Dagstuhl--Leibniz-Zentrum fuer Informatik},
	Title = {How to Make the Hidden Visible --- Code Clone Presentation Revisited},
	Url = {http://scg.unibe.ch/archive/papers/Schu12a-clone-representation.pdf},
	Volume = {2},
	Year = {2012},
	Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Schu12a-clone-representation.pdf}}

@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}}

@article{Schw96a,
  title={Attempto-from specifications in controlled natural language towards executable specifications},
  author={Schwitter, Rolf and Fuchs, Norbert E},
  journal={arXiv preprint cmp-lg/9603004},
  year={1996}
}

@incollection{Schw97a,
	author = {Schwaber, Ken},
	booktitle = {Business Object Design and Implementation},
	doi = {10.1007/978-1-4471-0947-1_11},
	isbn = {9783540760962},
	issn = {10556400},
	pages = {117--134},
	title = {{SCRUM Development Process}},
	publisher = {Springer},
	year = {1997}
}

@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 scg-none 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 skip-doi scg-none 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,
	Author = {August Schwerdfeger and Eric Van Wyk},
	Booktitle = {Software Language Engineering},
	Doi = {10.1007/978-3-642-12107-4_15},
	Isbn = {978-3-642-12106-7},
	Keywords = {parsing},
	Pages = {184--203},
	Publisher = {Springer},
	Title = {Verifiable Parse Table Composition for Deterministic Parsing},
	Volume = {LNCS 5969},
	Year = {2010},
	Bdsk-Url-1 = {http://dx.doi.org/10.1007/978-3-642-12107-4_15}}

@inproceedings{Schw10b,
	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.},
	Address = {New York, NY, USA},
	Annote = {internationalworkshop},
	Author = {Niko Schwarz and Erwann Wernli and Adrian Kuhn},
	Booktitle = {IWSC '10: Proceedings of the 4th International Workshop on Software Clones},
	Date-Added = {2010-04-26 16:10:08 +0200},
	Date-Modified = {2010-04-26 16:12:27 +0200},
	Doi = {10.1145/1808901.1808915},
	Isbn = {978-1-60558-980-0},
	Keywords = {scg-pub scg10 snf10 jb10 nes, software clones, software evolution, software repositories, forking, position paper},
	Location = {Cape Town, South Africa},
	Medium = {1},
	Month = apr,
	Pages = {81--82},
	Peerreview = {yes},
	Publisher = {ACM},
	Title = {Hot Clones, Maintaining a Link Between Software Clones Across Repositories},
	Url = {http://scg.unibe.ch/archive/papers/Schw10b-hot-clones.pdf},
	Year = {2010},
	Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Schw10b-hot-clones.pdf},
	Bdsk-Url-2 = {http://dx.doi.org/10.1145/1808901.1808915}}

@article{Schw10c,
	Author = {Schwarz, H. and Ebert, J. and Winter, A.},
	Journal = {Software and Systems Modeling},
	Pages = {1--20},
	Publisher = {Springer},
	Title = {Graph-based traceability: a comprehensive approach},
	Year = {2010}}

@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},
	Doi = {10.1007/978-3-642-21952-8_20},
	Keywords = {scg1 scg-pub scg11 jb11 snf11 ercim11},
	Medium = {2},
	Pages = {276--289},
	Peerreview = {yes},
	Publisher = {Springer-Verlag},
	Series = {LNCS},
	Title = {Seuss: Cleaning up Class Responsibilities with Language-based Dependency Injection},
	Url = {http://scg.unibe.ch/archive/papers/Schw11aSeuss.pdf},
	Volume = {33},
	Year = {2011},
	Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Schw11aSeuss.pdf},
	Bdsk-Url-2 = {http://dx.doi.org/10.1007/978-3-642-21952-8_20}}

@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 = {internationalworkshop},
	Author = {Niko Schwarz},
	Booktitle = {Proceedings of the TOOLS 2011, 5th Workshop on Dynamic Languages and Applications (DYLA'11).},
	Keywords = {scg11 scg-pub nes snf11 jb11 skip-doi},
	Medium = {4},
	Peerreview = {yes},
	Title = {{DoodleDebug}, Objects Should Sketch Themselves For Code Understanding},
	Url = {http://scg.unibe.ch/archive/papers/Schw11bDoodleDebug.pdf},
	Year = {2011},
	Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Schw11bDoodleDebug.pdf}}

@inproceedings{Schw12a,
	Abstract = {Detecting code duplication in large code bases, or even across project boundaries, is problematic due to the massive amount of data involved. Large-scale clone detection also opens new challenges beyond asking for the provenance of a single clone fragment, such as assessing the prevalence of code clones on the entire code base, and their evolution.   We propose a set of lightweight techniques that may scale up to very large amounts of source code in the presence of multiple versions. The common idea behind these techniques is to use bad hashing to get a quick answer. We report on a case study, the Squeaksource ecosystem, which features thousands of software projects, with more than 40 million versions of methods, across more than seven years of evolution. We provide estimates for the prevalence of type-1, type-2, and type-3 clones in Squeaksource.},
	Address = {Piscataway, NJ, USA},
	Annote = {internationalconference},
	Author = {Schwarz, Niko and Lungu, Mircea and Robbes, Romain},
	Booktitle = {Proceedings of the 2012 International Conference on Software Engineering},
	Isbn = {978-1-4673-1067-3},
	Keywords = {scg-bigdata scg-pub snf12 jb12 scg12},
	Location = {Zurich, Switzerland},
	Medium = {2},
	Pages = {1289--1292},
	Peerreview = {yes},
	Priority = {2},
	Publisher = {IEEE Press},
	Series = {ICSE 2012},
	Title = {On how often code is cloned across repositories},
	Url = {http://scg.unibe.ch/archive/papers/Schw12a-scalable-clones.pdf},
	doi = {10.1109/ICSE.2012.6227097},
	Year = {2012},
	Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Schw12a-scalable-clones.pdf}}

@article{Schw12b,
	Abstract = {Unit testing is often made more difficult by the heavy use of classes as namespaces and the proliferation of static methods to encapsulate configuration code. We have analyzed the use of 120 static methods from 96 projects by categorizing them according to their responsibilities. We find that most static 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 static methods, complicates testing. By making dependency injection a feature of the programming language, we can get rid of static 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 creational design patterns such as Abstract Factory and simplifies configuration code, particularly for unit tests. We present benchmarks showing that Seuss introduces a 34 % additional memory cost, and runs at 53 % speed, without any optimizations.},
	Annote = {internationaljournal},
	Author = {Niko Schwarz and Mircea Lungu and Oscar Nierstrasz},
	Doi = {10.5381/jot.2012.11.1.a3},
	Journal = {Journal of Object Technology},
	Keywords = {scg-pub jb12 snf12 scg12},
	Medium = {1},
	Number = {1},
	Peerreview = {yes},
	Title = {Seuss: Decoupling responsibilities from static methods for fine-grained configurability},
	Url = {http://www.jot.fm/issues/issue_2012_04/article3.pdf},
	Volume = {11},
	Year = {2012},
	Bdsk-Url-1 = {http://www.jot.fm/issues/issue_2012_04/article3.pdf},
	Bdsk-Url-2 = {http://dx.doi.org/10.5381/jot.2012.11.1.a3}}

@inproceedings{Schw12c,
	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 continue 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 -S authors may be interested in the actual usage of their code snippets, and researchers could gather information on clone usage. We propose to maintain a link between software clones across repositories and outline how the links can be created and maintained.},
	Annote = {internationalconference},
	Author = {Schwarz, Niko},
	Booktitle = {2012 34th International Conference on Software Engineering (ICSE)},
	Doi = {10.1109/ICSE.2012.6227221},
	Isbn = {978-1-4673-1067-3},
	Keywords = {scg-bigdata scg-pub jb12 snf12 scg12},
	Location = {Zurich, Switzerland},
	Medium = {2},
	Month = jun,
	Pages = {1628--1629},
	Peerreview = {yes},
	Posted-At = {2012-07-28 15:07:10},
	Priority = {2},
	Publisher = {IEEE},
	Title = {Hot clones: Combining search-driven development, clone management, and code provenance},
	Url = {http://scg.unibe.ch/archive/papers/Schw12c-clones-provenance.pdf},
	Year = {2012},
	Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Schw12c-clones-provenance.pdf},
	Bdsk-Url-2 = {http://dx.doi.org/10.1109/ICSE.2012.6227221}}

@inproceedings{Schw12d,
	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 continue 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 to maintain a link between software clones across repositories and outline how the links can be created and maintained.},
	Address = {Los Alamitos, CA, USA},
	Annote = {internationalconference},
	Author = {Schwarz, Niko},
	Booktitle = {2012 16th European Conference on Software Maintenance and Reengineering},
	Doi = {10.1109/CSMR.2012.67},
	Isbn = {978-0-7695-4666-7},
	Issn = {1534-5351},
	Journal = {Software Maintenance and Reengineering, European Conference on},
	Keywords = {scg-bigdata scg-pub jb12 snf12 scg12},
	Location = {Szeged, Hungary},
	Medium = {2},
	Month = mar,
	Pages = {513--515},
	Peerreview = {yes},
	Posted-At = {2012-07-28 15:09:11},
	Priority = {2},
	Publisher = {IEEE},
	Title = {Hot Clones: A Shotgun Marriage of {Search-Driven} Development and Clone Management},
	Url = {http://dx.doi.org/10.1109/CSMR.2012.67},
	Volume = {0},
	Year = {2012},
	Bdsk-Url-1 = {http://dx.doi.org/10.1109/CSMR.2012.67}}

@techreport{Schw14a,
	Abstract = {Cells is a library that lets developers express chains of MapReduce
jobs, so that the same pipeline can be executed either in parallel
on one machine, or in a MapReduce cluster.
Cells is non-invasive in that code that uses Cells is in the style
of ordinary Java. It features no special looping
constructs.
In Cells, all objects are encoded into cells, a binary
format of row header, column header, and cell contents.
Just like Bigtable cells, there is an implicit grouping and ordering: cells with the same
row header are grouped into the same row, and within rows, cells are
sorted by their column headers. This simple idea is powerful enough
to express pipelines of MapReduce jobs without distinguishing between
map and reduce.
Furthermore, it lets us express computations without
distinguishing between reading from Bigtables, file directories,
or lists.
The resulting computational model is efficient, surpassing PLINQ
for non-distributed computations.},
	Author = {Niko Schwarz and Alexey Kolesnichenko and Oscar Nierstrasz},
	Institution = {University of Bern},
	Keywords = {scg-sub, skip-doi, skip-pdf scg-none jb-none},
	Month = jan,
	Note = {submitted for publication},
	Title = {Cells: Expressing Parallel Pipelines for Local and Cluster Execution},
	Type = {Report},
	Year = {2014}}

@techreport{Schw14b,
	Abstract = {We show a clone detector that can scale to all source code ever written, in all versions.
This is achieved by completely avoiding random reads from a central table, in other words
all mappers and all reducers use, as input, only a contiguous slice of their input tables.
Furthermore, we show the results of using our clone detector on 15,180 projects, all
downloadable Java projects listed on the public meta repository ``ohloh''.
On just three machines, we can finish clone detection across projects and versions in less than 20 hours.
Besides a scaleable clone detector, our libraries allow anyone to download massive amounts of source code,
store it space-efficiently and run cluster-style analysis on it, on commodity hardware.
We intuit a reasonable configuration for the work load we have, and then systematically test the individual settings for performance, to tweak the overall configuration.},
	Author = {Niko Schwarz and Aaron Karper and Oscar Nierstrasz},
	Institution = {University of Bern},
	Keywords = {scg-sub, skip-doi, skip-pdf scg-none jb-none},
	Month = jan,
	Note = {submitted for publication},
	Title = {Efficient regular expressions that produce parse trees},
	Type = {Report},
	Year = {2014}}

@phdthesis{Schw14c,
	Abstract = {Code clone detection helps connect developers across projects,
if we do it on a large scale. The cornerstones that allow clone detection to work on a large scale are: (1) bad hashing (2) lightweight parsing using regular expressions and (3) MapReduce pipelines.
Bad hashing means to determine whether or not two artifacts are similar by checking whether their hashes are identical. We show a bad hashing scheme that works well on source code.
Lightweight parsing using regular expressions is our technique of obtaining entire parse trees from
regular expressions, robustly and efficiently.
We detail the algorithm and implementation of one such regular expression engine.
MapReduce pipelines are a way of expressing a computation such that it can automatically and simply
be parallelized.
We detail the design and implementation of one such MapReduce pipeline that is efficient and debuggable.
We show a clone detector that combines these cornerstones to detect
code clones across all projects, across all versions of each project.},
	Author = {Niko Schwarz},
	Keywords = {scg-phd snf-asa1 scg14 jb14},
	Month = feb,
	School = {University of Bern},
	Title = {Scaleable Code Clone Detection},
	Type = {{PhD} thesis},
	Url = {http://scg.unibe.ch/archive/phd/schwarz-phd.pdf},
	Year = {2014},
	Bdsk-Url-1 = {http://scg.unibe.ch/archive/phd/schwarz-phd.pdf}}

@misc{Schw14d,
  title={O(n m) regular expression parsing library that produces parse trees},
  Note={\url{http://dx.doi.org/10.5281/zenodo.10861}},
  url={http://dx.doi.org/10.5281/zenodo.10861},
  DOI={10.5281/zenodo.10861},
  publisher={ZENODO},
  author={Niko Schwarz and Aaron Karper},
  year={2014}
}

@article{Schw15a,
	title = {Efficiently extracting full parse trees using regular expressions with capture groups},
	author = {Niko Schwarz and Aaron Karper and Oscar Nierstrasz},
	abstract = {Regular expressions with capture groups offer a concise
		and natural way to define parse trees over the text that they are parsing,
		however classical algorithms only return a single match for each capture group,
		not the full parse tree. We describe an algorithm based on finite-state
		automata that extracts full parse trees from text in \Theta(n,m) time and
		\Theta(dn + m)
		space (where n is the size of the text, m the size of the pattern, and d the
		number of groups in the pattern). It is the first to do so in a single pass
		with complete control over greediness. This allows the algorithm to process
		streaming data using all constructs familiar to users of regular expressions.},
	journal = {PeerJ PrePrints},
	doi = {10.7287/peerj.preprints.1248v1},
	year = {2015},
	note = {Preprint submitted for publication to PeerJ CS}
}

@techreport{Schw16a,
	Title = {Using RSS Feeds to Support Second Language Acquisition},
	Author = {Linus Schwab},
	Abstract = {Zeeguu is a language learning platform, that allows people to
		extend their vocabulary and language skills by reading any text
		they like. Additionally, it provides feedback on the progress
		and exercises to further improve the aquired knowledge. This
		thesis introduces the Zeeguu Reader, a mobile application for
		Android that uses RSS feeds to automatically provide the user
		with the newest articles from the news sources or blogs he
		subscribes to, while supporting the user with translations and
		keeping track of his reading progress. Its features include an
		article recommender that tries to automatically select the
		articles that fit best to the user's current language level. For
		the RSS part, the application uses the Feedly Cloud1, which
		synchronizes the subscrip- tions and reading progress between
		different devices and allows the user to continue reading where
		he left on any computer in the Feedly web interface and keep
		learning the language with the Zeeguu Chrome plugin.},
	Institution = {University of Bern},
	Keywords = {scg-bp snf-none scg16 jb16},
	Type = {Bachelor's thesis},
	Url = {http://scg.unibe.ch/archive/projects/Schw16a.pdf},
	Month = jun,
	Year = {2016}
}

@techreport{Schw20a,
	Title = {An Investigation into Vulnerability Databases},
	Author = {Brian Schweigler},
	Abstract = {The vulnerability databases' affiliations and
		contributions are non-trivial and have not yet been
		studied in depth. This raises a major concern regarding
		the correctness of the data used in numerous existing
		studies. To investigate this problem, we first collected
		publicly available data from the websites of five major
		database providers, and then we normalized and
		correlated the individual entries to track them within
		different vulnerability databases. 370,298 security
		reports were extracted, 89% of which were accessible at
		more than one provider. Surprisingly, many reports were
		inconsistent with respect to scores and detail
		descriptions. In the scoring system CVSS version 3.0,
		for example, we found on average a difference of 0.8 on
		NVD and Snyk, whereas CVSS version 2.0 remains largely
		consistent with a difference of only 0.1 between NVD and
		RAPID7. Furthermore, we discovered that the
		security-related popularity differs for widely used
		software, and we show that shared code bases but not
		library usages can be predicted by aggregating security
		reports over periods of time. Finally in visualizations,
		software release cycles become visible.},
	Institution = {University of Bern},
	Keywords = {scg-bp snf-asa3 scg20 jb20},
	Type = {Bachelor's thesis},
	Url = {http://scg.unibe.ch/archive/projects/Schw20a.pdf},
	Month = may,
	Year = {2020}
}

@article{Scot74a,
  title={A cluster analysis method for grouping means in the analysis of variance},
  author={Scott, ANDREW JHON and Knott, M},
  journal={Biometrics},
  pages={507--512},
  year={1974},
  publisher={JSTOR}
}

@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}}

@article{Scot06a,
 author = {Scott, Elizabeth and Johnstone, Adrian},
 title = {Right Nulled GLR Parsers},
 journal = {ACM Trans. Program. Lang. Syst.},
 issue_date = {July 2006},
 volume = {28},
 number = {4},
 month = jul,
 year = {2006},
 issn = {0164-0925},
 pages = {577--618},
 numpages = {42},
 url = {http://doi.acm.org/10.1145/1146809.1146810},
 doi = {10.1145/1146809.1146810},
 acmid = {1146810},
 publisher = {ACM},
 address = {New York, NY, USA},
 keywords = {General context-free grammars, generalized LR parsing}
}

@book{Scot09a,
 author = {Scott, Michael L.},
 title = {Programming Language Pragmatics, Third Edition},
 year = {2009},
 isbn = {0123745144, 9780123745149},
 edition = {3rd},
 publisher = {Morgan Kaufmann Publishers Inc.},
 address = {San Francisco, CA, USA}
}

@article{Scot10a,
	Acmid = {1860320},
	Address = {Amsterdam, The Netherlands, The Netherlands},
	Author = {Scott, Elizabeth and Johnstone, Adrian},
	Doi = {10.1016/j.entcs.2010.08.041},
	Issn = {1571-0661},
	Issue_Date = {September, 2010},
	Journal = {Electron. Notes Theor. Comput. Sci.},
	Keywords = {RNGLR and RIGLR parsing, context free languages, generalised parsing, recursive descent},
	Month = sep,
	Number = {7},
	Numpages = {13},
	Pages = {177--189},
	Publisher = {Elsevier Science Publishers B. V.},
	Title = {{GLL} Parsing},
	Url = {http://dx.doi.org/10.1016/j.entcs.2010.08.041},
	Volume = {253},
	Year = {2010},
	Bdsk-Url-1 = {http://dx.doi.org/10.1016/j.entcs.2010.08.041}}

@article{Scow74a,
  title={The {Definition} of {Comments} in {Programming Languages}},
  author={Scowen, RS and Wichmann, Brian A.},
  journal={Software: Practice and Experience},
  volume={4},
  number={2},
  pages={181--188},
  year={1974},
  publisher={Wiley Online Library}
}

@inproceedings{Seam08a,
 author = {Seaman, Carolyn B. and Shull, Forrest and Regardie, Myrna and Elbert, Denis and Feldmann, Raimund L. and Guo, Yuepu and Godfrey, Sally},
 title = {Defect Categorization: Making Use of a Decade of Widely Varying Historical Data},
 booktitle = {Proceedings of the Second ACM-IEEE International Symposium on Empirical Software Engineering and Measurement},
 series = {ESEM '08},
 year = {2008},
 isbn = {978-1-59593-971-5},
 location = {Kaiserslautern, Germany},
 pages = {149--157},
 numpages = {9},
 url = {http://doi.acm.org/10.1145/1414004.1414030},
 doi = {10.1145/1414004.1414030},
 acmid = {1414030},
 publisher = {ACM},
 address = {New York, NY, USA},
 keywords = {defect categories, defects, historical data}
}

@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,
	Address = {London, UK},
	Author = {Seco, Jo\~{a}o Costa and Caires, Lu\'{\i}s},
	Booktitle = {ECOOP'00: Proceedings of the 14th European Conference on Object-Oriented Programming},
	Doi = {10.1007/3-540-45102-1_6},
	Keywords = {damiencbib componentj},
	Pages = {108--128},
	Publisher = {Springer-Verlag},
	Title = {A Basic Model of Typed Components},
	Year = {2000},
	Bdsk-Url-1 = {http://dx.doi.org/10.1007/3-540-45102-1_6}}

@book{Sedg90a,
	Author = {Sedgewick, Robert},
	Day = {14},
	Edition = {1},
	Isbn = {0768682339},
	Keywords = {regex},
	Month = jan,
	Publisher = {Addison-Wesley Professional},
	Title = {Algorithms in C (paperback)},
	Url = {http://www.amazon.com/exec/obidos/redirect?tag=citeulike07-20\&path=ASIN/0768682339},
	Year = {1990},
	Bdsk-Url-1 = {http://www.amazon.com/exec/obidos/redirect?tag=citeulike07-20%5C&path=ASIN/0768682339}}

@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 scg-none jb06 fb06 girba chronia sde-visualization},
	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,
	Author = {Ramesh Seela and Ryan Miller and Derek Chang and Ali Shojaeddini and Ankit Sengar},
	Institution = {Carnegie Mellon University},
	Month = mar,
	Title = {{FxCop} Tool Evaluation},
	Year = {2008}}

@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}}

@book{Seem11a,
	Author = {Mark Seemann},
	Date-Added = {2013-05-02 09:30:58 +0000},
	Date-Modified = {2013-05-02 09:32:09 +0000},
	Keywords = {context-oriented; book; environment},
	Month = {sep},
	Publisher = {Manning Publications},
	Title = {Dependency Injection in .NET},
	Year = {2011}}

@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,
	Acmid = {625273},
	Address = {Los Alamitos, CA, USA},
	Author = {Segal, Mark E. and Frieder, Ophir},
	Doi = {10.1109/52.199735},
	Issn = {0740-7459},
	Journal = {IEEE Softw.},
	Keywords = {dynamic software-based updating systems, dynamic updating, on-the-fly program modification, procedure-oriented dynamic updating system, software maintenance},
	Number = {2},
	Numpages = {13},
	Pages = {53--65},
	Publisher = {IEEE Computer Society Press},
	Title = {On-the-Fly Program Modification: Systems for Dynamic Updating},
	Url = {http://dx.doi.org/10.1109/52.199735},
	Volume = {10},
	Year = {1993},
	Bdsk-Url-1 = {http://dx.doi.org/10.1109/52.199735}}

@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,
	Acmid = {1908000},
	Address = {Piscataway, NJ, USA},
	Author = {Segel, Edward and Heer, Jeffrey},
	Doi = {10.1109/TVCG.2010.179},
	Issn = {1077-2626},
	Issue = {6},
	Issue_Date = {November 2010},
	Journal = {IEEE Transactions on Visualization and Computer Graphics},
	Keywords = {Narrative visualization, storytelling, design methods, case study, journalism, social data analysis},
	Month = nov,
	Numpages = {10},
	Pages = {1139--1148},
	Publisher = {IEEE Educational Activities Department},
	Title = {Narrative Visualization: Telling Stories with Data},
	Volume = {16},
	Year = {2010},
	Bdsk-Url-1 = {http://dx.doi.org/10.1109/TVCG.2010.179}}

@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{Seic10a,
	Author = {Seichter, Dominik and Dhungana, Deepak and Pleuss, Andreas and Hauptmann, Benedikt},
	Booktitle = {Proceedings of the Fourth European Conference on Software Architecture: Companion Volume},
	Organization = {ACM},
	Pages = {119--126},
	Title = {Knowledge management in software ecosystems: software artefacts as first-class citizens},
	Year = {2010}}

@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,
	Address = {Bangalore, India},
	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},
	Keywords = {damiencbib frascati},
	Pages = {268--275},
	Title = {Reconfigurable {SCA} Applications with the {FraSCAti} Platform},
	Url = {http://hal.inria.fr/inria-00397856/PDF/frascati.pdf},
	Year = {2009},
	Bdsk-Url-1 = {http://hal.inria.fr/inria-00397856/PDF/frascati.pdf},
	Bdsk-Url-2 = {http://dx.doi.org/10.1109/SCC.2009.27}}

@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}}

@article{Seki91a,
	Author = {Hiroyuki Seki and Takashi Matsumura and Mamoru Fujii and Tadao Kasami},
	Doi = {10.1016/0304-3975(91)90374-B},
	Issn = {0304-3975},
	Journal = {Theoretical Computer Science},
	Number = {2},
	Pages = {191 - 229},
	Title = {On multiple context-free grammars},
	Url = {http://www.sciencedirect.com/science/article/pii/030439759190374B},
	Volume = {88},
	Year = {1991},
	Bdsk-Url-1 = {http://www.sciencedirect.com/science/article/pii/030439759190374B},
	Bdsk-Url-2 = {http://dx.doi.org/10.1016/0304-3975(91)90374-B}}

@inproceedings{Sela16a,
 author = {Selakovic, Marija and Pradel, Michael},
 title = {Performance Issues and Optimizations in JavaScript: An Empirical Study},
 booktitle = {Proceedings of the 38th International Conference on Software Engineering},
 series = {ICSE '16},
 year = {2016},
 isbn = {978-1-4503-3900-1},
 location = {Austin, Texas},
 pages = {61--72},
 numpages = {12},
 url = {http://doi.acm.org/10.1145/2884781.2884829},
 doi = {10.1145/2884781.2884829},
 acmid = {2884829},
 publisher = {ACM},
 address = {New York, NY, USA}
}

@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}}

@techreport{Seli16a,
	Title = {{EggShell} --- A workbench for modeling scientific communities},
	Author = {Dominik Seliner},
	Abstract = {The collaboration in a scientific community can be analysed through
		the publication record of its members. The analysis of the metadata
		(e.g., title and authors) of those publications can help researchers
		to identify groups of collaboration, their evolution, and key
		authors. However, the criteria for collecting the papers of some
		communities might exceed the expressiveness offered by public
		databases and search engines available. Hence, the data has to be
		retrieved from the papers' files themselves. Usually, scientific
		papers are available in unstructured file formats for which auto-
		matic extraction of data poses a challenge. To model the metadata of
		a community users have to define a pipeline. In it, each step
		contributes to the accuracy of the extracted data. The main
		challenge is to identify to which type of field of the document a
		piece of text corresponds. Previous research proposed heuristics to
		identify certain fields like the title and authors from papers'
		files by analyzing their layout. The performance of such heuristics
		might vary across papers that use different layouts. Hence, ensuring
		the accuracy of a given heuristic is a challenging problem. Small
		improvements in a heuristic that tackles a popular layout can make a
		high impact on its overall performance. However, identifying popular
		layouts and evaluating the impact of improvements can be a laborious
		task. Visualization offers techniques that fit the analysis of such
		multivariate data. Through visualization, a developer who is
		implementing a heuristic for data extraction can obtain an overview
		of how it performs and find hotspots that can lead to improvements
		that impact the overall efficacy. In this thesis, we propose
		EggShell, a workbench that incorporates visualization to assess the
		performance of modeling pipelines for scientific papers in PDF
		format. We elaborate on examples of how EggShell allows users to
		define multiple pipelines. Pipelines can then be improved by
		assessing their output using visualization. We collected a corpus of
		300 papers published by SOFTVIS/VISSOFT venues. We used a subset of
		100 papers as a learning set to develop the pipelines, and then used
		the remaining 200 papers to evaluate their performance for modeling
		collaboration in the community. We observed that our best performing
		pipeline exhibits an accuracy of 70\%.},
	Institution = {University of Bern},
	Keywords = {scg-bp snf-asa2 scg16 jb16},
	Type = {Bachelor's thesis},
	Url = {http://scg.unibe.ch/archive/projects/Seli16a.pdf},
	Month = aug,
	Year = {2016}
}

@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{Sena16a,
	 author = {Sena, Dem\'{o}stenes and Coelho, Roberta and Kulesza, Uir\'{a} and Bonif\'{a}cio, Rodrigo},
	 title = {Understanding the Exception Handling Strategies of {Java} Libraries: An Empirical Study},
	 booktitle = {Proceedings of the 13th International Conference on Mining Software Repositories},
	 series = {MSR '16},
	 year = {2016},
	 isbn = {978-1-4503-4186-8},
	 location = {Austin, Texas},
	 pages = {212--222},
	 numpages = {11},
	 url = {http://doi.acm.org/10.1145/2901739.2901757},
	 doi = {10.1145/2901739.2901757},
	 acmid = {2901757},
	 publisher = {ACM},
	 address = {New York, NY, USA},
	 keywords = {empirical study, exception flows analysis, exception handling, exception handling anti-patterns, software libraries, static analysis tool}
}

@inproceedings{Senf18a,
	author={Senft, Bj{\"o}rn and Fischer, Holger and Oberth{\"u}r, Simon and Patkar, Nitish},
	booktitle={International Conference of Design, User Experience, and Usability},
	title={Assist Users to Straightaway Suggest and Describe Experienced Problems},
	year={2018},
	annote={internationalconference},
	peerreview={yes},
	medium={2},
	doi={10.1007/978-3-319-91797-9_52},
	abstract={Requirements elicitation plays a vital role in building effective software. Incorrect or incomplete requirements lead to erroneous software and costs a huge amount of rework. Rework costs in terms of money and efforts are usually higher than the early detection of potential flaws in the requirements. This happens because most of the techniques employed to extract requirements fail to understand end user goals. Understanding your users and their goals is important to build a capable, viable and desirable product or software system. This paper attempts to suggest and evaluate an alternative approach to understand your potential users and their goals so that correct and complete requirements can be formulated resulting in a successful software. We introduce the concept of a tool-guided elicitation process, classify elicitation techniques in term of their suitability in such a tool-guided process, and present an initial study of the usability und usefulness of our prototype called Vision Backlog.},
	keywords={scg-pub skip-pdf scg-none snf-none jb-none},
	organization={Springer},
	pages={758--770}}

@inproceedings{Sens07a,
	Author = {Sensalire, Mariam and Ogao, Patrick},
	Booktitle = {VISSOFT},
	Editor = {Maletic, Jonathan I. and Telea, Alexandru and Marcus, Andrian},
	Ee = {http://dx.doi.org/10.1109/VISSOF.2007.4290696},
	Isbn = {1-4244-0600-5},
	Pages = {26-29},
	Publisher = {IEEE Computer Society},
	Title = {Visualizing Object Oriented Software: Towards a Point of Reference for Developing Tools for Industry},
	Url = {http://dblp.uni-trier.de/db/conf/vissoft/vissoft2007.html#SensalireO07},
	Year = 2007,
	Bdsk-Url-1 = {http://dblp.uni-trier.de/db/conf/vissoft/vissoft2007.html#SensalireO07}}

@inproceedings{Sens09a,
	title = {Evaluation of software visualization tools: Lessons learned},
	author = {Sensalire, Mariam and Ogao, Patrick and Telea, Alexandru},
	booktitle = {Visualizing Software for Understanding and Analysis, 2009. VISSOFT 2009. 5th IEEE International Workshop on},
	pages = {19--26},
	year = {2009},
	organization = {IEEE}
}

@inproceedings{Serg12a,
	Author = {Ilya Sergey and Dave Clarke},
	Bibsource = {DBLP, http://dblp.uni-trier.de},
	Booktitle = {ESOP},
	Date-Added = {2012-07-03 07:40:18 +0000},
	Date-Modified = {2012-07-03 07:40:58 +0000},
	Ee = {http://dx.doi.org/10.1007/978-3-642-28869-2_29},
	Keywords = {aliasing; type-system},
	Pages = {579-599},
	Title = {Gradual Ownership Types},
	Year = {2012}}

@inproceedings{Seri14,
author={Seriai, A. and Benomar, O. and Cerat, B. and Sahraoui, H.},
booktitle={Software Visualization (VISSOFT), 2014 Second IEEE Working Conference on},
title={Validation of Software Visualization Tools: A Systematic Mapping Study},
year={2014},
month=sep,
pages={60-69},
doi={10.1109/VISSOFT.2014.19}
}

@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,
	Address = {Amsterdam, The Netherlands, The Netherlands},
	Author = {Serral, Estefan\'{\i}a and Valderas, Pedro and Pelechano, Vicente},
	Doi = {10.1016/j.pmcj.2009.07.006},
	Issn = {1574-1192},
	Journal = {Pervasive and Mobile Computing},
	Keywords = {Context-aware MDD OWL Ontology Pervasive systems pervml damiencbib},
	Month = apr,
	Number = {2},
	Pages = {254--280},
	Publisher = {Elsevier Science Publishers B. V.},
	Title = {Towards the Model Driven Development of context-aware pervasive systems},
	Volume = {6},
	Year = {2010},
	Bdsk-Url-1 = {http://dx.doi.org/10.1016/j.pmcj.2009.07.006}}

@inproceedings{Serv12a,
 author = {Servant, Francisco and Jones, James A.},
 title = {History Slicing: Assisting Code-evolution Tasks},
 booktitle = {Proceedings of the ACM SIGSOFT 20th International Symposium on the Foundations of Software Engineering},
 series = {FSE '12},
 year = {2012},
 isbn = {978-1-4503-1614-9},
 location = {Cary, North Carolina},
 pages = {43:1--43:11},
 articleno = {43},
 numpages = {11},
 url = {http://doi.acm.org/10.1145/2393596.2393646},
 doi = {10.1145/2393596.2393646},
 acmid = {2393646},
 publisher = {ACM},
 address = {New York, NY, USA},
 keywords = {mining software repositories, program comprehension, software evolution, software visualization}
}

@book{Sess98a,
	Address = {New York, NY, USA},
	Author = {Roger Sessions},
	Keywords = {damiencbib},
	Publisher = {John Wiley \& Sons, Inc.},
	Title = {{COM} and {DCOM}: Microsoft's vision for distributed objects},
	Year = {1998}}

@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}}

@techreport{Seth15a,
	Abstract = {The Zeeguu Platform is a language learning platform for people who
        want to expand their language skills by reading articles or stories they love
        and practise the words which they have not understood by doing exercises. The
        aim of this thesis is to investigate and find a way to quantify the user's
        knowledge about the language which is currently being learned and give them a
        metric about their progress. In the first part, we will describe how the
        probability of a user knowing a particular word is computed and how this data
        is then aggregated and used to give the user feedback on his progress. In the
        second part, we present a meta-model that enables us to keep track of the
        user interactions with the language and compute the desired metrics for the
        user. In the final part, we study the results of the implemented metrics for
        a particular user and discover that they represent a good approximation of
        the current state of the users knowledge of the language.},
	Author = {Karan Sethi},
	Institution = {University of Bern},
	Keywords = {snf-none scg-bp scg15 jb16},
	Month = aug,
	Title = {Modelling the Acquisition of Natural Language},
	Type = {Bachelor's thesis},
	Url = {http://scg.unibe.ch/archive/projects/Seth15a.pdf},
	Year = {2015}
}

@article {Setl05a,
author = {Setlur, Vidya and Albrecht-Buehler, Conrad and A. Gooch, Amy and Rossoff, Sam and Gooch, Bruce},
title = {Semanticons: Visual Metaphors as File Icons},
journal = {Computer Graphics Forum},
volume = {24},
number = {3},
publisher = {Blackwell Publishing, Inc},
issn = {1467-8659},
url = {http://dx.doi.org/10.1111/j.1467-8659.2005.00889.x},
doi = {10.1111/j.1467-8659.2005.00889.x},
pages = {647--656},
year = {2005}
}

@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},
	Booktitle = {TOOLS Europe '01: Proceedings of the 38th International Conference on Technology of Object-Oriented Languages and Systems, Components for Mobile Computing},
	Doi = {10.1109/TOOLS.2001.911758},
	Pages = {85-101},
	Title = {An Information Exploration Tool for Performance Analysis of Java Programs},
	Year = {2001},
	Bdsk-Url-1 = {http://dx.doi.org/10.1109/TOOLS.2001.911758}}

@inproceedings{Sewa05a,
	Acmid = {1247362},
	Address = {Berkeley, CA, USA},
	Author = {Seward, Julian and Nethercote, Nicholas},
	Booktitle = {Proceedings of the annual conference on USENIX Annual Technical Conference},
	Location = {Anaheim, CA},
	Numpages = {1},
	Pages = {2--2},
	Publisher = {USENIX Association},
	Series = {ATEC '05},
	Title = {Using {Valgrind} to detect undefined value errors with bit-precision},
	Year = {2005}}

@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}}

@inproceedings{Sewe11a,
 author = {Sewe, Andreas and Mezini, Mira and Sarimbekov, Aibek and Binder, Walter},
 title = {Da Capo Con Scala: Design and Analysis of a Scala Benchmark Suite for the Java Virtual Machine},
 booktitle = {Proceedings of the 2011 ACM International Conference on Object Oriented Programming Systems Languages and Applications},
 series = {OOPSLA '11},
 year = {2011},
 isbn = {978-1-4503-0940-0},
 location = {Portland, Oregon, USA},
 pages = {657--676},
 numpages = {20},
 url = {http://doi.acm.org/10.1145/2048066.2048118},
 doi = {10.1145/2048066.2048118},
 acmid = {2048118},
 publisher = {ACM},
 address = {New York, NY, USA},
 keywords = {Scala, benchmarks, dynamic metrics, java}
}

@inproceedings{Shac09a,
	Acmid = {1542522},
	Address = {New York, NY, USA},
	Author = {Shacham, Ohad and Vechev, Martin and Yahav, Eran},
	Booktitle = {Proceedings of the 2009 ACM SIGPLAN Conference on Programming Language Design and Implementation},
	Doi = {10.1145/1542476.1542522},
	Isbn = {978-1-60558-392-1},
	Keywords = {bloat, collections, java, semantic profiler},
	Location = {Dublin, Ireland},
	Numpages = {11},
	Pages = {408--418},
	Publisher = {ACM},
	Series = {PLDI '09},
	Title = {Chameleon: Adaptive Selection of Collections},
	Url = {http://doi.acm.org/10.1145/1542476.1542522},
	Year = {2009},
	Bdsk-Url-1 = {http://doi.acm.org/10.1145/1542476.1542522},
	Bdsk-Url-2 = {http://dx.doi.org/10.1145/1542476.1542522}}

@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{Shah08a,
  title={Why do developers neglect exception handling?},
  author={Shah, Hina and G{\"o}rg, Carsten and Harrold, Mary Jean},
  booktitle={Proceedings of the 4th international workshop on Exception handling},
  pages={62--68},
  year={2008},
  organization={ACM}
}

@inproceedings{Shah08b,
  title={Visualization of exception handling constructs to support program understanding},
  author={Shah, Hina and G{\"o}rg, Carsten and Harrold, Mary Jean},
  booktitle={Proceedings of the 4th ACM symposium on Software visualization},
  pages={19--28},
  year={2008},
  organization={ACM}
}

@inproceedings{Shah12a,
	author={Shah, S.M.A. and Dietrich, J. and McCartin, C.},
	booktitle={Software Maintenance and Reengineering (CSMR), 2012 16th European Conference on},
	title={Making Smart Moves to Untangle Programs},
	year={2012},
	pages={359-364},
	doi={10.1109/CSMR.2012.44},
	ISSN={1534-5351},
	month= mar}

@article{Shah14a,
title = {A systematic review of software architecture visualization techniques},
journal = {Journal of Systems and Software},
volume = {94},
pages = {161 - 185},
year = {2014},
issn = {0164-1212},
doi = {10.1016/j.jss.2014.03.071},
url = {http://www.sciencedirect.com/science/article/pii/S0164121214000831},
author = {Mojtaba Shahin and Peng Liang and Muhammad Ali Babar},
keywords = {Software architecture, Software architecture visualization, Visualization techniques}
}

@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{Shan10a,
  author    = {Weiyi Shang and Bram Adams and Ahmed E. Hassan},
  editor    = {Charles Pecheur and Jamie Andrews and Elisabetta Di Nitto},
  title     = {An experience report on scaling tools for mining software repositories using MapReduce},
  booktitle = {{ASE} 2010, 25th {IEEE/ACM} International Conference on Automated Software Engineering, Antwerp, Belgium, September 20-24, 2010},
  pages     = {275--284},
  publisher = {{ACM}},
  year      = {2010},
  url       = {https://doi.org/10.1145/1858996.1859050},
  doi       = {10.1145/1858996.1859050},
  timestamp = {Tue, 06 Nov 2018 16:58:23 +0100},
  biburl    = {https://dblp.org/rec/conf/kbse/ShangAH10.bib},
  bibsource = {dblp computer science bibliography, https://dblp.org}
}

@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}}

@inproceedings{Shao09a,
	 author = {Shao, Peng and Smith, Randy K.},
	 title = {Feature Location by IR Modules and Call Graph},
	 booktitle = {Proceedings of the 47th Annual Southeast Regional Conference},
	 series = {ACM-SE 47},
	 year = {2009},
	 isbn = {978-1-60558-421-8},
	 location = {Clemson, South Carolina},
	 pages = {70:1--70:4},
	 articleno = {70},
	 numpages = {4},
	 url = {http://doi.acm.org/10.1145/1566445.1566539},
	 doi = {10.1145/1566445.1566539},
	 acmid = {1566539},
	 publisher = {ACM},
	 address = {New York, NY, USA},
	 keywords = {call graph, feature location, information retrieval}
	}

@article{Shap65a,
author = {SHAPIRO, S. S. and WILK, M. B.},
title = {An analysis of variance test for normality (complete samples)},
journal = {Biometrika},
volume = {52},
number = {3-4},
pages = {591},
year = {1965},
doi = {10.1093/biomet/52.3-4.591},
URL = { + http://dx.doi.org/10.1093/biomet/52.3-4.591},
eprint = {/oup/backfile/content_public/journal/biomet/52/3-4/10.1093/biomet/52.3-4.591/2/52-3-4-591.pdf}
}

@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}}

@inbook{Shar81a,
    address = {Englewood Cliffs, NJ},
    author = {Sharir, Micha and Pnueli, Amir},
    booktitle = {Program Flow Analysis: Theory and Applications},
    chapter = {7},
    citeulike-article-id = {812751},
    keywords = {context-sensitivity, static-analysis},
    pages = {189--234},
    posted-at = {2009-12-09 20:46:40},
    priority = {2},
    publisher = {Prentice-Hall},
    title = {{Two approaches to interprocedural data flow analysis}},
    year = {1981}}

@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}}

@inproceedings{Shar08a,
  title={Developing schema for open source programmers' information-seeking},
  author={Sharif, Khaironi Yatim and Buckley, Jim},
  booktitle={Information Technology, 2008. ITSim 2008. International Symposium on},
  volume={1},
  pages={1--9},
  year={2008},
  Keywords = {dev-questions},
  organization={IEEE}
}

@article{Shar11a,
  title={Open Source Programmers' Information Seeking During Software Maintenance},
  author={Sharif, Khaironi Yatim and Mokhtar,Mohd Rosmadi and Buckley, Jim },
  journal={Journal of Computer Science},
  volume={7},
  number={7},
  pages={1060--1071},
  Keywords = {dev-questions},
  year={2011}
}

@article{Shar15a,
  title={An empirically-based characterization and quantification of information seeking through mailing lists during Open Source developers' software evolution},
  author={Sharif, Khaironi Y and English, Michael and Ali, Nour and Exton, Chris and Collins, JJ and Buckley, Jim},
  journal={Information and Software Technology},
  volume={57},
  pages={77--94},
  year={2015},
  Keywords = {dev-questions},
  publisher={Elsevier}
}

@inproceedings{Shar17a,
 author = {Sharma, Vibhu Saujanya and Mehra, Rohit and Kaulgud, Vikrant},
 title = {What Do Developers Want?: An Advisor Approach for Developer Priorities},
 booktitle = {Proceedings of the 10th International Workshop on Cooperative and Human Aspects of Software Engineering},
 series = {CHASE '17},
 year = {2017},
 isbn = {978-1-5386-4039-5},
 location = {Buenos Aires, Argentina},
 pages = {78--81},
 numpages = {4},
 url = {https://doi.org/10.1109/CHASE.2017.14},
 doi = {10.1109/CHASE.2017.14},
 acmid = {3100333},
 publisher = {IEEE Press},
 address = {Piscataway, NJ, USA},
 keywords = {developer priorities, in-process project insights, smart advisor, software developer survey, dev-questions}
}

@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,
	Address = {Piscataway, NJ, USA},
	Author = {Shaw, Mary and DeLine, Robert and Klein, Daniel V. and Ross, Theodore L. and Young, David M. and Zelesnik, Gregory},
	Doi = {10.1109/32.385970},
	Journal = {IEEE Transactions on Software Engineering},
	Keywords = {damiencbib architecture unicon olit adl},
	Month = apr,
	Number = {4},
	Pages = {314--335},
	Publisher = {IEEE Computer Society},
	Title = {Abstractions for software architecture and tools to support them},
	Volume = {21},
	Year = {1995},
	Bdsk-Url-1 = {http://dx.doi.org/10.1109/32.385970}}

@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,
	Address = {Los Alamitos, CA, USA},
	Author = {Shaw, Mary and Clements, Paul},
	Doi = {10.1109/MS.2006.58},
	Journal = {IEEE Software},
	Keywords = {damiencbib},
	Number = {2},
	Pages = {31--39},
	Publisher = {IEEE Computer Society},
	Title = {The Golden Age of Software Architecture: A Comprehensive Survey},
	Volume = {23},
	Year = {2006},
	Bdsk-Url-1 = {http://dx.doi.org/10.1109/MS.2006.58}}

@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{Shel02a,
	title = {Metrics for maintainability of class inheritance hierarchies},
	author = {Sheldon, Frederick T and Jerath, Kshamta and Chung, Hong},
	journal = {Journal of Software Maintenance and Evolution: Research and Practice},
	volume = {14},
	number = {3},
	pages = {147--160},
	year = {2002},
	publisher = {Wiley Online Library}
}

@inproceedings{Shep07a,
 author = {Shepherd, David and Fry, Zachary P. and Hill, Emily and Pollock, Lori and Vijay-Shanker, K.},
 title = {Using Natural Language Program Analysis to Locate and Understand Action-oriented Concerns},
 booktitle = {Proceedings of the 6th International Conference on Aspect-oriented Software Development},
 series = {AOSD '07},
 year = {2007},
 isbn = {1-59593-615-7},
 location = {Vancouver, British Columbia, Canada},
 pages = {212--224},
 numpages = {13},
 url = {http://doi.acm.org/10.1145/1218563.1218587},
 doi = {10.1145/1218563.1218587},
 acmid = {1218587},
 publisher = {ACM},
 address = {New York, NY, USA},
 keywords = {feature location, program analysis, remodularization, reverse engineering}
}

@inproceedings{Shep12a,
 author = {Shepherd, David and Damevski, Kostadin and Ropski, Bartosz and Fritz, Thomas},
 title = {Sando: An Extensible Local Code Search Framework},
 booktitle = {Proceedings of the ACM SIGSOFT 20th International Symposium on the Foundations of Software Engineering},
 series = {FSE '12},
 year = {2012},
 isbn = {978-1-4503-1614-9},
 location = {Cary, North Carolina},
 pages = {15:1--15:2},
 articleno = {15},
 numpages = {2},
 url = {http://doi.acm.org/10.1145/2393596.2393612},
 doi = {10.1145/2393596.2393612},
 acmid = {2393612},
 publisher = {ACM},
 address = {New York, NY, USA},
 keywords = {code search, feature location}
}

@article{Shep14a,
  title={Researcher bias: The use of machine learning in software defect prediction},
  author={Shepperd, Martin and Bowes, David and Hall, Tracy},
  journal={IEEE Transactions on Software Engineering},
  volume={40},
  number={6},
  pages={603--616},
  year={2014},
  publisher={IEEE}
}

@article{Sher95a,
  title={Software fault prediction},
  author={Sherer, Susan A},
  journal={Journal of Systems and Software},
  volume={29},
  number={2},
  pages={97--105},
  year={1995},
  publisher={Elsevier}
}

@article{Sher12a,
 author = {Flash Sheridan},
 title = {Deploying Static Analysis},
 journal = {Dr. Dobb's Journal},
 issue_date = {August    2012},
 month = aug,
 year = {2012},
 issn = {1066-8888},
 pages = {8--14},
 numpages = {7},
 url = {http://www.rahul.net/flash/Deploying_Static_Analysis.pdf},
 publisher = {Techweb, United Business Media},
 address = {San Francisco, CA, USA}
}

@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}}

@article{Shi08a,
	Acmid = {1328197},
	Address = {New York, NY, USA},
	Articleno = {2},
	Author = {Shi, Yunhe and Casey, Kevin and Ertl, M. Anton and Gregg, David},
	Doi = {10.1145/1328195.1328197},
	Issn = {1544-3566},
	Issue = {4},
	Journal = {ACM Trans. Archit. Code Optim.},
	Keywords = {Interpreter, register architecture, stack architecture, virtual machine},
	Month = jan,
	Numpages = {36},
	Pages = {2:1--2:36},
	Publisher = {ACM},
	Title = {Virtual machine showdown: Stack versus registers},
	Volume = {4},
	Year = {2008},
	Bdsk-Url-1 = {http://dx.doi.org/10.1145/1328195.1328197}}

@incollection{Shi11a,
	Affiliation = {Laboratory for Internet Software Technologies, Institute of Software, Chinese Academy of Sciences, Beijing, 100190 China},
	Author = {Shi, Lin and Zhong, Hao and Xie, Tao and Li, Mingshu},
	Booktitle = {Fundamental Approaches to Software Engineering},
	Doi = {10.1007/978-3-642-19811-3_29},
	Editor = {Giannakopoulou, Dimitra and Orejas, Fernando},
	Isbn = {978-3-642-19810-6},
	Keyword = {Computer Science},
	Pages = {416-431},
	Publisher = {Springer Berlin / Heidelberg},
	Series = {Lecture Notes in Computer Science},
	Title = {An Empirical Study on Evolution of API Documentation},
	Volume = {6603},
	Year = {2011},
	Bdsk-Url-1 = {http://dx.doi.org/10.1007/978-3-642-19811-3_29}}

@incollection{Shi14a,
year={2014},
isbn={978-3-319-12735-4},
booktitle={Programming Languages and Systems},
volume={8858},
series={Lecture Notes in Computer Science},
editor={Garrigue, Jacques},
doi={10.1007/978-3-319-12736-1_22},
title={Address Chain: Profiling Java Objects without Overhead in Java Heaps},
url={http://dx.doi.org/10.1007/978-3-319-12736-1_22},
publisher={Springer International Publishing},
keywords={Profiling; Garbage Collector; Java Virtual Machine},
author={Shi, Xiaohua and Xie, Junru and Yu, Hengyang},
pages={408-427},
language={English}
}

@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{Shih12a,
  title={An industrial study on the risk of software changes},
  author={Shihab, Emad and Hassan, Ahmed E and Adams, Bram and Jiang, Zhen Ming},
  booktitle={Proceedings of the ACM SIGSOFT 20th International Symposium on the Foundations of Software Engineering},
  pages={62},
  year={2012},
  organization={ACM}
}

@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{Shin18a,
  title={Analyzing Code Comments to Boost Program Comprehension},
  author={Shinyama, Yusuke and Arahori, Yoshitaka and Gondow, Katsuhiko},
  booktitle={2018 25th Asia-Pacific Software Engineering Conference (APSEC)},
  pages={325--334},
  year={2018},
  organization={IEEE}
}

@book{Shir02a,
	Address = {Sebastopol, CA, USA},
	Author = {Shirazi, Jack},
	Edition = {2nd},
	Isbn = {0596003773},
	Publisher = {O'Reilly \& Associates, Inc.},
	Title = {Java Performance Tuning},
	Year = {2002}}

@misc{Shir05a,
author = {Sayyad Shirabad, J. and Menzies, T.J.},
year = {2005},
title = {The {PROMISE} Repository of Software Engineering Databases},
url = {http://promise.site.uottawa.ca/SERepository},
howpublished = {School of Information Technology and Engineering, University of Ottawa, Canada}
}

@article{Shiv88a,
 author = {Shivers, O.},
 title = {Control Flow Analysis in Scheme},
 journal = {SIGPLAN Not.},
 issue_date = {July 1988},
 volume = {23},
 number = {7},
 month = jun,
 year = {1988},
 issn = {0362-1340},
 pages = {164--174},
 numpages = {11},
 url = {http://doi.acm.org/10.1145/960116.54007},
 doi = {10.1145/960116.54007},
 acmid = {54007},
 publisher = {ACM},
 address = {New York, NY, USA}
}

@phdthesis{Shiv91a,
	Address = {Pittsburgh, PA, USA},
	Author = {Shivers, Olin Grigsby},
	Note = {UMI Order No. GAX91-26964},
	Publisher = {Carnegie Mellon University},
	School = {Carnegie Mellon University},
	Title = {Control-flow Analysis of Higher-order Languages of Taming Lambda},
	Year = {1991}}

@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}}

@inbook{Shiv09a,
author={Shiv, Kumar and Chow, Kingsum and Wang, Yanping and Petrochenko, Dmitry},
title={SPECjvm2008 Performance Characterization},
bookTitle={Computer Performance Evaluation and Benchmarking: SPEC Benchmark Workshop 2009},
year={2009},
publisher={Springer Berlin Heidelberg},
pages={17--35},
isbn={978-3-540-93799-9},
doi={10.1007/978-3-540-93799-9_2}
}

@article{Shiv13a,
  title={Reducing features to improve code change-based bug prediction},
  author={Shivaji, Shivkumar and Whitehead, E James and Akella, Ram and Kim, Sunghun},
  journal={IEEE Transactions on Software Engineering},
  volume={39},
  number={4},
  pages={552--569},
  year={2013},
  publisher={IEEE}
}

@book{Shlae88a,
	Author = {Sally Shlaer and Stephen J. Mellor},
	Isbn = {978-0136290230},
	Keywords = {olit},
	Publisher = {Yourdon Press: Prentice Hall, Englewood Cliffs, New Jersey},
	Title = {Object-Oriented Systems Analysis: Modeling the World In Data},
	Year = {1988}}

@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}}

@article{Shul08a,
  title={Inspecting the history of inspections: An example of evidence-based technology diffusion},
  author={Shull, Forrest and Seaman, Carolyn},
  journal={IEEE software},
  volume={25},
  number={1},
  year={2008},
  publisher={IEEE}
}

@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},
	Doi = {10.1007/978-3-540-30301-5},
	Editor = {Bruno Siciliano and Oussama Khatib},
	Isbn = {978-3-540-23957-4},
	Keywords = {robotics springer damiencbib},
	Publisher = {Springer},
	Title = {Springer Handbook of Robotics},
	Year = {2008},
	Bdsk-Url-1 = {http://dx.doi.org/10.1007/978-3-540-30301-5}}

@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{Sieg14a,
	 author = {Siegmund, Benjamin and Perscheid, Michael and Taeumel, Marcel and Hirschfeld, Robert},
	 title = {Studying the Advancement in Debugging Practice of Professional Software Developers},
	 booktitle = {Proceedings of the 2014 IEEE International Symposium on Software Reliability Engineering Workshops},
	 series = {ISSREW '14},
	 year = {2014},
	 isbn = {978-1-4799-7377-4},
	 pages = {269--274},
	 numpages = {6},
	 url = {http://dx.doi.org/10.1109/ISSREW.2014.36},
	 doi = {10.1109/ISSREW.2014.36},
	 acmid = {2706272},
	 publisher = {IEEE Computer Society},
	 address = {Washington, DC, USA},
	 keywords = {Debugging, Survey, Empirical Study, Program Comprehension}
}

@article{Sieg15a,
  title={Confounding parameters on program comprehension: a literature survey},
  author={Siegmund, Janet and Schumann, Jana},
  journal={Empirical Software Engineering},
  volume={20},
  number={4},
  pages={1159--1192},
  year={2015},
  publisher={Springer}
}

@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},
	Bdsk-Url-1 = {http://dx.doi.org/10.1007/978-3-642-00590-9_2}}

@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 = {IEEE 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},
	DOI = {10.1109/32.824377},
	Url = {http://www.sdml.cs.kent.edu/library/Siff99.pdf},
	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,
	Acmid = {1181779},
	Address = {New York, NY, USA},
	Author = {Sillito, Jonathan and Murphy, Gail C. and De Volder, Kris},
	Booktitle = {Proceedings of the 14th ACM SIGSOFT international symposium on Foundations of software engineering},
	Doi = {10.1145/1181775.1181779},
	Isbn = {1-59593-468-5},
	Keywords = {change tasks, development tools, empirical study, grounded theory, program comprehension, software evolution, dev-questions},
	Location = {Portland, Oregon, USA},
	Numpages = {12},
	Pages = {23--34},
	Publisher = {ACM},
	Series = {SIGSOFT '06/FSE-14},
	Title = {Questions programmers ask during software evolution tasks},
	Url = {http://people.cs.ubc.ca/~murphy/papers/other/asking-answering-fse06.pdf},
	Year = {2006},
	Bdsk-Url-1 = {http://people.cs.ubc.ca/~murphy/papers/other/asking-answering-fse06.pdf},
	Bdsk-Url-2 = {http://dx.doi.org/10.1145/1181775.1181779}}

@article{Sill08a,
	Acmid = {1446241},
	Address = {Piscataway, NJ, USA},
	Author = {Sillito, Jonathan and Murphy, Gail C. and De Volder, Kris},
	Doi = {10.1109/TSE.2008.26},
	Issn = {0098-5589},
	Issue = {4},
	Journal = {IEEE Trans. Softw. Eng.},
	Keywords = {Software psychology, Programming Environments/Construction Tools, Enhancement, dev-questions},
	Month = jul,
	Numpages = {18},
	Pages = {434--451},
	Publisher = {IEEE Press},
	Title = {Asking and Answering Questions during a Programming Change Task},
	Url = {http://portal.acm.org/citation.cfm?id=1446226.1446241},
	Volume = {34},
	Year = {2008},
	Bdsk-Url-1 = {http://portal.acm.org/citation.cfm?id=1446226.1446241},
	Bdsk-Url-2 = {http://dx.doi.org/10.1109/TSE.2008.26}}

@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{Silv06a,
	Acmid = {1188838},
	Address = {New York, NY, USA},
	Author = {da Silva, Isabella A. and Chen, Ping H. and Van der Westhuizen, Christopher and Ripley, Roger M. and van der Hoek, Andr{\'e}},
	Booktitle = {Proceedings of the 2006 OOPSLA workshop on eclipse technology eXchange},
	Doi = {10.1145/1188835.1188838},
	Isbn = {1-59593-621-1},
	Keywords = {abstraction, awareness, coordination, design, emerging design, reverse-engineering},
	Location = {Portland, Oregon},
	Numpages = {5},
	Pages = {11--15},
	Publisher = {ACM},
	Series = {eclipse '06},
	Title = {Lighthouse: coordination through emerging design},
	Url = {http://doi.acm.org/10.1145/1188835.1188838},
	Year = {2006},
	Bdsk-Url-1 = {http://doi.acm.org/10.1145/1188835.1188838},
	Bdsk-Url-2 = {http://dx.doi.org/10.1145/1188835.1188838}}

@article{Silv08a,
	author={V. {D'Silva} and D. {Kroening} and G. {Weissenbacher}},
	journal={IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems},
	title={A Survey of Automated Techniques for Formal Software Verification},
	year={2008},
	volume={27},
	number={7},
	pages={1165-1178},
	keywords={electronic engineering computing;program diagnostics;program verification;automated techniques;formal software verification;electronic systems;formal verification tools;automatic static analysis;programming error detection;abstract domains;bounded model checking;Software quality;Automatic testing;Formal verification;Hardware;Software systems;Software algorithms;Performance analysis;Algorithm design and analysis;Software performance;Automatic programming;Bounded model checking (BMC);model checking;predicate abstraction;software verification;static analysis},
	doi={10.1109/TCAD.2008.923410},
	ISSN={},
	url={http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.473.7220&rep=rep1&type=pdf},
	month=jul
}

@article{Silv11a,
	Author = {Josep Silva},
	Journal = {ACM Computing Surveys},
	Notes = {To Appear},
	Title = {A Vocabulary of Program-Slicing Based Techniques},
	Year = {2011}}

@inproceedings{Silv17a,
  author    = {Ana Silva and
               Thalles Ara{\'{u}}jo and
               Jo{\~{a}}o Nunes and
               Mirko Perkusich and
               Ednaldo Dilorenzo and
               Hyggo Oliveira de Almeida and
               Angelo Perkusich},
  editor    = {Emilia Mendes and
               Steve Counsell and
               Kai Petersen},
  title     = {A systematic review on the use of Definition of Done on agile software
               development projects},
  booktitle = {Proceedings of the 21st International Conference on Evaluation and
               Assessment in Software Engineering, {EASE} 2017, Karlskrona, Sweden,
               June 15-16, 2017},
  pages     = {364--373},
  publisher = {{ACM}},
  year      = {2017},
  url       = {https://doi.org/10.1145/3084226.3084262},
  doi       = {10.1145/3084226.3084262},
  timestamp = {Sat, 05 Sep 2020 18:07:26 +0200},
  biburl    = {https://dblp.org/rec/conf/ease/SilvaANPDAP17.bib},
  bibsource = {dblp computer science bibliography, https://dblp.org}
}

@inproceedings{Sim98a,
  title={Archetypal source code searches: A survey of software developers and maintainers},
  author={Sim, Susan Elliott and Clarke, Charles LA and Holt, Richard C},
  booktitle={Program Comprehension, 1998. IWPC'98. Proceedings., 6th International Workshop on},
  pages={180--187},
  year={1998},
  keywords = {dev-questions},
  organization={IEEE}
}

@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},
	Institution = {Indiana University Computer Science Department},
	Keywords = {refci reflection},
	Month = sep,
	Number = {362},
	Title = {Language Extension via First-class Interpreters},
	Url = {http://www.cs.indiana.edu/pub/techreports/TR362.pdf},
	Year = {1992},
	Bdsk-Url-1 = {http://www.cs.indiana.edu/pub/techreports/TR362.pdf}}

@techreport{Simm92b,
	Author = {John W. Simmons and Daniel P. Friedman},
	Institution = {Indiana University Computer Science Department},
	Keywords = {refci reflection},
	Month = sep,
	Number = {366},
	Title = {A reflective system is as extensible as its internal representations: An illustration},
	Url = {http://www.cs.indiana.edu/pub/techreports/TR366.pdf},
	Year = {1992},
	Bdsk-Url-1 = {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}}

@inproceedings{Simm20a,
  title={A large-scale comparative analysis of Coding Standard conformance in Open-Source Data Science projects},
  author={Simmons, Andrew J and Barnett, Scott and Rivera-Villicana, Jessica and Bajaj, Akshat and Vasa, Rajesh},
  booktitle={Proceedings of the 14th ACM/IEEE International Symposium on Empirical Software Engineering and Measurement (ESEM)},
  pages={1--11},
  year={2020}
}

@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}}

@inproceedings{Simo01a,
	title = {Metrics based refactoring},
	author = {Simon, Frank and Steinbruckner, Frank and Lewerentz, Claus},
	booktitle = {Software Maintenance and Reengineering, 2001. Fifth European Conference on},
	pages = {30--38},
	year = {2001},
	organization = {IEEE}}

@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}}

@inproceedings{Simu00a,
 author = {\v{S}imuni\'{c}, Tajana and Benini, Luca and De Micheli, Giovanni and Hans, Mat},
 title = {Source Code Optimization and Profiling of Energy Consumption in Embedded Systems},
 booktitle = {Proceedings of the 13th International Symposium on System Synthesis},
 series = {ISSS '00},
 year = {2000},
 isbn = {1-58113-267-0},
 location = {Madrid, Spain},
 pages = {193--198},
 numpages = {6},
 url = {http://dx.doi.org/10.1145/501790.501831},
 doi = {10.1145/501790.501831},
 acmid = {501831},
 publisher = {IEEE Computer Society},
 address = {Washington, DC, USA}
}

@techreport{Sina16a,
	Title = {{TestView} Plugin --- A {Nautilus} Plugin to facilitate Unit Testing},
	Author = {Dominic Sina},
	Abstract = {The purpose of this bachelor project is to improve the Pharo
         environment by making it more unit test friendly. Instead of writing a new
         system browser we chose to realize this as a Nautilus plugin since this
         builds on established parts of the Pharo environment. This plugin includes
         various functionalities that help with finding and writing unit tests.
         Furthermore it provides ways to check if a method is untested, to see all
         tests that have been written for a certain method, to add new tests for
         existing methods and the ability to view a method and a corresponding test
         side by side. Before explaining the plugin and its functionalities in more
         detail we will take a look at various terms surrounding unit testing and
         analyze the development environments Eclipse and Pharo. They will be
         compared to each other in how unit test friendly they are. We also discuss
         opportunities for improvement. The aim of this thesis is to take a closer
         look at unit testing and in the form of a Nautilus plugin provide an
         example of how unit testing can be facilitated.},
	Institution = {University of Bern},
	Keywords = {scg-bp snf-none scg16 jb16},
	Type = {Bachelor's thesis},
	Url = {http://scg.unibe.ch/archive/projects/Sina16a.pdf},
	Month = feb,
	Year = {2016}
}

@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{Sing97a,
	Author = {Singer, Janice and Lethbridge, Timothy and Vinson, Norman and Anquetil, Nicolas},
	Booktitle = {Proceedings of the 1997 conference of the Centre for Advanced Studies on Collaborative research},
	Location = {Toronto, Ontario, Canada},
	Pages = {21--},
	Publisher = {IBM Press},
	Series = {CASCON '97},
	Title = {An examination of software engineering work practices},
	Url = {http://dl.acm.org/citation.cfm?id=782010.782031},
	Year = {1997},
	Bdsk-Url-1 = {http://dl.acm.org/citation.cfm?id=782010.782031}}

@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}}

@inproceedings{Sing09a,
  title={An investigation of the effect of discretization on defect prediction using static measures},
  author={Singh, Pradeep and Verma, Shirish},
  booktitle={Advances in Computing, Control, \& Telecommunication Technologies, 2009. ACT'09. International Conference on},
  pages={837--839},
  year={2009},
  organization={IEEE}
}

@article{Sing10a,
  title={Prediction of fault-prone software modules using statistical and machine learning methods},
  author={Singh, Yogesh and Kaur, Arvinder and Malhotra, Ruchika},
  journal={International Journal of Computer Applications},
  volume={1},
  number={22},
  pages={8--15},
  year={2010},
  publisher={Citeseer}
}

@incollection{Sinh02a,
	Acmid = {783078},
	Address = {Norwell, MA, USA},
	Author = {Sinha, Amit and Chandrakasan, Anantha},
	Booktitle = {Power aware computing},
	Editor = {Graybill, Robert and Melhem, Rami},
	Isbn = {0-306-46786-0},
	Keywords = {Jouletrack, leakage, low power software, software energy},
	Numpages = {21},
	Pages = {339--359},
	Publisher = {Kluwer Academic Publishers},
	Title = {Software energy profiling},
	Url = {http://dl.acm.org/citation.cfm?id=783060.783078},
	Year = {2002},
	Bdsk-Url-1 = {http://dl.acm.org/citation.cfm?id=783060.783078}}

@inproceedings{Sinh13a,
  title={Exploring activeness of users in QA forums},
  author={Sinha, Vibha Singhal and Mani, Senthil and Gupta, Monika},
  booktitle={Proceedings of the 10th Working Conference on Mining Software Repositories},
  pages={77--80},
  year={2013},
  organization={IEEE Press}}

@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}}

@book{Sips05a,
	Abstract = {{"Intended as an upper-level undergraduate or introductory graduate text in computer science theory," this book lucidly covers the key concepts and theorems of the theory of computation. The presentation is remarkably clear; for example, the "proof idea," which offers the reader an intuitive feel for how the proof was constructed, accompanies many of the theorems and a proof. <I>Introduction to the Theory of Computation</I> covers the usual topics for this type of text plus it features a solid section on complexity theory--including an entire chapter on space complexity. The final chapter introduces more advanced topics, such as the discussion of complexity classes associated with probabilistic algorithms.} {This highly anticipated revision builds upon the strengths of the previous edition. Sipser's candid, crystal-clear style allows students at every level to understand and enjoy this field.}},
	Author = {Sipser, Michael},
	Day = {15},
	Edition = {2},
	Howpublished = {Hardcover},
	Isbn = {0534950973},
	Keywords = {regex},
	Month = feb,
	Publisher = {Course Technology},
	Title = {Introduction to the Theory of Computation},
	Url = {http://www.amazon.com/exec/obidos/redirect?tag=citeulike07-20\&path=ASIN/0534950973},
	Year = {2005},
	Bdsk-Url-1 = {http://www.amazon.com/exec/obidos/redirect?tag=citeulike07-20%5C&path=ASIN/0534950973}}

@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{Slaw96a,
author={Stepniewski, Slawomir W. and Keane, Andy J.},
title={Topology design of feedforward neural networks by genetic algorithms},
booktitle={Parallel Problem Solving from Nature --- PPSN IV},
year={1996},
publisher={Springer Berlin Heidelberg},
address={Berlin, Heidelberg},
pages={771--780},
isbn={978-3-540-70668-7}
}

@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}}

@article{Sliw06a,
	Address = {New York, NY, USA},
	Author = {\'{S}liwerski, Jacek and Zimmermann, Thomas and Zeller, Andreas},
	Doi = {10.1145/1095430.1081725},
	Issn = {0163-5948},
	Issue = {5},
	Journal = {SIGSOFT Softw. Eng. Notes},
	Keywords = {sde11, multi-version-analysis, to-read, msr},
	Month = sep,
	Numpages = {4},
	Pages = {107--110},
	Publisher = {ACM},
	Title = {HATARI: raising risk awareness},
	Url = {http://doi.acm.org/10.1145/1095430.1081725},
	Volume = {30},
	Year = {2005},
	Bdsk-Url-1 = {http://doi.acm.org/10.1145/1095430.1081725},
	Bdsk-Url-2 = {http://dx.doi.org/10.1145/1095430.1081725}}

@inproceedings{Sloa14a,
	author        = {Anthony M. Sloane and Matthew Roberts and Scott Buckley and Shaun Muscat},
	booktitle     = {Proceedings of the Seventh International Conference on Software Language Engineering},
	doi           = {10.1007/978-3-319-11245-9_12},
	editor        = {Beno{\^i}t Combemale and David J. Pearce and Olivier Barais and Jurgen J. Vinju},
	isbn          = {978-3-319-11244-2},
	pages         = {211--220},
	publisher     = {Springer International Publishing},
	series        = {Lecture Notes in Computer Science},
	title         = {Monto: A Disintegrated Development Environment},
	volume        = {8706},
	year          = {2014}
}

@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}}

@misc{Smit,
	Author = {Rob Smit},
	Keywords = {optional typing},
	Note = {https://sourceforge.net/projects/pegon/},
	Title = {Pegon}}

@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},
	Number = {TR-272},
	School = {MIT},
	Title = {Reflection and Semantics in a Procedural Language},
	Type = {{Ph.D}. Thesis},
	Url = {http://repository.readscheme.org/ftp/papers/bcsmith-thesis.pdf},
	Year = {1982},
	Bdsk-Url-1 = {http://repository.readscheme.org/ftp/papers/bcsmith-thesis.pdf}}

@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},
	Doi = {10.1145/800017.800513},
	Keywords = {uni-refl},
	Pages = {23--3},
	Title = {Reflection and Semantics in {Lisp}},
	Year = {1984},
	Bdsk-Url-1 = {http://dx.doi.org/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{Smit95d,
	Abstract = {Manipulating programs is hard, while manipulating objects in the physical world is often easy. Several attributes of the physical world help make it comprehensible and manipulable: concreteness, uniformity, and flexibility. The Self programming system attempts to apply these attributes to the world within the computer. The semantics of the language, the efficiency and fidelity of its implementation, and the architecture of its user interface conspire to make the experience of constructing programs in Self immediate and tangible. We describe the mechanisms used to achieve this goal, and illustrate those mechanisms within the context of an extended programming task.},
	Address = {New York, NY, USA},
	Author = {Smith, Randall B. and Maloney, John and Ungar, David},
	Doi = {10.1145/217839.217843},
	Issn = {0362-1340},
	Journal = {SIGPLAN Not.},
	Keywords = {doodledebug},
	Month = oct,
	Number = {10},
	Pages = {47--60},
	Priority = {2},
	Publisher = {ACM},
	Title = {The {Self-4.0} user interface: manifesting a system-wide vision of concreteness, uniformity, and flexibility},
	Volume = {30},
	Year = {1995},
	Bdsk-Url-1 = {http://dx.doi.org/10.1145/217839.217843}}

@article{Smit96a,
	Address = {New York, NY, USA},
	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},
	Month = dec,
	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{Smit00d,
        Author = {Smith, Connie U. and Williams, Lloyd G.},
        Title = {Software Performance Antipatterns},
        Booktitle = {Proceedings of the 2Nd International Workshop on Software and Performance},
        Series = {WOSP '00},
        Year = {2000},
        Isbn = {1-58113-195-X},
        Location = {Ottawa, Ontario, Canada},
        Pages = {127--136},
        Numpages = {10},
        Url = {http://doi.acm.org/10.1145/350391.350420},
        Doi = {10.1145/350391.350420},
        Acmid = {350420},
        Publisher = {ACM},
        Address = {New York, NY, USA}}

@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{Smit03b,
        Author = {Smith, Connie U. and Williams, Lloyd G.},
        Title = {More new software performance antipatterns: Even more ways to shoot yourself in the foot},
        Booktitle = {Proceedings of the 28th International Computer Measurement Group Conference},
        Series = {CMG '02},
        Year = {2002},
        Pages = {717--725}}

@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}}

@article{Smit11a,
  title={Maintainability and source code conventions: An analysis of open source projects},
  author={Smit, Michael and Gergel, Barry and Hoover, H James and Stroulia, Eleni},
  journal={University of Alberta, Department of Computing Science, Tech. Rep. TR11},
  volume={6},
  year={2011},
  publisher={Citeseer}
}

@inproceedings {Smit15a,
author       = {Edward K. Smith and Christian Bird and Thomas Zimmermann},
booktitle    = {Proceedings of the 37th International Conference on Software Engineering},
month        = may,
publisher    = {IEEE -- Institute of Electrical and Electronics Engineers},
title        = {Build it yourself! {Homegrown} tools in a large software company},
url          = {http://research.microsoft.com/apps/pubs/default.aspx?id=238936},
year         = {2015}
}

@inproceedings{Smit15b,
 author = {Smith, Justin and Johnson, Brittany and Murphy-Hill, Emerson and Chu, Bill and Lipford, Heather Richter},
 title = {Questions Developers Ask While Diagnosing Potential Security Vulnerabilities with Static Analysis},
 booktitle = {Proceedings of the 2015 10th Joint Meeting on Foundations of Software Engineering},
 series = {ESEC/FSE 2015},
 year = {2015},
 isbn = {978-1-4503-3675-8},
 location = {Bergamo, Italy},
 pages = {248--259},
 numpages = {12},
 url = {http://doi.acm.org/10.1145/2786805.2786812},
 doi = {10.1145/2786805.2786812},
 acmid = {2786812},
 publisher = {ACM},
 address = {New York, NY, USA},
 keywords = {Developer questions, human factors, security, static analysis, dev-questions}}

@inproceedings{Smit19a,
  title={Code Convention Adherence in Research Data Infrastructure Software: An Exploratory Study},
  author={Smit, Michael},
  booktitle={2019 IEEE International Conference on Big Data (Big Data)},
  pages={4691--4700},
  year={2019},
  organization={IEEE}
}

@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}}

@inproceedings{Snaj12a,
	title = {AIVA vs UML: Comparison of Component Application Visualizations in a Case-study},
	author = {Snajberk, Jaroslav and Holy, Lukas and Brada, Premek},
	booktitle = {Information Visualisation (IV), 2012 16th International Conference on},
	pages = {54--61},
	year = {2012},
	organization = {IEEE}}

@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}}

@book{Snel15a,
  title={Microsoft Visual Studio 2015 Unleashed},
  author={Snell, M.},
  isbn={9780134133164},
  year={2015},
  publisher={Sams}
}

@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}}

@inproceedings{Snod86a,
	author={Snodgrass, Richard and Shannon, Karen},
	Title={Supporting flexible and efficient tool integration},
	Booktitle={Advanced Programming Environments: Proceedings of an International Workshop},
	year={1986},
	publisher={Springer Berlin Heidelberg},
	address={Berlin, Heidelberg},
	pages={290--313},
	isbn={978-3-540-47347-3},
	doi={10.1007/3-540-17189-4_104},
	url={http://dx.doi.org/10.1007/3-540-17189-4_104}
}

@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{Soar15a,
 author = {Soares, Daric{\'e}lio Moreira and de Lima J\'{u}nior, Manoel Limeira and Murta, Leonardo and Plastino, Alexandre},
 title = {Acceptance Factors of Pull Requests in Open-source Projects},
 booktitle = {Proceedings of the 30th Annual ACM Symposium on Applied Computing},
 series = {SAC '15},
 year = {2015},
 isbn = {978-1-4503-3196-8},
 location = {Salamanca, Spain},
 pages = {1541--1546},
 numpages = {6},
 url = {http://doi.acm.org/10.1145/2695664.2695856},
 doi = {10.1145/2695664.2695856},
 acmid = {2695856},
 publisher = {ACM},
 address = {New York, NY, USA},
 keywords = {association rules, data mining, pull request, software repositories}
}

@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}}

@article{Soet17a,
 author = {Soetens, Quinten David and Robbes, Romain and Demeyer, Serge},
 title = {Changes As First-Class Citizens: A Research Perspective on Modern Software Tooling},
 journal = {ACM Comput. Surv.},
 issue_date = {April 2017},
 volume = {50},
 number = {2},
 month = apr,
 year = {2017},
 issn = {0360-0300},
 pages = {18:1--18:38},
 articleno = {18},
 numpages = {38},
 url = {http://doi.acm.org/10.1145/3038926},
 doi = {10.1145/3038926},
 acmid = {3038926},
 publisher = {ACM},
 address = {New York, NY, USA},
 keywords = {Systematic mapping study, atomic change operations, change distilling, change recording, fine-grained changes, fine-grained edit operations}
}

@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}}

@book{Somm11a,
	Author = {Ian Sommerville},
	Edition = {Ninth},
	Keywords = {book oorp scglib eselit},
	Publisher = {Addison Wesley},
	Title = {Software Engineering},
	Year = {2011}
}

@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}}

@article{Song11a,
  title={A general software defect-proneness prediction framework},
  author={Song, Qinbao and Jia, Zihan and Shepperd, Martin and Ying, Shi and Liu, Jin},
  journal={IEEE Transactions on Software Engineering},
  volume={37},
  number={3},
  pages={356--370},
  year={2011},
  publisher={IEEE}
}

@article{Song19a,
  title={A survey of Automatic Generation of Source Code Comments: Algorithms and techniques},
  author={Song, Xiaotao and Sun, Hailong and Wang, Xu and Yan, Jiafei},
  journal={IEEE Access},
  volume={7},
  pages={111411--111428},
  year={2019},
  publisher={IEEE}
}

@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{Sorb15a,
  title={Development emails content analyzer: Intention mining in developer discussions {(T)}},
  author={Di Sorbo, Andrea and Panichella, Sebastiano and Visaggio, Corrado A and Di Penta, Massimiliano and Canfora, Gerardo and Gall, Harald C},
  booktitle={2015 30th IEEE/ACM International Conference on Automated Software Engineering (ASE)},
  pages={12--23},
  year={2015},
  organization={IEEE}
}

@inproceedings{Sorb16a,
  title={DECA: development emails content analyzer},
  author={Di Sorbo, Andrea and Panichella, Sebastiano and Visaggio, Corrado A and Di Penta, Massimiliano and Canfora, Gerardo and Gall, Harald},
  booktitle={2016 IEEE/ACM 38th International Conference on Software Engineering Companion (ICSE-C)},
  pages={641--644},
  year={2016},
  organization={IEEE}
}

@inproceedings{Sorb16b,
  author    = {Andrea Di Sorbo and Sebastiano Panichella and Carol V. Alexandru and Junji Shimagaki and
  			Corrado Aaron Visaggio and Gerardo Canfora and Harald C. Gall},
  editor    = {Thomas Zimmermann and Jane Cleland{-}Huang and Zhendong Su},
  title     = {What would users change in my app? summarizing app reviews for recommending software changes},
  booktitle = {Proceedings of the 24th {ACM} {SIGSOFT} International Symposium on
               Foundations of Software Engineering, {FSE} 2016, Seattle, WA, USA,
               November 13-18, 2016},
  pages     = {499--510},
  publisher = {{ACM}},
  year      = {2016},
  url       = {https://doi.org/10.1145/2950290.2950299},
  doi       = {10.1145/2950290.2950299},
  biburl    = {https://dblp.org/rec/conf/sigsoft/SorboPASVCG16.bib},
  bibsource = {dblp computer science bibliography, https://dblp.org}
}

@inproceedings{Sorb17a,
  author    = {Andrea Di Sorbo and Sebastiano Panichella and Carol V. Alexandru and Corrado Aaron Visaggio and Gerardo Canfora},
  editor    = {Sebasti{\'{a}}n Uchitel and Alessandro Orso and Martin P. Robillard},
  title     = {{SURF:} Summarizer of User Reviews Feedback},
  booktitle = {Proceedings of the 39th International Conference on Software Engineering,
               {ICSE} 2017, Buenos Aires, Argentina, May 20-28, 2017 - Companion
               Volume},
  pages     = {55--58},
  publisher = {{IEEE} Computer Society},
  year      = {2017},
  url       = {https://doi.org/10.1109/ICSE-C.2017.5},
  doi       = {10.1109/ICSE-C.2017.5},
  timestamp = {Wed, 16 Oct 2019 14:14:49 +0200},
  biburl    = {https://dblp.org/rec/conf/icse/SorboPAVC17.bib},
  bibsource = {dblp computer science bibliography, https://dblp.org}
}

@article{Sorb19a,
  title={Exploiting natural language structures in software informal documentation},
  author={Di Sorbo, Andrea and Panichella, Sebastiano and Visaggio, Corrado Aaron and Di Penta, Massimiliano and Canfora, Gerardo and Gall, Harald C},
  journal={IEEE Transactions on Software Engineering},
  year={2019},
  publisher={IEEE}
}

@inproceedings{Sore10a,
	Address = {New York, NY, USA},
	Articleno = {3},
	Author = {S{\/o}rensen, Fredrik and Axelsen, Eyvind W. and Krogdahl, Stein},
	Booktitle = {Proceedings of the 4th Workshop on MechAnisms for SPEcialization, Generalization and inHerItance},
	Doi = {10.1145/1929999.1930002},
	Isbn = {978-1-4503-0535-8},
	Keywords = {OOP, inheritance, modularization, templates},
	Location = {Maribor, Slovenia},
	Numpages = {5},
	Pages = {3:1--3:5},
	Publisher = {ACM},
	Series = {MASPEGHI '10},
	Title = {Reuse and combination with package templates},
	Url = {http://doi.acm.org/10.1145/1929999.1930002},
	Year = {2010},
	Bdsk-Url-1 = {http://doi.acm.org/10.1145/1929999.1930002},
	Bdsk-Url-2 = {http://dx.doi.org/10.1145/1929999.1930002}}

@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{Souz05a,
	Acmid = {1085331},
	Address = {New York, NY, USA},
	Author = {de Souza, Sergio Cozzetti B. and Anquetil, Nicolas and de Oliveira, K\'{a}thia M.},
	Booktitle = {Proceedings of the 23rd annual international conference on Design of communication: documenting \& designing for pervasive information},
	Doi = {10.1145/1085313.1085331},
	Isbn = {1-59593-175-9},
	Keywords = {empirical study, program understanding, software maintenance, software system documentation},
	Location = {Coventry, United Kingdom},
	Numpages = {8},
	Pages = {68--75},
	Publisher = {ACM},
	Series = {SIGDOC '05},
	Title = {A Study of the Documentation Essential to Software Maintenance},
	Year = {2005},
	Bdsk-Url-1 = {http://dx.doi.org/10.1145/1085313.1085331}}

@article{Souz06a,
  title={Which documentation for software maintenance?},
  author={de Souza, Sergio Cozzetti B and Anquetil, Nicolas and de Oliveira, K{\'a}thia M},
  journal={Journal of the Brazilian Computer Society},
  volume={12},
  number={3},
  pages={31--44},
  year={2006},
  publisher={Springer}
}

@inproceedings{Souz14a,
 author = {Souza, Carlos and Figueiredo, Eduardo},
 title = {How Do Programmers Use Optional Typing? {A}n Empirical Study},
 booktitle = {Proceedings of the 13th International Conference on Modularity},
 series = {MODULARITY '14},
 year = {2014},
 isbn = {978-1-4503-2772-5},
 location = {Lugano, Switzerland},
 pages = {109--120},
 numpages = {12},
 url = {http://doi.acm.org/10.1145/2577080.2582208},
 doi = {10.1145/2577080.2582208},
 acmid = {2582208},
 publisher = {ACM},
 address = {New York, NY, USA},
 keywords = {groovy, static analysis, type systems}
}

@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}}

@inproceedings{Spas11a,
author={Spasojevi\'{c}, B. and Dukic, M. and Zaric, Z. and Krunic, M. and Popovic, M.},
booktitle={Telecommunications Forum (TELFOR), 2011 19th},
title={One solution of decision space searching while synthesizing code in a compiler},
year={2011},
month=nov,
pages={1540-1542},
keywords={Spasojevic program compilers;program interpreters;code synthesis;code translation;decision space searching;digital signal processors;Telecommunications},
doi={10.1109/TELFOR.2011.6143851}}

@inproceedings{Spas14a,
	Annote = {internationalworkshop},
	Abstract = {Software developers are often unsure of the exact name of the method
	they need to use to invoke the desired behavior in a given context. This results
	in a process of searching for the correct method name in documentation, which can
	be lengthy and distracting to the developer.
	We can decrease the method search time by enhancing the documentation of a class
	with the most frequently used methods. Usage frequency data for methods is gathered
	by analyzing other projects from the same ecosystem - written in the same language
	and sharing dependencies.
	We implemented a proof of concept of the approach for Pharo Smalltalk and Java. In
	Pharo Smalltalk, methods are commonly searched for using a code browser tool called
	"Nautilus", and in Java using a web browser displaying HTML based documentation -
	Javadoc. We developed plugins for both browsers and gathered method usage data from
	open source projects, in order to increase developer productivity by reducing method
	search time.
	A small initial evaluation has been conducted showing promising results in improving
	developer productivity.},
	author = {Spasojevi\'{c}, Boris and Lungu, Mircea and Nierstrasz, Oscar},
 	title = {Towards Faster Method Search Through Static Ecosystem Analysis},
 	booktitle = {Proceedings of the 2014 European Conference on Software Architecture Workshops},
	Keywords = {scg-pub snf-asa1 scg14 jb14 internationalworkshop scg-bigdata Spasojevic},
	PeerReview = {yes},
	Medium = {1},
	series = {ECSAW '14},
 	year = {2014},
 	isbn = {978-1-4503-2778-7},
 	location = {Vienna, Austria},
 	pages = {11:1--11:6},
 	articleno = {11},
 	numpages = {6},
 	acmid = {2642814},
 	address = {New York, NY, USA},
	Month = aug,
	Publisher = {ACM},
	Location = {Vienna, Austria},
	Doi = {10.1145/2642803.2642814},
	Url = {http://scg.unibe.ch/archive/papers/Spas14aFasterMethodLookup.pdf}}

@inproceedings{Spas14b,
	Annote = {internationalconference},
	Abstract = {Software developers are often unsure of the exact name of the API method they need to use to invoke the desired behavior. Most state-of-the-art documentation browsers present API artefacts in alphabetical order. Albeit easy to implement, alphabetical order does not help much: if the developer knew the name of the required method, he could have just searched for it in the first place. In a context where multiple projects use the same API, and their source code is available, we can improve the API presentation by organizing the elements in the order in which they are more likely to be used by the developer. Usage frequency data for methods is gathered by analyzing other projects from the same ecosystem and this data is used then to improve tools. We present a preliminary study on the potential of this approach to improve the API presentation by reducing the time it takes to find the method that implements a given feature. We also briefly present our experience with two proof-of-concept tools implemented for Smalltalk and Java.},
	author = {Spasojevi\'{c}, Boris and Lungu, Mircea and Nierstrasz, Oscar},
	Booktitle = {2014 IEEE International Conference on Software Maintenance and Evolution (ERA Track)},
	Doi = {10.1109/ICSME.2014.84},
	Keywords = {scg14 jb15; scg-pub snf-asa1; scg-bigdata Spasojevic},
	PeerReview = {yes},
	Medium = {2},
	Month = sep,
	Pages = {511-515},
	Title = {Overthrowing the Tyranny of Alphabetical Ordering in Documentation Systems},
	Url = {http://scg.unibe.ch/archive/papers/Spas14b.pdf},
	Year = {2014},
	PeerReview = {yes}}

@inproceedings{Spas14c,
	Annote = {internationalconference},
	Abstract = {Dynamically typed languages lack information about the types of variables in the source code. Developers care about this information as it supports program comprehension. Ba- sic type inference techniques are helpful, but may yield many false positives or negatives. We propose to mine information from the software ecosys- tem on how frequently given types are inferred unambigu- ously to improve the quality of type inference for a single system. This paper presents an approach to augment existing type inference techniques by supplementing the informa- tion available in the source code of a project with data from other projects written in the same language. For all available projects, we track how often messages are sent to instance variables throughout the source code. Predictions for the type of a variable are made based on the messages sent to it. The evaluation of a proof-of-concept prototype shows that this approach works well for types that are sufficiently popular, like those from the standard librarie, and tends to create false positives for unpopular or domain specific types. The false positives are, in most cases, fairly easily identifiable. Also, the evaluation data shows a substantial increase in the number of correctly inferred types when compared to the non-augmented type inference.},
	Address = {New York, NY, USA},
	author = {Spasojevi\'{c}, Boris and Lungu, Mircea and Nierstrasz, Oscar},
	booktitle = {Proceedings of the 2014 ACM International Symposium on New Ideas, New Paradigms, and Reflections on Programming and Software},
	series = {Onward! '14},
	isbn = {978-1-4503-3210-1},
	Doi = {10.1145/2661136.2661141},
	Keywords = {scg14 jb15; scg-pub snf-asa1; scg-bigdata; Ecosystem Mining; Type Inference Spasojevic},
	PeerReview = {yes},
	Medium = {2},
	location = {Portland, Oregon, USA},
	acmid = {2661141},
	pages = {133--142},
	Numpages = {10},
	Publisher = {ACM},
	Title = {Mining the Ecosystem to Improve Type Inference For Dynamically Typed Languages},
	Url = {http://scg.unibe.ch/archive/papers/Spas14c.pdf},
	Year = {2014}}

@inproceedings{Spas16a,
	Annote = {internationalconference},
	Author = {Spasojevi\'{c}, Boris and Lungu, Mircea and Nierstrasz, Oscar},
	Title = {A Case Study on Type Hints in Method Argument Names in {Pharo} {Smalltalk} Projects},
	Abstract = {A common practice when writing Smalltalk source code is to name method arguments in a way that hints at their expected type (i.e., aString, anInteger, aDictionary). This practice makes code more readable, but the prevalence of this practice is unknown, thus its reliability is questionable. Tools such as the auto complete feature in the Pharo Smalltalk code editor rely on these hints to improve the developer experience. The default algorithm used in Pharo to extract type information from these hints succeeds in extracting a type in slightly over 36% of method arguments taken from 114 Pharo projects. In this paper we present the results of analyzing the failing method argument names, and provide several simple heuristics that can increase the rate of success to slightly over 50%. We also present a case study on the relation between type hints and run-time types of method arguments that shows that type hints, in a great majority of cases, reflect run-time types.},
	Keywords = {scg-pub snf-asa1 scg16 Spasojevic},
	Booktitle = {Proceedings of the 23rd IEEE International Conference on Software Analysis, Evolution, and Reengineering (SANER)},
	PeerReview = {yes},
	Medium = {2},
	volume={1},
	pages={283-292},
	Year = {2016},
	month=mar,
	Keywords = {scg-pub snf-asa1 scg16 jb16 Spasojevic},
	doi={10.1109/SANER.2016.41},
	Url = {http://scg.unibe.ch/archive/papers/Spas16a.pdf}
}

@inproceedings{Spas16b,
	Abstract = {In this paper we propose the idea of constructing an Object Repository -- a repository of code snippets that, when executed, produce an instance of some class. Such a repository may be useful for several software engineering tasks like augmenting software documentation, testing object inspectors, improving program comprehension etc.
	We mine code snippets from existing software systems via brute force execution of code segments obtained through converting AST nodes of methods to source code. The gathered snippets are known to be executable, and this is a novelty which is not possible with existing approaches.
	We show that applying the proposed approach to 141 open source Pharo projects results in an Object Repository that can instantiate almost 80\% of the available classes in these projects.},
	Annote = {internationalworkshop},
	Author = {Boris Spasojevi\'{c} and Mohammad Ghafari and Oscar Nierstrasz},
	Title = {The {Object Repository}, Pulling Objects out of the Ecosystem},
	Booktitle = {Proceedings of the 11th Edition of the International Workshop on Smalltalk Technologies},
	Series = {IWST'16},
	Year = {2016},
	isbn = {978-1-4503-4524-8},
	location = {Prague, Czech Republic},
	pages = {7:1--7:10},
	articleno = {7},
	numpages = {10},
	Url = {http://scg.unibe.ch/archive/papers/Spas16b.pdf},
	doi = {10.1145/2991041.2991048},
	acmid = {2991048},
	publisher = {ACM},
	address = {New York, NY, USA},
	Keywords = {scg16 scg-pub jb16 snf-asa2 spasojevic, Ecosystem Analysis, Ecosystem Mining, Object Repository},
	Peerreview = {yes}
}

@inproceedings{Spas16c,
	Annote = {internationalworkshop},
	Author = {Boris Spasojevi\'{c}},
	Abstract = {Integrating ecosystem data into developer tools can be very beneficial but is usually complicated. By automating the routine parts of this task we can reduce the amount of work needed to develop these tools. We have developed a framework that allows developers to quickly develop new tools that use ecosystem data. This framework automates the execution of user-defined analyses on ecosystem projects, allowing the developer to focus only on what ecosystem data is needed for her tool and how to present it.},
	title = {Building Ecosystem-Aware Tools Using the Ecosystem Monitoring Framework},
	publisher = {{CEUR}},
	booktitle = {Post-proceedings of the 9th Seminar on Advanced Techniques and Tools for Software Evolution (SATToSE 2016)},
    Volume = {1791},
	year = {2016},
	month = jul,
	location = {Bergen, Norway},
	numpages = {8},
	PeerReview = {yes},
	Medium = {2},
	Keywords = {scg-pub snf-asa2 scg16 jb16 skip-doi spasojevic},
	Pdf = {http://ceur-ws.org/Vol-1791/paper-02.pdf},
	Url = {http://scg.unibe.ch/archive/papers/Spas16c.pdf}}

@phdthesis{Spas16d,
	Abstract = {Tool developers frequently leverage data from software ecosystems
	to improve their tools. Unfortunately, every developer has to
	build his own infrastructure to analyse the software ecosystem. This
	means identifying the scope of the ecosystem, obtaining the source
	code, extracting, storing and updating the data and so on.
	We argue that many of these tasks can be automated, freeing
	the developer to focus only on how to extract the needed ecosystem
	data and how to present it to the developer.
	To support our claim, we developed a framework for developing
	ecosystem-aware tools, tools that leverage data from the software
	ecosystem. This framework automates all routine steps of the process
	and leaves the developer to specify what data to extract from
	the ecosystem, and how to use it.
	To illustrate how this framework can be used for development
	of real-world ecosystem-aware tools we created four such tools using
	this framework. These tools are implementations of innovative
	approaches that improve the developer experience and were chosen
	to be diverse so as to illustrate the flexibility and features of the
	framework which is meant to support the needs of a broad range
	ecosystem-aware tools.
	The tools are individually evaluated and shown to be an improvement
	on the standard techniques, further supporting the notion that
	incorporating ecosystem data into the development process can be
	beneficial.},
	Author = {Boris Spasojevi\'{c}},
	Keywords = {scg-phd snf-asa2 scg16 jb17 skip-doi},
	Month = dec,
	PeerReview = {yes},
	Medium = {2},
	School = {University of Bern},
	Title = {Developing Ecosystem-aware Tools},
	Type = {{PhD} thesis},
	Url = {http://scg.unibe.ch/archive/phd/spasojevic-phd.pdf},
	Year = {2016},
	Bdsk-Url-1 = {http://scg.unibe.ch/archive/phd/spasojevic-phd.pdf}}

@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 scg-none 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}}

@article{Spin08a,
	Abstract = {The tools and processes we use to transform our system's source code into an application that we
				can deploy or ship have always been important, but nowadays they can mean the difference between
				success and failure. The reasons are simple: larger code bodies; teams that are bigger, more fluid,
				and more widely distributed; richer interactions with other code; and sophisticated tool chains.
				All these mean that a slapdash software build process will be an endless drain on productivity and
				an embarrassing source of bugs, while a high-quality one will give us developers more time and
				traction to build better software.},
	Author = {Spinellis, D.},
	Doi = {10.1109/MS.2008.74},
	Issn = {0740-7459},
	Journal = {Software, IEEE},
	Keywords = {slapdash software build process;software builders;system source code;tool chains;software process improvement;software tools;},
	Month = may,
	Number = {3},
	Pages = {22 -23},
	Title = {Software Builders},
	Volume = {25},
	Year = {2008},
	Bdsk-Url-1 = {http://dx.doi.org/10.1109/MS.2008.74}}

@book{Spiv89a,
	Author = {J. Spivey},
	Isbn = {13-978529-9},
	Keywords = {book scglib},
	Publisher = {Prentice-Hall},
	Title = {The {Z} Notation: {A} Reference Manual},
	Year = {1989}}

@inproceedings{Spiz14a,
 author = {Spiza, Samuel and Hanenberg, Stefan},
 title = {Type Names Without Static Type Checking Already Improve the Usability of {APIs} (As Long As the Type Names Are Correct): An Empirical Study},
 booktitle = {Proceedings of the 13th International Conference on Modularity},
 series = {MODULARITY '14},
 year = {2014},
 isbn = {978-1-4503-2772-5},
 location = {Lugano, Switzerland},
 pages = {99--108},
 numpages = {10},
 url = {http://doi.acm.org/10.1145/2577080.2577098},
 doi = {10.1145/2577080.2577098},
 acmid = {2577098},
 publisher = {ACM},
 address = {New York, NY, USA},
 keywords = {controlled experiments, empirical research, programming languages, type systems}
}

@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{Spoo05b,
	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}}

@phdthesis{Spoo05c,
	Author = {S. Alexander Spoon},
	School = {Georgia Institute of Technology},
	Title = {Demand-Driven Type Inference with Subgoal Pruning},
	Url = {http://hdl.handle.net/1853/7486},
	Year = {2005},
	Bdsk-Url-1 = {http://hdl.handle.net/1853/7486}}

@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,
	Address = {Washington, DC, USA},
	Author = {Spoto, Fausto},
	Booktitle = {SEFM'08: Proceedings of the Sixth International Conference on Software Engineering and Formal Methods},
	Doi = {10.1109/SEFM.2008.8},
	Isbn = {978-0-7695-3437-4},
	Keywords = {damiencbib nullness analysis, null pointer, abstract interpretation, static analysis, Boolean formulas},
	Month = nov,
	Pages = {21--30},
	Publisher = {IEEE Computer Society},
	Title = {Nullness Analysis in Boolean Form},
	Year = {2008},
	Bdsk-Url-1 = {http://dx.doi.org/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}}

@techreport{Spri18a,
	Title = {Benchmarking {Android} Data Leak Detection Tools},
	Author = {Timo Spring},
	Abstract = {In 2017, Android hit a global mobile market share of 88\% which makes it
		the most popular mobile platform. Application stores, such as the Google
		Play Store, are offering millions of mobile applications to consumers,
		which are installed and updated on a daily basis. However, the security
		of those applications is a major concern. A thorough security analysis
		before the publication of each application is time and resource
		consuming. Hence, platform providers cannot and do not manually vet
		every application handed in for publication. Consequently, many
		malicious and vulnerable applications find their way to the app stores
		and through there to the end users' devices. Those applications exhibit
		serious security issues, such as leaking of sensitive information.
		During the previous years, researchers proposed a myriad of techniques
		and tools to detect such issues. There also exist large scale taxonomies
		classifying such tools into different categories. However, it is unclear
		how these tools perform compared to each other. Such a comparison is
		almost infeasible, since most tools are no longer available or cannot be
		set up any more. In this work, we review static analysis tools for
		detecting data leaks in Android applications. Out of 87 tools in the
		vulnerability detection domain, we are able to obtain 22 tools. We then
		identify 5 tools in the data leak detection domain and run them. We run
		them on a given data set with known data leak vulnerabilities and
		compare their performance. Furthermore, we run the tools on a larger set
		of real-world applications to assess the prevalence of data leak issues
		in open-source Android applications. We propose our own
		approach --- DistillDroid --- to compare security analysis tools by normalising
		their interfaces. This simplifies result reproduction and extension to
		other security vulnerability domains. In addition, the user experience
		and usability is highly improved.},
	Institution = {University of Bern},
	Keywords = {scg-bp snf-asa2 scg18 jb19},
	Type = {Bachelor's thesis},
	Url = {http://scg.unibe.ch/archive/projects/Spri18a.pdf},
	Month = aug,
	Year = {2018}
}

@misc{Squawk,
	Key = {Squawk},
	Note = {http://research.sun.com/projects/squawk},
	Title = {The Squawk Project}}

@misc{Squeak,
	Author = {Squeak},
	Howpublished = {http://www.squeak.org/, archived at http://www.webcitation.org/5p1poT9Ta},
	Key = {Squeak},
	Title = {Squeak Home Page},
	Url = {http://www.squeak.org/},
	Year = {2010},
	Bdsk-Url-1 = {http://www.squeak.org/}}

@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 scg-none 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,
	Address = {Orlando, FL, USA},
	Author = {Sreedhar, Vugranam C.},
	Booktitle = {ICSE'02: Proceedings of the 24th International Conference on Software Engineering},
	Doi = {10.1145/581339.581366},
	Keywords = {damiencbib acoel},
	Pages = {198--207},
	Publisher = {ACM},
	Title = {Mixin'Up components},
	Year = {2002},
	Bdsk-Url-1 = {http://dx.doi.org/10.1145/581339.581366}}

@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}}

@inproceedings{Srid10a,
  title={Towards automatically generating summary comments for java methods},
  author={Sridhara, Giriprasad and Hill, Emily and Muppaneni, Divya and Pollock, Lori and Vijay-Shanker, K},
  booktitle={Proceedings of the IEEE/ACM international conference on Automated software engineering},
  pages={43--52},
  year={2010}
}

@inproceedings{Srid11a,
	Author = {Sridhara, G. and Pollock, L. and Vijay-Shanker, K.},
	Booktitle = {Program Comprehension (ICPC), 2011 IEEE 19th International Conference on},
	Doi = {10.1109/ICPC.2011.28},
	Issn = {1063-6897},
	Month = jun,
	Pages = {71--80},
	Title = {Generating Parameter Comments and Integrating with Method Summaries},
	Year = {2011},
	Bdsk-Url-1 = {http://dx.doi.org/10.1109/ICPC.2011.28}}

@article{Srin05a,
 author = {Srinivas, Kavitha and Srinivasan, Harini},
 title = {Summarizing Application Performance from a Components Perspective},
 journal = {SIGSOFT Softw. Eng. Notes},
 issue_date = {September 2005},
 volume = {30},
 number = {5},
 month = sep,
 year = {2005},
 issn = {0163-5948},
 pages = {136--145},
 numpages = {10},
 url = {http://doi.acm.org/10.1145/1095430.1081730},
 doi = {10.1145/1095430.1081730},
 acmid = {1081730},
 publisher = {ACM},
 address = {New York, NY, USA},
 keywords = {blame assignment, performance analysis, regression, segmented cumulative costs}
}

@article{Sriv04a,
	Acmid = {989446},
	Address = {New York, NY, USA},
	Author = {Srivastava, Amitabh and Eustace, Alan},
	Doi = {10.1145/989393.989446},
	Issn = {0362-1340},
	Issue = {4},
	Journal = {SIGPLAN Not.},
	Month = apr,
	Numpages = {12},
	Pages = {528--539},
	Publisher = {ACM},
	Title = {ATOM: a system for building customized program analysis tools},
	Volume = {39},
	Year = {2004},
	Bdsk-Url-1 = {http://dx.doi.org/10.1145/989393.989446}}

@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}}

@inproceedings{Stad09a,
	Acmid = {1596679},
	Address = {New York, NY, USA},
	Author = {Stadler, Lukas and Wimmer, Christian and W\"{u}rthinger, Thomas and M\"{o}ssenb\"{o}ck, Hanspeter and Rose, John},
	Booktitle = {Proceedings of the 7th International Conference on Principles and Practice of Programming in {Java}},
	Date-Added = {2012-01-26 09:41:16 +0100},
	Date-Modified = {2012-01-26 09:44:07 +0100},
	Doi = {doi.acm.org/10.1145/1596655.1596679},
	Isbn = {978-1-60558-598-7},
	Keywords = {continuation; java},
	Location = {Calgary, Alberta, Canada},
	Numpages = {10},
	Pages = {143--152},
	Publisher = {ACM},
	Series = {PPPJ '09},
	Title = {Lazy continuations for Java virtual machines},
	Url = {http://doi.acm.org/10.1145/1596655.1596679},
	Year = {2009},
	Bdsk-Url-1 = {http://doi.acm.org/10.1145/1596655.1596679},
	Bdsk-Url-2 = {http://dx.doi.org/10.1145/1596655.1596679}}

@article{Stal81a,
     author = {Stallman, Richard M.},
     title = {EMACS the Extensible, Customizable Self-documenting Display Editor},
     journal = {ACM SIGOA Newsletter},
     issue_date = {Spring/Summer 1981},
     volume = {2},
     number = {1-2},
     month = apr,
     year = {1981},
     issn = {0737-819X},
     pages = {147--156},
     numpages = {10},
     url = {http://doi.acm.org/10.1145/1159890.806466},
     doi = {10.1145/1159890.806466},
     acmid = {806466},
     publisher = {ACM},
     address = {New York, NY, USA}
}

@article{Stal02a,
  title={Debugging with {GDB}},
  author={Stallman, Richard and Pesch, Roland and Shebs, Stan and others},
  journal={Free Software Foundation},
  volume={51},
  pages={02110--1301},
  year={2002}
}

@inproceedings{Stap20a,
  author    = {Sean Stapleton and
               Yashmeet Gambhir and
               Alexander LeClair and
               Zachary Eberhart and
               Westley Weimer and
               Kevin Leach and
               Yu Huang},
  title     = {A Human Study of Comprehension and Code Summarization},
  booktitle = {{ICPC} '20: 28th International Conference on Program Comprehension,
               Seoul, Republic of Korea, July 13-15, 2020},
  pages     = {2--13},
  publisher = {{ACM}},
  year      = {2020},
  url       = {https://doi.org/10.1145/3387904.3389258},
  doi       = {10.1145/3387904.3389258},
  keywords =  {comment-quality-slr},
  timestamp = {Mon, 21 Sep 2020 12:25:07 +0200},
  biburl    = {https://dblp.org/rec/conf/iwpc/StapletonGLEWL020.bib},
  bibsource = {dblp computer science bibliography, https://dblp.org}
}

@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}}

@inproceedings{Star09b,
author={Starke, J. and Luce, C. and Sillito, J.},
booktitle={Software Maintenance, 2009. ICSM 2009. IEEE International Conference on},
title={Searching and skimming: An exploratory study},
year={2009},
month=sep,
pages={157-166},
doi={10.1109/ICSM.2009.5306335},
ISSN={1063-6773}
}

@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}}

@inproceedings{Stas92a,
	title = {Understanding and characterizing software visualization systems},
	author = {Stasko, John T and Patterson, Charles},
	booktitle = {Visual Languages, 1992. Proceedings., 1992 IEEE Workshop on},
	pages = {3--10},
	year = {1992},
	organization = {IEEE}
}

@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}}

@techreport{Steb15a,
	Abstract = {Since Smalltalk is a dynamically typed programming
	language it remain agnostic to variable types at compile time, and
	only take them into account at runtime. This gives more freedom to the
	developer, as one variable can take on radically different types during
	program execution. Lack of understanding of dynamic behavior of
	Smalltalk applications can lead to misleading conclusions about the
	presents of dynamic features such as duck typing. By instrumenting
	Smalltalk source code and tracking the different types that variables
	receive, we concluded that duck-typed variables account for around 1\%
	of total variables. We gather this information using our tool named
	VariableTracker. We also present an analysis of usage patterns of
	duck-typed variables from our collected data.},
	Author = {Roger Stebler},
	Institution = {University of Bern},
	Keywords = {snf-none scg-bp scg15 jb15},
	Month = apr,
	Title = {Evaluating the dynamic behavior of {Smalltalk} applications},
	Type = {Bachelor's thesis},
	Year = {2015},
	Url = {http://scg.unibe.ch/archive/projects/Steb15a-VariableTracker.pdf}
}

@mastersthesis{Steb17a,
	Title = {An empirical investigation into the usage of a live debugger},
	Author = {Roger Stebler},
	Abstract = {Reasoning about the run-time behavior of software applications is
		a challenging task. Live debuggers are essential tools that
		developers use in combination with other tools from an IDE to
		find and fix problematic behavior. Nevertheless, if developers
		use the debugger the wrong way or the debugger does not provide
		adequate features, it will complicate the debugging process. To
		explore these issues and help improve the debugging process, we
		perform an empirical investigation into how developers fix a
		given bug in an unknown piece of code. We focus our investigation
		on how developers use the debugger, and on how domain-specific
		information helps developers during the debugging process.
		Towards this goal, we design the experiment as a between-group
		study with 10 participants.
		We collected and analyzed 6 hours of recordings. By analyzing
		them we observed that: (i) developers use different strategies to
		find the cause of a bug; those who successfully solved the given
		bug observed the live behavior of the application while stepping
		in the debugger; (ii) domain-specific information helps
		developers if they are able to find it, especially when dealing
		with unfamiliar libraries, and (iii) finding and using
		domain-specific information is not always straightforward unless
		the information is shown by default. Based on these observations
		we propose several improvements to the debugger, such as visually
		highlighting domain-specific information in the debugger, and
		automatically executing previous debugging actions to avoid their
		repetition.},
	Keywords = {scg-msc snf-asa2 scg17 jb17},
	School = {University of Bern},
	Type = {Masters thesis},
	Url = {http://scg.unibe.ch/archive/masters/Stebl17a.pdf},
	Month = jun,
	Year = {2017}
}

@inproceedings{Stec11a,
	Address = {San Francisco, CA, USA},
	Author = {Steck, Andreas and Schlegel, Christian},
	Booktitle = {IROS'11: Proceedings of the 24th International Conference on Intelligent Robots and Systems},
	Keywords = {damiencbib robotics},
	Month = sep,
	Note = {(to appear)},
	Publisher = {IEEE},
	Title = {Managing Execution Variants in Task Coordination by Exploiting Design-Time Models at Run-Time},
	Year = {2011}}

@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},
	Bdsk-Url-2 = {http://dx.doi.org/10.1023/A:1010085415024},
	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://www.program-metamorphosis.org/diwan/3155-f04/steele.pdf},
	Volume = {12},
	Year = {1999},
	Bdsk-Url-1 = {http://www.program-metamorphosis.org/diwan/3155-f04/steele.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}}

@inproceedings{Stef14a,
 author = {Stefik, Andreas and Hanenberg, Stefan},
 title = {The Programming Language Wars: Questions and Responsibilities for the Programming Language Community},
 booktitle = {Proceedings of the 2014 ACM International Symposium on New Ideas, New Paradigms, and Reflections on Programming \& Software},
 series = {Onward! 2014},
 year = {2014},
 isbn = {978-1-4503-3210-1},
 location = {Portland, Oregon, USA},
 pages = {283--299},
 numpages = {17},
 url = {http://doi.acm.org/10.1145/2661136.2661156},
 doi = {10.1145/2661136.2661156},
 acmid = {2661156},
 publisher = {ACM},
 address = {New York, NY, USA},
 keywords = {evidence standards, stability of the academic literature, the programming language wars}
}

@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}}

@article{Stei00a,
	Acmid = {360749},
	Address = {Amsterdam, The Netherlands, The Netherlands},
	Author = {Steimann, Friedrich},
	Date-Added = {2013-04-29 09:31:08 +0000},
	Date-Modified = {2013-04-29 09:36:04 +0000},
	Doi = {10.1016/S0169-023X(00)00023-9},
	Issn = {0169-023X},
	Issue_Date = {Oct. 2000},
	Journal = {Data Knowl. Eng.},
	Keywords = {object-oriented; context-oriented; classic; role; reclassification},
	Month = oct,
	Number = {1},
	Numpages = {24},
	Pages = {83--106},
	Publisher = {Elsevier Science Publishers B. V.},
	Title = {On the representation of roles in object-oriented and conceptual modelling},
	Url = {http://dx.doi.org/10.1016/S0169-023X(00)00023-9},
	Volume = {35},
	Year = {2000},
	Bdsk-Url-1 = {http://dx.doi.org/10.1016/S0169-023X(00)00023-9}}

@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 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}}

@article{Stei10a,
	Acmid = {1767752},
	Address = {New York, NY, USA},
	Articleno = {1},
	Author = {Steimann, Friedrich and Pawlitzki, Thomas and Apel, Sven and K\"{a}stner, Christian},
	Doi = {10.1145/1767751.1767752},
	Issn = {1049-331X},
	Issue_Date = {June 2010},
	Journal = {ACM Trans. Softw. Eng. Methodol.},
	Keywords = {Implicit invocation, aspect-oriented programming, event-driven programming, modularity, publish/subscribe, typing},
	Month = jul,
	Number = {1},
	Numpages = {43},
	Pages = {1:1--1:43},
	Publisher = {ACM},
	Title = {Types and modularity for implicit invocation with implicit announcement},
	Url = {http://doi.acm.org/10.1145/1767751.1767752},
	Volume = {20},
	Year = {2010},
	Bdsk-Url-1 = {http://doi.acm.org/10.1145/1767751.1767752},
	Bdsk-Url-2 = {http://dx.doi.org/10.1145/1767751.1767752}}

@inproceedings{Stei12,
 author = {Steinert, Bastian and Cassou, Damien and Hirschfeld, Robert},
 title = {CoExist: overcoming aversion to change},
 booktitle = {Proceedings of the 8th symposium on Dynamic languages},
 series = {DLS '12},
 year = {2012},
 isbn = {978-1-4503-1564-7},
 location = {Tucson, Arizona, USA},
 pages = {107--118},
 numpages = {12},
 url = {http://doi.acm.org/10.1145/2384577.2384591},
 doi = {10.1145/2384577.2384591},
 acmid = {2384591},
 publisher = {ACM},
 address = {New York, NY, USA},
 keywords = {continuous testing, continuous versioning, debugging, evolution, explore-first programming, fault localization, prototyping}
}

@incollection{Stei09a,
	Author = {Steimann, Friedrich and Pilgrim, Jens},
	Booktitle = {ECOOP 2012 -- Object-Oriented Programming},
	Doi = {10.1007/978-3-642-31057-7_24},
	Editor = {Noble, James},
	Isbn = {978-3-642-31056-0},
	Pages = {535-559},
	Publisher = {Springer Berlin Heidelberg},
	Series = {Lecture Notes in Computer Science},
	Title = {Constraint-Based Refactoring with Foresight},
	Url = {http://dx.doi.org/10.1007/978-3-642-31057-7_24},
	Volume = {7313},
	Year = {2012},
	Bdsk-Url-1 = {http://dx.doi.org/10.1007/978-3-642-31057-7_24}}

@article{Stei12a,
  author = {Frank Steinbr\"uckner and Claus Lewerentz},
  title = {Understanding software evolution with software cities},
  journal = {Information Visualization},
  volume = {12},
  number = {2},
  month = apr,
  year = {2013},
  doi = {10.1177/1473871612438785},
  pages = {200--216},
  publisher = {Sage Journals}
}

@inproceedings{Stei13a,
 author = {Steimann, Friedrich},
 title = {Content over Container: Object-oriented Programming with Multiplicities},
 booktitle = {Proceedings of the 2013 ACM International Symposium on New Ideas, New Paradigms, and Reflections on Programming \& Software},
 series = {Onward! 2013},
 year = {2013},
 isbn = {978-1-4503-2472-4},
 location = {Indianapolis, Indiana, USA},
 pages = {173--186},
 numpages = {14},
 url = {http://doi.acm.org/10.1145/2509578.2509582},
 doi = {10.1145/2509578.2509582},
 acmid = {2509582},
 publisher = {ACM},
 address = {New York, NY, USA},
 keywords = {cardinalities, multiplicities}
}

@inproceedings{Stei13b,
  title={Quality Analysis of Source Code Comments},
  author={Steidl, Daniela and Hummel, Benjamin and Juergens, Elmar},
  booktitle={Program Comprehension (ICPC), 2013 IEEE 21st International Conference on},
  pages={83--92},
  year={2013},
  Keywords =  {comment-quality-slr},
  organization={IEEE}}

@article{Stei014a,
  title={Multitudes of Objects: First Implementation and Case Study for Java},
  author={Steimann, Friedrich and {\"O}qvist, Jesper and Hedin, G{\"o}rel},
  journal={Journal of Object Technology},
  volume={13},
  number={5},
  pages={1--33},
  year={2014},
  publisher={AIOT-Association Internationale pour les Technologies Objets}
}

@inproceedings{Stei15a,
  author =	{Friedrich Steimann},
  title =	{None, One, Many --- What's the Difference, Anyhow?},
  booktitle =	{1st Summit on Advances in Programming Languages ({SNAPL} 2015)},
  pages =	{294--308},
  series =	{Leibniz International Proceedings in Informatics (LIPIcs)},
  ISBN =	{978-3-939897-80-4},
  ISSN =	{1868-8969},
  year =	{2015},
  volume =	{32},
  editor =	{Thomas Ball and Rastislav Bodik and Shriram Krishnamurthi and Benjamin S. Lerner and Greg Morrisett},
  publisher =	{Schloss Dagstuhl--Leibniz-Zentrum fuer Informatik},
  address =	{Dagstuhl, Germany},
  URL =		{http://drops.dagstuhl.de/opus/volltexte/2015/5032},
  URN =		{urn:nbn:de:0030-drops-50329},
  doi =		{10.4230/LIPIcs.SNAPL.2015.294},
  annote =	{Keywords: objects, collections, relationships, pointers, multiplicity, null}
}

@techreport{Stei16a,
	Title = {Adding Class Support and Global Methods to {Polite} {Smalltalk}},
	Author = {Thomas Steinmann},
	Abstract = {Polite Smalltalk was created as part of a proposed study about
		the impact of Sentence Identifier Names on code readability and
		maintainability. It was based on a Smalltalk environment where
		it was parsed and compiled to Smalltalk code. Polite syntax was
		kept very minimal and did not support class or method
		definitions, even though Smalltalk classes and their methods
		could be used. In order to create code that is both more
		readable and very similar to natural language, the goal of this
		thesis is to extend the grammar and implementation of Polite
		Smalltalk with class and method definitions, as well as the
		necessary tools to provide a workspace for writing and executing
		a complete Polite program. In order to handle these new
		requirements, the original Polite's compiler architecture must
		be improved. The validation of our work shows that several
		non-trivial programs, each highlighting one aspect of the new
		functionality, can be written and executed yielding the expected
		results. Furthermore, arbitrary code can be parsed and evaluated
		in the Polite Playground with expected features and results.
		},
	Institution = {University of Bern},
	Keywords = {scg-bp snf-none scg16 jb16 politesmalltalk},
	Type = {Bachelor's thesis},
	Url = {http://scg.unibe.ch/archive/projects/Stei16a.pdf},
	Month = may,
	Year = {2016}
}

@inbook{Stein12a,
	Author = {Steinert, Bastian and Taeumel, Marcel and Cassou, Damien and Hirschfeld, Robert},
	Chapter = {Adopting Design Practices for Programming},
	Note = {to appear},
	Publisher = {Springer},
	Title = {Design Thinking Research},
	Year = {2012}}

@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.},
	Address = {New York, NY, USA},
	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)},
	Doi = {10.1145/1735935.1735944},
	Isbn = {978-1-60558-899-5},
	Keywords = {jb10 hasler09 moose-pub scg10 scg-pub inprint girba evol11},
	Location = {Brest, France},
	Medium = {2},
	Pages = {50--57},
	Peerreview = {yes},
	Publisher = {ACM},
	Title = {Maispion: A Tool for Analysing and Visualizing Open Source Software Developer Communities},
	Url = {http://scg.unibe.ch/archive/papers/Step09bMaispion.pdf},
	Year = {2009},
	Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Step09bMaispion.pdf},
	Bdsk-Url-2 = {http://dx.doi.org/10.1145/1735935.1735944}}

@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 scg-none 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}}

@inproceedings{Stet11a,
	Acmid = {2038509},
	Address = {New York, NY, USA},
	Author = {Stettina, Christoph Johann and Heijstek, Werner},
	Booktitle = {Proceedings of the 29th ACM international conference on Design of communication},
	Doi = {10.1145/2038476.2038509},
	Isbn = {978-1-4503-0936-3},
	Keywords = {agile software development, documentation, empirical study},
	Location = {Pisa, Italy},
	Numpages = {8},
	Pages = {159--166},
	Publisher = {ACM},
	Series = {SIGDOC '11},
	Title = {Necessary and neglected?: an empirical study of internal documentation in agile software development teams},
	Year = {2011},
	Bdsk-Url-1 = {http://dx.doi.org/10.1145/2038476.2038509}}

@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{Stie04a,
	Author = {Marc Stiegler},
	Key = {E},
	Title = {The {E} language in a walnut},
	Url = {www.skyhunter.com/marcs/ewalnut.html},
	Year = {2004},
	Bdsk-Url-1 = {www.skyhunter.com/marcs/ewalnut.html}}

@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}}

@article {Stir85a,
	author = {Stirling, Colin},
	title = {Follow set error recovery},
	journal = {Software: Practice and Experience},
	volume = {15},
	number = {3},
	publisher = {John Wiley & Sons, Ltd.},
	issn = {1097-024X},
	url = {http://dx.doi.org/10.1002/spe.4380150303},
	doi = {10.1002/spe.4380150303},
	pages = {239--257},
	keywords = {Syntax-directed error correction, Error-detection},
	year = {1985},
	abstract = {Follow set error recovery is a popular technique, implemented as
		part of a recursive descent parser, for recovering from syntax
		errors by editing the input string at the point of error detection. A
		formal description shows that follow set error recovery is, in actual
		fact, a family of similar techniques differing according to how follow
		set is defined. A general algorithm for this family of schemes is
		offered. Standard accounts mention and make use of non-systematic,
		almost ad hoc, additions which improve the performance of the technique.
		It is shown that some of these additions can be systematized using error
		productions. Criteria for assessment of the technique are offered. Using
		these criteria and a database of over 100 example programs three
		different follow set schemes are assessed with respect to each other.}
}

@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}}

@article{Stor00b,
	title = {How do program understanding tools affect how programmers understand programs?},
	journal = {Science of Computer Programming},
	volume = {36},
	number = {2--3},
	pages = {183 - 207},
	year = {2000},
	issn = {0167-6423},
	doi = {10.1016/S0167-6423(99)00036-2},
	url = {http://www.sciencedirect.com/science/article/pii/S0167642399000362},
	author = {M.-A.D. Storey and K. Wong and H.A. M\"{u}ller}
}

@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{Stor04a,
	Address = {Berlin, Germany},
	Author = {Maximilian St{\"o}rzer and Christian Koppen},
	Booktitle = {European Interactive Workshop on Aspects in Software},
	Month = {sep},
	Title = {PCDiff: Attacking the Fragile Pointcut Problem, Abstract},
	Url = {http://pp.info.uni-karlsruhe.de/uploads/publikationen/stoerzer04eiwas.pdf},
	Year = {2004},
	Bdsk-Url-1 = {http://pp.info.uni-karlsruhe.de/uploads/publikationen/stoerzer04eiwas.pdf}}

@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}}

@inproceedings{Stor10a,
  title={The impact of social media on software engineering practices and tools},
  author={Storey, Margaret-Anne and Treude, Christoph and van Deursen, Arie and Cheng, Li-Te},
  booktitle={Proceedings of the FSE/SDP workshop on Future of software engineering research},
  pages={359--364},
  year={2010}
}

@inproceedings{Stor12a,
	title = {On the impact of layout quality to understanding UML diagrams: Diagram type and expertise},
	author = {Storrle, H},
	booktitle = {Visual Languages and Human-Centric Computing (VL/HCC), 2012 IEEE Symposium on},
	pages = {49--56},
	year = {2012},
	organization = {IEEE}}

@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}}

@book{Stra98a,
	Author = {Anselm, Strauss and Corbin, Juliet},
	Publisher = {SAGE Publications, Thousand Oaks, USA},
	Title = {Basics of qualitative research: techniques and procedures for developing grounded theory},
	Year = {1998}}

@article{Stra00a,
  title={Continuations: A mathematical semantics for handling full jumps},
  author={Strachey, Christopher and Wadsworth, Christopher P},
  journal={Higher-order and symbolic computation},
  volume={13},
  number={1},
  pages={135--152},
  year={2000},
  publisher={Springer}
}

@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 scg-none 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}}

@inproceedings{Stra07b,
	Abstract = {The JHU/APL Space Department develops Missions Operations Center (MOC) system
				software for all JHU/APL-supported NASA missions using a shared software architecture
				called Common Ground. The software architecture is 10 years old and difficult to maintain
				for current missions and to evolve for reuse in future missions. The Software Architecture
				Visualization and Evaluation (SAVE) tool and process developed by Fraunhofer Center - Maryland
				has been applied to the Common Ground software in order to avoid further maintenance and
				evolution problems. This report summarizes JHU/APL's experiences in using the SAVE tool and
				process to capture the originally planned architecture, to compare the actual Common Ground
				software to the planned architecture, to create a new target architecture, and to guide ongoing
				development to bring the planned and actual architectures into alignment.},
	Author = {Stratton, W.C. and Sibol, D.E. and Lindvall, M. and Costa, P.},
	Booktitle = {Software Engineering Workshop, 2007. SEW 2007. 31st IEEE},
	Doi = {10.1109/SEW.2007.34},
	Issn = {1550-6215},
	Keywords = {Common Ground software;JHU/APL space department;NASA missions;Software Architecture Visualization and Evaluation tool;ground software development;missions operations center system software;planned architecture;shared software architecture;software maintenance;technology infusion;aerospace computing;software architecture;software maintenance;software performance evaluation;software tools;},
	Month = feb,
	Pages = {187 -193},
	Title = {The SAVE Tool and Process Applied to Ground Software Development at JHU/APL: An Experience Report on Technology Infusion},
	Year = {2007},
	Bdsk-Url-1 = {http://dx.doi.org/10.1109/SEW.2007.34}}

@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}}

@book{Strau98a,
	Author = {Strauss, Anselm and Corbin, Juliet},
	Isbn = {0803959397},
	Publisher = {SAGE Publications Inc.},
	Title = {Basics of {Q}ualitative {R}esearch: {T}echniques and {P}rocedures for {D}eveloping {G}rounded {T}heory},
	Year = {1998}}

@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}}

@inproceedings{Stre06a,
	Acmid = {1174114},
	Address = {Washington, DC, USA},
	Author = {Strein, Dennis and Kratz, Hans and Lowe, Welf},
	Booktitle = {Proceedings of the Sixth IEEE International Workshop on Source Code Analysis and Manipulation},
	Doi = {10.1109/SCAM.2006.10},
	Isbn = {0-7695-2353-6},
	Numpages = {10},
	Pages = {207--216},
	Publisher = {IEEE Computer Society},
	Series = {SCAM '06},
	Title = {Cross-Language Program Analysis and Refactoring},
	Url = {http://dx.doi.org/10.1109/SCAM.2006.10},
	Year = {2006},
	Bdsk-Url-1 = {http://dx.doi.org/10.1109/SCAM.2006.10}}

@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}}

@article{Stre07b,
	Address = {Piscataway, NJ, USA},
	Author = {Strein, Dennis and Lincke, R\"{u}diger and Lundberg, Jonas and L\"{o}we, Welf},
	Doi = {10.1109/TSE.2007.70710},
	Issn = {0098-5589},
	Issue_Date = {September 2007},
	Journal = {IEEE Trans. Softw. Eng.},
	Month = sep,
	Number = {9},
	Numpages = {16},
	Pages = {592--607},
	Publisher = {IEEE Press},
	Title = {An Extensible Meta-Model for Program Analysis},
	Url = {http://dx.doi.org/10.1109/TSE.2007.70710},
	Volume = {33},
	Year = {2007},
	Bdsk-Url-1 = {http://dx.doi.org/10.1109/TSE.2007.70710}}

@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{Stri12a,
	Author = {T. Stephen Strickland and Sam Tobin-Hochstadt and Robert Bruce Findler and Matthew Flatt},
	Booktitle = {OOPSLA '12: Proceedings of the ACM International Conference on Object Oriented Programming Systems Languages and Applications},
	Date-Added = {2012-09-06 13:56:37 +0000},
	Date-Modified = {2012-12-18 16:58:21 +0000},
	Keywords = {proxy; contract; aliasing},
	Location = {Tucson, Arizona, USA},
	Month = oct,
	Note = {To appear},
	Title = {Chaperones and Impersonators: Run-time Support for Reasonable Interposition},
	Year = {2012}}

@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}}

@book{Stro14a,
	Author = {Bjarne Stroustrup},
	Isbn = {0-321-95831-4},
	Keywords = {cpp pl-lit},
	Publisher = {Addison-Wesley Professional},
	Title = {A Tour of {C++}},
	Year = {2014}}

@misc{Strongtalk,
	Key = {Strongtalk},
	Keywords = {smalltalk strongtalk optional type system},
	Note = {http://bracha.org/nwst.html},
	Title = {The {S}trongtalk Type System for {S}malltalk},
	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}}

@article{Stua78a,
author = {Stuart K. Card and William K. English and Betty J. Burr},
title = {Evaluation of Mouse, Rate-Controlled Isometric Joystick, Step Keys, and Text Keys for Text Selection on a CRT},
journal = {Ergonomics},
volume = {21},
number = {8},
pages = {601-613},
year  = {1978},
publisher = {Taylor & Francis},
doi = {10.1080/00140137808931762},
URL = {https://doi.org/10.1080/00140137808931762}
}

@techreport{Stua00a,
	Author = {Omri Traub Stuart and Stuart Schechter and Michael D. Smith},
	Institution = {Harvard University},
	Title = {Ephemeral Instrumentation for Lightweight Program Profiling},
	Year = {2000}}

@inproceedings{Stuc11a,
 author = {Stuchlik, Andreas and Hanenberg, Stefan},
 title = {Static vs. Dynamic Type Systems: An Empirical Study About the Relationship Between Type Casts and Development Time},
 booktitle = {Proceedings of the 7th Symposium on Dynamic Languages},
 series = {DLS '11},
 year = {2011},
 isbn = {978-1-4503-0939-4},
 location = {Portland, Oregon, USA},
 pages = {97--106},
 numpages = {10},
 url = {http://doi.acm.org/10.1145/2047849.2047861},
 doi = {10.1145/2047849.2047861},
 acmid = {2047861},
 publisher = {ACM},
 address = {New York, NY, USA},
 keywords = {empirical research, programming language research, software engineering, type systems}
}

@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}}

@techreport{Stul20a,
	Title = {Assessing and Improving the Software Quality of an {iOS} App Framework},
	Author = {Alain Stulz},
	Abstract = {Creating and maintaining high-quality software is an
		essential topic in Software Engineering. While mobile
		application development is a relatively young discipline, it
		has evolved particularly rapidly. The quick pace requires
		complex mobile projects to be highly flexible and easily
		maintainable to stay relevant over time. In this thesis, we
		examine a framework designed to build iOS applications,
		which was created in the early 2010s and seems to have
		fallen behind in some areas. We answer "How can we assess
		the quality of our system?" by defining our understanding of
		software quality and subsequently collecting and analyzing
		data from several sources. In a second step, we address "How
		to improve the existing system's quality?" through setting
		conventions for developers, performing maintenance, and
		refactoring specific areas in the code. In this context, we
		also explore different techniques to increase unit test
		coverage. Furthermore, we analyze the question "What would
		constitute a better software design?" by selectively
		rewriting parts of the system's functionality. Finally, we
		take a look at the project's future and recommend that the
		company should consider a rewrite over refactoring to better
		cope with changed software requirements and technology.},
	Institution = {University of Bern},
	Keywords = {scg-bp snf-none scg20 jb20},
	Type = {Bachelor's thesis},
	Url = {http://scg.unibe.ch/archive/projects/Stul20a.pdf},
	Month = feb,
	Year = {2020}
}

@inproceedings{Stul20b,
  title={Towards Detecting Inconsistent Comments in Java Source Code Automatically},
  author={Stulova, Nataliia and Blasi, Arianna and Gorla, Alessandra and Nierstrasz, Oscar},
  abstract={A number of tools are available to software developers to check consistency
		of source code during software evolution. However, none of these tools
		checks for consistency of the documentation accompanying the code. As a
		result, code and documentation often diverge, hindering program
		comprehension. This leads to errors in how developers use source code,
		especially in the case of APIs of reusable libraries. We propose a
		technique and a tool, upDoc, to automatically detect code-comment
		inconsistency during code evolution. Our technique builds a map between the
		code and its documentation, ensuring that changes in the code match the
		changes in respective documentation parts. We conduct a preliminary
		evaluation using inconsistency examples from an existing dataset of Java
		open source projects, showing that upDoc can successfully detect them. We
		present a roadmap for the further development of the technique and its
		evaluation.},
  booktitle={2020 IEEE 20th International Working Conference on Source Code Analysis and Manipulation (SCAM)},
  pages={65--69},
  year={2020},
  Keywords = {scg-pub snf-asa3 scg20 jb21},
  PeerReview = {yes},
  medium = {2},
  doi={10.1109/SCAM51674.2020.00012},
  url = {http://scg.unibe.ch/archive/papers/Stul20b-InconsistentComments.pdf},
  organization={IEEE}
}

@inproceedings{Stum02a,
	Author = {Stumme, Gerd},
	Booktitle = {Database and Expert Systems Applications. Proc. DEXA 2002},
	Editor = {A. Hameurlain, R. Cicchetti, R. Traunm{\"u}ller (eds.)},
	pages = {534-546},
	publisher = {Springer},
	series = {LNCS},
	title = {Efficient Data Mining Based on Formal Concept Analysis},
	volume = {2453},
	year = {2002},
	type = {Inproceedings}}

@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{Styl07a,
 author = {Stylos, Jeffrey and Clarke, Steven},
 title = {Usability Implications of Requiring Parameters in Objects' Constructors},
 booktitle = {Proceedings of the 29th International Conference on Software Engineering},
 series = {ICSE '07},
 year = {2007},
 isbn = {0-7695-2828-7},
 pages = {529--539},
 numpages = {11},
 url = {http://dx.doi.org/10.1109/ICSE.2007.92},
 doi = {10.1109/ICSE.2007.92},
 acmid = {1248828},
 publisher = {IEEE Computer Society},
 address = {Washington, DC, USA}}

@inproceedings{Styl09a,
 author = {Stylos, Jeffrey and Myers, Brad A. and Yang, Zizhuang},
 title = {Jadeite: Improving {API} Documentation Using Usage Information},
 booktitle = {CHI '09 Extended Abstracts on Human Factors in Computing Systems},
 series = {CHI EA '09},
 year = {2009},
 isbn = {978-1-60558-247-4},
 location = {Boston, MA, USA},
 pages = {4429--4434},
 numpages = {6},
 doi = {10.1145/1520340.1520678},
 publisher = {ACM},
 address = {New York, NY, USA}
}

@article{Subr03a,
	Author = {Subramanyam, R. and Krishnan, M.S.},
	Doi = {10.1109/TSE.2003.1191795},
	Issn = {0098-5589},
	Journal = {Software Engineering, IEEE Transactions on},
	Keywords = {object-oriented programming;program debugging;software metrics;C++;CK metric analysis;Java;OO design complexity metrics;object-oriented design complexity;software defect determination;software defects;software development;software quality;Application software;Computer industry;Computer languages;Industrial control;Java;Productivity;Programming;Size control;Software design;Software quality},
	Month = apr,
	Number = {4},
	Pages = {297-310},
	Title = {Empirical analysis of CK metrics for object-oriented design complexity: implications for software defects},
	Volume = {29},
	Year = {2003},
	Bdsk-Url-1 = {http://dx.doi.org/10.1109/TSE.2003.1191795}}

@inproceedings{Subr08a,
	title = {Software visualization for end-user programmers: trial period obstacles},
	author = {Subrahmaniyan, Neeraja and Burnett, Margaret and Bogart, Christopher},
	booktitle = {Proceedings of the 4th ACM symposium on Software visualization},
	pages = {135--144},
	year = {2008},
	organization = {ACM}}

@inproceedings{Subr09a,
	Acmid = {1542478},
	Address = {New York, NY, USA},
	Author = {Subramanian, Suriya and Hicks, Michael and McKinley, Kathryn S.},
	Booktitle = {Proceedings of the 2009 ACM SIGPLAN conference on Programming language design and implementation},
	Doi = {10.1145/1542476.1542478},
	Isbn = {978-1-60558-392-1},
	Keywords = {dynamic software updating, garbage collection, virtual machine technology},
	Location = {Dublin, Ireland},
	Numpages = {12},
	Pages = {1--12},
	Publisher = {ACM},
	Series = {PLDI '09},
	Title = {Dynamic Software Updates: a {VM}-centric Approach},
	Url = {http://doi.acm.org/10.1145/1542476.1542478},
	Year = {2009},
	Bdsk-Url-1 = {http://doi.acm.org/10.1145/1542476.1542478},
	Bdsk-Url-2 = {http://dx.doi.org/10.1145/1542476.1542478}}

@book{Subr13a,
  title={Programming Groovy 2: Dynamic Productivity for the Java Developer},
  author={Subramaniam, V.},
  number={v. 2},
  isbn={9781937785307},
  lccn={2014498088},
  series={Pragmatic Bookshelf},
  url={https://books.google.ch/books?id=jvbTmAEACAAJ},
  year={2013},
  publisher={Pragmatic Bookshelf}
}

@inproceedings{Subr14a,
 author = {Subramanian, Siddharth and Inozemtseva, Laura and Holmes, Reid},
 title = {Live {API} Documentation},
 booktitle = {Proceedings of the 36th International Conference on Software Engineering},
 series = {ICSE 2014},
 year = {2014},
 isbn = {978-1-4503-2756-5},
 location = {Hyderabad, India},
 pages = {643--652},
 numpages = {10},
 url = {https://www.cs.ubc.ca/~rtholmes/papers/icse_2014_subramanian.pdf},
 doi = {10.1145/2568225.2568313},
 acmid = {2568313},
 publisher = {ACM},
 address = {New York, NY, USA},
 keywords = {Source code examples, documentation, source code search}
}

@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,
  title = {Methods for Visual Understanding of Hierarchical System Structures},
  abstract = {Two kinds of new methods are developed to obtain effective representations of hierarchies automatically: theoretical and heuristic methods. The methods determine the positions of vertices in two steps. First the order of the vertices in each level is determined to reduce the number of crossings of edges. Then horizontal positions of the vertices are determined to improve further the readability of drawings. The theoretical methods are useful in recognizing the nature of the problem, and the heuristic methods make it possible to enlarge the size of hierarchies with which we can deal. Performance tests of the heuristic methods and several applications are presented.},
  author = {Sugiyama, Kozo and Tagawa, Shojiro and Toda, Mitsuhiko},
  citeulike-article-id = {3760346},
  doi = {10.1109/tsmc.1981.4308636},
  issn = {0018-9472},
  journal = {IEEE Transactions on Systems, Man, and Cybernetics},
  keywords={hypergraphs, layered graphs, hierarchical graphs, crossing\_minimization, graph\_visualization, hierarchical\_graph\_layout, node-link, domain:infovis},
  number = {2},
  pages = {109--125},
  volume = {11},
  year = {1981}
}

@inproceedings{Suje13a,
year={2013},
isbn={978-3-642-39037-1},
booktitle={ECOOP 2013 -- Object-Oriented Programming},
volume={7920},
series={Lecture Notes in Computer Science},
editor={Castagna, Giuseppe},
doi={10.1007/978-3-642-39038-8_3},
title={Composition and Reuse with Compiled Domain-Specific Languages},
url={http://dx.doi.org/10.1007/978-3-642-39038-8_3},
publisher={Springer Berlin Heidelberg},
author={Sujeeth, ArvindK. and Rompf, Tiark and Brown, KevinJ. and Lee, HyoukJoong and Chafi, Hassan and Popic, Victoria and Wu, Michael and Prokopec, Aleksandar and Jovanovic, Vojin and Odersky, Martin and Olukotun, Kunle},
pages={52-78},
language={English}
}

@inproceedings{Suje13b,
 author = {Sujeeth, Arvind K. and Gibbons, Austin and Brown, Kevin J. and Lee, HyoukJoong and Rompf, Tiark and Odersky, Martin and Olukotun, Kunle},
 title = {Forge: Generating a High Performance DSL Implementation from a Declarative Specification},
 booktitle = {Proceedings of the 12th International Conference on Generative Programming: Concepts \&\#38; Experiences},
 series = {GPCE '13},
 year = {2013},
 isbn = {978-1-4503-2373-4},
 location = {Indianapolis, Indiana, USA},
 pages = {145--154},
 numpages = {10},
 url = {http://doi.acm.org/10.1145/2517208.2517220},
 doi = {10.1145/2517208.2517220},
 acmid = {2517220},
 publisher = {ACM},
 address = {New York, NY, USA},
 keywords = {code generation, domain-specific languages, multi-stage programming, parallel programming}
}

@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}}

@inproceedings{Sulz12a,
	Author = {Sulzmann, M. and Lu, K.Z.M.},
	Booktitle = {Proceedings of the 14th symposium on Principles and practice of declarative programming},
	Organization = {ACM},
	Pages = {79--90},
	Title = {Regular expression sub-matching using partial derivatives},
	Year = {2012}}

@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}}

@inproceedings{Sumn11a,
 author = {Sumner, William N. and Bao, Tao and Zhang, Xiangyu},
 title = {Selecting peers for execution comparison},
 booktitle = {Proceedings of the 2011 International Symposium on Software Testing and Analysis},
 series = {ISSTA '11},
 year = {2011},
 isbn = {978-1-4503-0562-4},
 location = {Toronto, Ontario, Canada},
 pages = {309--319},
 numpages = {11},
 url = {http://doi.acm.org/10.1145/2001420.2001458},
 doi = {10.1145/2001420.2001458},
 acmid = {2001458},
 publisher = {ACM},
 address = {New York, NY, USA},
 keywords = {automated debugging, peer selection, trace comparison}
}

@techreport{Sun88a,
	Author = {{Sun Microsystem}},
	Institution = {Sun Microsystem},
	Keywords = {damiencbib},
	Title = {{RPC}: Remote Procedure Call protocol specification, version 2},
	Year = {1988}}

@manual{Sun99a,
	Author = {Sun, Microsystems},
	Title = {Java Core Reflection API and Specification},
	Year = {1999}}

@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}}

@inproceedings{Sun12a,
	Acmid = {2337360},
	Address = {Piscataway, NJ, USA},
	Author = {Sun, Boya and Shu, Gang and Podgurski, Andy and Robinson, Brian},
	Booktitle = {Proceedings of the 2012 International Conference on Software Engineering},
	Isbn = {978-1-4673-1067-3},
	Location = {Zurich, Switzerland},
	Numpages = {10},
	Pages = {1054--1063},
	Publisher = {IEEE Press},
	Series = {ICSE 2012},
	Title = {Extending Static Analysis by Mining Project-specific Rules},
	Url = {http://dl.acm.org/citation.cfm?id=2337223.2337360},
	Year = {2012},
	Bdsk-Url-1 = {http://dl.acm.org/citation.cfm?id=2337223.2337360}}

@article{Sun15a,
	title = {Static change impact analysis techniques: A comparative study},
	journal = {Journal of Systems and Software},
	volume = {109},
	pages = {137 - 149},
	year = {2015},
	issn = {0164-1212},
	doi = {https://doi.org/10.1016/j.jss.2015.07.047},
	url = {http://www.sciencedirect.com/science/article/pii/S0164121215001661},
	author = {Xiaobing Sun and Bixin Li and Hareton Leung and Bin Li and Junwu Zhu},
	keywords = {Change impact analysis, Comparative study, Empirical study},
	abstract = {Software Change Impact Analysis (CIA) is an essential technique to
	identify the potential effects caused by software changes during software maintenance
	and evolution. A rich body of CIA techniques, especially static CIA techniques, have
	continuously emerged in recent years such as structural static analysis, textual
	analysis, and historical analysis. However, there were only a few works focusing on
	comparison of static CIA techniques. This article attempts to bridge this gap by
	presenting a comparative study of three class-level static CIA techniques, i.e.,
	Columbus, ROSE, and IRC2M. We compare them based on a CIA comparative framework and
	conduct an empirical study to evaluate these three CIA techniques and their combinations
	based on five real-world programs. The empirical results show that: (1) IRC2M and ROSE
	achieve relatively better precision, recall and F-measure compared to Columbus; (2)
	combination of any two CIA techniques can improve the precision and recall over their
	individual one; moreover, combining ROSE with IRC2M produces the best impact results;
	and (3) combining all three CIA techniques obtain a similar precision and recall as
	combining ROSE with IRC2M.}
}

@article{Sun16a,
  title={Code comment quality analysis and improvement recommendation: an automated approach},
  author={Sun, Xiaobing and Geng, Qiang and Lo, David and Duan, Yucong and Liu, Xiangyue and Li, Bin},
  journal={International Journal of Software Engineering and Knowledge Engineering},
  volume={26},
  number={06},
  pages={981--1000},
  year={2016},
  publisher={World Scientific}
}

@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}}

@article{Sund00a,
	Acmid = {353189},
	Address = {New York, NY, USA},
	Author = {Sundaresan, Vijay and Hendren, Laurie and Razafimahefa, Chrislain and Vall{\'e}e-Rai, Raja and Lam, Patrick and Gagnon, Etienne and Godin, Charles},
	Doi = {10.1145/354222.353189},
	Issn = {0362-1340},
	Issue_Date = {Oct. 2000},
	Journal = {SIGPLAN Not.},
	Month = oct,
	Number = {10},
	Numpages = {17},
	Pages = {264--280},
	Publisher = {ACM},
	Title = {Practical Virtual Method Call Resolution for Java},
	Url = {http://doi.acm.org/10.1145/354222.353189},
	Volume = {35},
	Year = {2000},
	Bdsk-Url-1 = {http://doi.acm.org/10.1145/354222.353189},
	Bdsk-Url-2 = {http://dx.doi.org/10.1145/354222.353189}}

@inproceedings{Sund04a,
	Address = {Los Alamitos, CA, USA},
	Author = {Sundresh, Sameer and Kim, Wooyoung and Agha, Gul},
	Booktitle = {ANSS'04: Proceedings of the 37th Annual Simulation Symposium},
	Doi = {10.1109/SIMSYM.2004.1299486},
	Keywords = {damiencbib},
	Pages = {221--230},
	Publisher = {IEEE Computer Society},
	Title = {SENS: A Sensor, Environment and Network Simulator},
	Year = {2004},
	Bdsk-Url-1 = {http://dx.doi.org/10.1109/SIMSYM.2004.1299486}}

@inproceedings{Sund08a,
 author = {Sundararaman, Jaishankar and Back, Godmar},
 title = {HDPV: Interactive, Faithful, In-vivo Runtime State Visualization for C/C++ and Java},
 booktitle = {Proceedings of the 4th ACM Symposium on Software Visualization},
 series = {SoftVis '08},
 year = {2008},
 isbn = {978-1-60558-112-5},
 location = {Ammersee, Germany},
 pages = {47--56},
 numpages = {10},
 url = {http://doi.acm.org/10.1145/1409720.1409729},
 doi = {10.1145/1409720.1409729},
 acmid = {1409729},
 publisher = {ACM},
 address = {New York, NY, USA},
 keywords = {object viewer, software visualization}
}

@article{Sung02a,
title = {Comparative performance evaluation of {Java} threads for embedded applications: {Linux} Thread vs. {Green} Thread },
journal = {Information Processing Letters},
volume = {84},
number = {4},
pages = {221 - 225},
year = {2002},
issn = {0020-0190},
doi = {10.1016/S0020-0190(02)00286-7},
url = {http://www.sciencedirect.com/science/article/pii/S0020019002002867},
author = {Minyoung Sung and Soyoung Kim and Sangsoo Park and Naehyuck Chang and Heonshik Shin},
keywords = {Java threads},
keywords = {Performance evaluation},
keywords = {Embedded system }
}

@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}}

@article{Suss98a,
  title={The first report on {Scheme} revisited},
  author={Sussman, Gerald Jay and Steele, Guy L},
  journal={Higher-Order and Symbolic Computation},
  volume={11},
  number={4},
  pages={399--404},
  year={1998},
  publisher={Springer}
}

@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,
	Acmid = {643606},
	Address = {New York, NY, USA},
	Aeries = {AOSD '03},
	Author = {Suv\'{e}e, Davy and Vanderperren, Wim and Jonckers, Viviane},
	Booktitle = {Proceedings of the 2nd international conference on Aspect-oriented software development},
	Doi = {10.1145/643603.643606},
	Isbn = {1-58113-660-9},
	Location = {Boston, Massachusetts},
	Numpages = {9},
	Pages = {21--29},
	Publisher = {ACM},
	Title = {JAsCo: an aspect-oriented approach tailored for component based software development},
	Year = {2003},
	Bdsk-Url-1 = {http://dx.doi.org/10.1145/643603.643606}}

@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}}

@article{Sven12a,
	Author = {Svensson, R.B. and Gorschek, T. and Regnell, B. and Torkar, R. and Shahrokni, A. and Feldt, R.},
	Doi = {10.1109/TSE.2011.47},
	Issn = {0098-5589},
	Journal = {Software Engineering, IEEE Transactions on},
	Number = {4},
	Pages = {923-935},
	Title = {Quality Requirements in Industrial Practice --- An Extended Interview Study at Eleven Companies},
	Volume = {38},
	Year = {2012},
	Bdsk-Url-1 = {http://dx.doi.org/10.1109/TSE.2011.47}}

@incollection{Svens09a,
	Author = {Berntsson Svensson, Richard and Gorschek, Tony and Regnell, Bjorn},
	Booktitle = {Requirements Engineering: Foundation for Software Quality},
	Doi = {10.1007/978-3-642-02050-6_19},
	Editor = {Glinz, Martin and Heymans, Patrick},
	Isbn = {978-3-642-02049-0},
	Keywords = {Quality requirements; Non-functional requirements; Requirements engineering; Market-driven requirements engineering; Empirical study},
	Pages = {218-232},
	Publisher = {Springer Berlin Heidelberg},
	Series = {Lecture Notes in Computer Science},
	Title = {Quality Requirements in Practice: An Interview Study in Requirements Engineering for Embedded Systems},
	Url = {http://dx.doi.org/10.1007/978-3-642-02050-6_19},
	Volume = {5512},
	Year = {2009},
	Bdsk-Url-1 = {http://dx.doi.org/10.1007/978-3-642-02050-6_19}}

@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{Swai12a,
  author = {James Swaine and Burke Fetscher and Vincent St-Amour and Robert Bruce Findler and Matthew Flatt},
  title = {Seeing the Futures: Profiling Shared-Memory Parallel Racket},
  year = {2012},
  booktitle = {Proceedings of the 2012 Workshop on Functional High-Performance Computing (FHPC'12)}
}

@inproceedings{Swan76a,
	Acmid = {807723},
	Address = {Los Alamitos, CA, USA},
	Author = {Swanson, E. Burton},
	Booktitle = {Proceedings of the 2nd international conference on Software engineering},
	Keywords = {Performance measurement, Software maintenance},
	Location = {San Francisco, California, United States},
	Numpages = {6},
	Pages = {492--497},
	Publisher = {IEEE Computer Society Press},
	Series = {ICSE '76},
	Title = {The dimensions of maintenance},
	Url = {http://portal.acm.org/citation.cfm?id=800253.807723},
	Year = {1976},
	Bdsk-Url-1 = {http://portal.acm.org/citation.cfm?id=800253.807723}}

@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,
	Acmid = {320408},
	Address = {New York, NY, USA},
	Author = {Sweeney, Peter F. and Gil, Joseph (Yossi)},
	Booktitle = {Proceedings of the 14th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications},
	Doi = {320384.320408},
	Isbn = {1-58113-238-7},
	Location = {Denver, Colorado, United States},
	Numpages = {20},
	Pages = {256--275},
	Publisher = {ACM},
	Series = {OOPSLA '99},
	Title = {Space and time-efficient memory layout for multiple inheritance},
	Url = {http://doi.acm.org/10.1145/320384.320408},
	Year = {1999},
	Bdsk-Url-1 = {http://doi.acm.org/10.1145/320384.320408},
	Bdsk-Url-2 = {http://dx.doi.org/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}}

@book{Swic08a,
 author = {Swicegood, Travis},
 title = {Pragmatic Version Control Using Git},
 year = {2008},
 isbn = {1934356158, 9781934356159},
 publisher = {Pragmatic Bookshelf},
 Keywords = {p2lit eselit}
}

@inproceedings{Swie96a,
 	author = {Swierstra, S. Doaitse and Duponcheel, Luc},
 	title = {Deterministic, Error-Correcting Combinator Parsers},
 	booktitle = {Advanced Functional Programming, Second International School-Tutorial Text},
 	year = {1996},
 	isbn = {3-540-61628-4},
 	pages = {184--207},
 	numpages = {24},
 	url = {http://dl.acm.org/citation.cfm?id=647699.734159},
 	acmid = {734159},
 	publisher = {Springer-Verlag},
 	address = {London, UK, UK}
}

@article{Swie01a,
    title = {Combinator Parsers: From Toys to Tools },
    journal = {Electronic Notes in Theoretical Computer Science },
    volume = {41},
    number = {1},
    pages = {38 - 59},
    year = {2001},
    note = {2000 {ACM} {SIGPLAN} Haskell Workshop (Satellite Event of {PLI} 2000) },
    issn = {1571-0661},
    doi = {10.1016/S1571-0661(05)80545-6},
    url = {http://www.sciencedirect.com/science/article/pii/S1571066105805456},
    author = {S.D. Swierstra}
}

@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{Syre15a,
	 abstract={Program comprehension requires developers to reason about many kinds of highly interconnected software entities. Dealing with this reality prompts developers to continuously intertwine searching and navigation. Nevertheless, most integrated development environments (IDEs) address searching by means of many disconnected search tools, making it difficult for developers to reuse search results produced by one search tool as input for another search tool. This forces developers to spend considerable time manually linking disconnected search results. To address this issue we propose Spotter, a model for expressing and combining search tools in a unified way. The current implementation shows that Spotter can unify a wide range of search tools. More information about Spotter can be found at scg.unibe.ch/research/moldablespotter},
	 author = {Aliaksei Syrel and Andrei Chi\c{s} and Tudor G\^irba and Juraj Kubelka and Oscar Nierstrasz and Stefan Reichhart},
	 title = {Spotter: towards a unified search interface in {IDEs}},
 	 booktitle = {Proceedings of the Companion Publication of the 2015 ACM SIGPLAN Conference on Systems, Programming, and Applications: Software for Humanity},
	 series = {SPLASH Companion 2015},
	 year = {2015},
	 location = {Pittsburgh, PA, USA},
	 pages = {54--55},
	 numpages = {2},
	 url = {http://scg.unibe.ch/archive/papers/Syre15a-SpotterPosterAbstract.pdf},
	 doi = {10.1145/2814189.2817269},
	 isbn = {978-1-4503-3722-9},
	 acmid = {2817269},
	 publisher = {ACM},
	 address = {New York, NY, USA},
	 keywords = {snf-asa1, scg-pub scg15 jb16, Andrei Chis, Tudor Girba, girba},
	 peerreview = {yes},
	 medium = {2}
}

@techreport{Syre18a,
	Title = {The Moldable Editor},
	Author = {Aliaksei Syrel},
	Abstract = {We present a scalable and moldable text editor
		modelled as a single composition tree of visual
		elements. It allows us to mix text and graphical
		components in a transparent way and treat them
		uniformly. As a result we are able to augment code
		with views by using special adornment attributes
		that are applied on text by stylers as part of the
		syntax highlighting process. We validate the model
		by implementing a code editor capable of
		manipulating large pieces of text; the Transcript,
		a logging tool being able to display non-textual
		messages; the Connector, an example dependencies
		browser and the Documenter, an interactive and
		live editor of Pillar markup documents.},
	Institution = {University of Bern},
	Keywords = {scg-bp snf-asa2 scg18 jb18},
	Type = {Bachelor's thesis},
	Url = {http://scg.unibe.ch/archive/projects/Syre18a.pdf},
	Month = feb,
	Year = {2018}
}

@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{Taeu14a,
	 author = {Taeumel, Marcel and Perscheid, Michael and Steinert, Bastian and Lincke, Jens and Hirschfeld, Robert},
	 title = {Interleaving of Modification and Use in Data-driven Tool Development},
	 booktitle = {Proceedings of the 2014 ACM International Symposium on New Ideas, New Paradigms, and Reflections on Programming \& Software},
	 series = {Onward! 2014},
	 year = {2014},
	 isbn = {978-1-4503-3210-1},
	 location = {Portland, Oregon, USA},
	 pages = {185--200},
	 numpages = {16},
	 url = {http://doi.acm.org/10.1145/2661136.2661150},
	 doi = {10.1145/2661136.2661150},
	 acmid = {2661150},
	 publisher = {ACM},
	 address = {New York, NY, USA},
	 keywords = {adaptation, graphical tools, reflection, scripting, tool building, vivide}
	}

@inproceedings{Taeum12,
	Acmid = {2384604},
	Address = {New York, NY, USA},
	Author = {Taeumel, Marcel and Steinert, Bastian and Hirschfeld, Robert},
	Booktitle = {Onward! '12},
	Doi = {10.1145/2384592.2384604},
	Isbn = {978-1-4503-1562-3},
	Keywords = {concurrent views, dynamic analysis, navigation, program comprehension, programming environments, source code},
	Location = {Tucson, Arizona, USA},
	Numpages = {10},
	Pages = {117--126},
	Publisher = {ACM},
	Title = {The {VIVIDE} programming environment: connecting run-time information with programmers' system knowledge},
	Url = {http://doi.acm.org/10.1145/2384592.2384604},
	Year = {2012},
	Bdsk-Url-1 = {http://doi.acm.org/10.1145/2384592.2384604},
	Bdsk-Url-2 = {http://dx.doi.org/10.1145/2384592.2384604}}

@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}}

@techreport{Taka88a,
	Abstract = {Many approaches to tool integration can be seen as variations on two models, the "sequential: and "concurrent." "Sequential" models are characterized by a high degree of modularity. In this model, tools execute in sequence and work on separate data structures. "Concurrent" models are characterized by the ability to interleave the execution of various tools. Here, tools work on a common data structure. This thesis describes AMPE (A Manufacturing Programming Environment) which consists of two tools integrated in a way that has advantages from both models. The execution of both tools can be interleaved, but they use separate data structures and maintain a degree of modularity. AMPE consists of an ALOE structure editor, which has been extended to work with an interpreter for the programming language, AML/X. The two tools run as separate processes and communicate through message passing.},
	Author = {Ishizuka, Takahisa},
	Month = sep,
	Institution = {Columbia University},
	Title = {Tool Extension in an ALOE Editor},
	Type = {Technical report},
	Url = {http://hdl.handle.net/10022/AC:P:12053},
	Year = {1988}
}

@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 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{Tall10a,
	Address = {New York, NY, USA},
	Author = {Tallon, Paul P.},
	Doi = {10.1145/1735223.1735253},
	Issn = {0001-0782},
	Issue_Date = {May 2010},
	Journal = {Commun. ACM},
	Month = may,
	Number = {5},
	Numpages = {5},
	Pages = {121--125},
	Publisher = {ACM},
	Title = {Understanding the dynamics of information management costs},
	Url = {http://doi.acm.org/10.1145/1735223.1735253},
	Volume = {53},
	Year = {2010},
	Bdsk-Url-1 = {http://doi.acm.org/10.1145/1735223.1735253},
	Bdsk-Url-2 = {http://dx.doi.org/10.1145/1735223.1735253}}

@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}}

@article{Tamz10a,
	Address = {Los Alamitos, CA, USA},
	Author = {Dalila Tamzalit and Tom Mens},
	Doi = {10.1109/ECBS.2010.15},
	Isbn = {978-0-7695-4005-4},
	Journal = {Engineering of Computer-Based Systems, IEEE International Conference on the},
	Pages = {69-78},
	Publisher = {IEEE Computer Society},
	Title = {Guiding Architectural Restructuring through Architectural Styles},
	Volume = {0},
	Year = {2010},
	Bdsk-Url-1 = {http://dx.doi.org/10.1109/ECBS.2010.15}}

@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}}

@inproceedings{Tan07b,
  title={Hotcomments: How to Make Program Comments More Useful?},
  author={Tan, Lin and Yuan, Ding and Zhou, Yuanyuan},
  booktitle={HotOS},
  year={2007}
}

@inproceedings{Tan07c,
  title={/* {iComment}: Bugs or bad comments?*/},
  author={Tan, Lin and Yuan, Ding and Krishna, Gopal and Zhou, Yuanyuan},
  booktitle={Proceedings of twenty-first ACM SIGOPS symposium on Operating systems principles},
  pages={145--158},
  year={2007}
}

@inproceedings{Tan12a,
  title={{@tcomment}: {Testing Javadoc Comments} to {Detect Comment-Code Inconsistencies}},
  author={Tan, Shin Hwei and Marinov, Darko and Tan, Lin and Leavens, Gary T},
  booktitle={2012 IEEE Fifth International Conference on Software Testing, Verification and Validation},
  pages={260--269},
  year={2012},
  organization={IEEE}
}

@incollection{Tan15a,
  title={Code Comment Analysis for Improving Software Quality},
  author={Tan, Lin},
  booktitle={The Art and Science of Analyzing Software Data},
  pages={493--517},
  year={2015},
  publisher={Elsevier}
}

@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{Tang99a,
	Author = {Mei-Huei Tang and Ming-Hung Kao and Mei-Hwa Chen},
	Booktitle = {Software Metrics Symposium, 1999. Proceedings. Sixth International},
	Doi = {10.1109/METRIC.1999.809745},
	Keywords = {object-oriented programming;program testing;real-time systems;software metrics;industrial real-time systems;object management faults;object oriented faults;object oriented testing;object-oriented design metrics;program testing;Costs;Electrical capacitance tomography;Encapsulation;Fault detection;Hip;Independent component analysis;Microwave integrated circuits;Performance evaluation;Software metrics;Testing},
	Pages = {242-249},
	Title = {An empirical study on object-oriented metrics},
	Year = {1999},
	Bdsk-Url-1 = {http://dx.doi.org/10.1109/METRIC.1999.809745}}

@article{Tang11a,
	Address = {Frederiksberg, Denmark},
	Author = {Tange, O.},
	Journal = {;login: The USENIX Magazine},
	Month = feb,
	Number = {1},
	Pages = {42--47},
	Title = {{GNU} Parallel - The {Command-Line} Power Tool},
	Url = {http://www.gnu.org/s/parallel},
	Volume = {36},
	Year = {2011},
	Bdsk-Url-1 = {http://www.gnu.org/s/parallel}}

@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},
	Doi = {10.1145/949305.949309},
	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},
	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 scg-none 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,
	Acmid = {1408684},
	Address = {New York, NY, USA},
	Articleno = {3},
	Author = {Tanter, \'{E}ric},
	Booktitle = {Proceedings of the 2008 symposium on Dynamic languages},
	Doi = {10.1145/1408681.1408684},
	Isbn = {978-1-60558-270-2},
	Location = {Paphos, Cyprus},
	Numpages = {10},
	Pages = {3:1--3:10},
	Publisher = {ACM},
	Series = {DLS '08},
	Title = {Contextual values},
	Year = {2008},
	Bdsk-Url-1 = {http://dx.doi.org/10.1145/1408681.1408684}}

@inproceedings{Tant08c,
	Acmid = {1353503},
	Address = {New York, NY, USA},
	Author = {Tanter, \'{E}ric},
	Booktitle = {Proceedings of the 7th international conference on Aspect-oriented software development},
	Date-Added = {2013-09-16 06:35:42 +0000},
	Date-Modified = {2013-10-16 15:30:52 +0000},
	Doi = {10.1145/1353482.1353503},
	Isbn = {978-1-60558-044-9},
	Keywords = {AOP; context-oriented},
	Location = {Brussels, Belgium},
	Numpages = {12},
	Pages = {168--179},
	Publisher = {ACM},
	Rating = {3},
	Series = {AOSD '08},
	Title = {Expressive scoping of dynamically-deployed aspects},
	Url = {http://doi.acm.org/10.1145/1353482.1353503},
	Year = {2008},
	Bdsk-Url-1 = {http://doi.acm.org/10.1145/1353482.1353503},
	Bdsk-Url-2 = {http://dx.doi.org/10.1145/1353482.1353503}}

@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},
	Keywords = {uni-refl},
	Month = nov,
	Number = {TR/DCC-2009-13},
	Title = {Reflection and Open Implementations},
	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{Tant09c,
	Acmid = {1640137},
	Address = {New York, NY, USA},
	Author = {Tanter, {\'E}ric},
	Booktitle = {Proceedings of the 5th symposium on Dynamic languages},
	Doi = {10.1145/1640134.1640137},
	Isbn = {978-1-60558-769-1},
	Keywords = {adaptation, dynamic scope, lexical scope, scope, variable bindings},
	Location = {Orlando, Florida, USA},
	Numpages = {12},
	Pages = {3--14},
	Publisher = {ACM},
	Series = {DLS '09},
	Title = {Beyond static and dynamic scope},
	Year = {2009},
	Bdsk-Url-1 = {http://dx.doi.org/10.1145/1640134.1640137}}

@inproceedings{Tant10a,
	Address = {Rennes and Saint Malo, France},
	Author = {{\'E}ric Tanter},
	Booktitle = {Proceedings of AOSD'10)},
	Month = mar,
	Note = {Best Paper Award},
	Pages = {37--48},
	Publisher = {ACM Press},
	Title = {Execution Levels for Aspect-Oriented Programming},
	Urldoi = {10.1145/1739230.1739236},
	Urlpdf = {http://pleiad.dcc.uchile.cl/papers/2010/tanter-aosd2010.pdf},
	Year = {2010}}

@inproceedings{Tant16a,
 author = {Tantithamthavorn, Chakkrit and McIntosh, Shane and Hassan, Ahmed E. and Matsumoto, Kenichi},
 title = {Automated Parameter Optimization of Classification Techniques for Defect Prediction Models},
 booktitle = {Proceedings of the 38th International Conference on Software Engineering},
 series = {ICSE '16},
 year = {2016},
 isbn = {978-1-4503-3900-1},
 location = {Austin, Texas},
 pages = {321--332},
 numpages = {12},
 url = {http://doi.acm.org/10.1145/2884781.2884857},
 doi = {10.1145/2884781.2884857},
 acmid = {2884857},
 publisher = {ACM},
 address = {New York, NY, USA},
 keywords = {classification techniques, experimental design, parameter optimization, software defect prediction}
}

@article{Tant17a,
  title={An empirical comparison of model validation techniques for defect prediction models},
  author={Tantithamthavorn, Chakkrit and McIntosh, Shane and Hassan, Ahmed E and Matsumoto, Kenichi},
  journal={IEEE Transactions on Software Engineering},
  volume={43},
  number={1},
  pages={1--18},
  year={2017},
  publisher={IEEE}
}

@article{Tanz95a,
	Author = {C. Tanzer},
	Journal = {JOOP},
	Month = feb,
	Pages = {43--46},
	Title = {Remarks on object-oriented modeling of associations},
	Year = {1995}}

@inproceedings{Tao12a,
 author = {Tao, Yida and Dang, Yingnong and Xie, Tao and Zhang, Dongmei and Kim, Sunghun},
 title = {How Do Software Engineers Understand Code Changes?: An Exploratory Study in Industry},
 booktitle = {Proceedings of the ACM SIGSOFT 20th International Symposium on the Foundations of Software Engineering},
 series = {FSE '12},
 year = {2012},
 isbn = {978-1-4503-1614-9},
 location = {Cary, North Carolina},
 pages = {51:1--51:11},
 articleno = {51},
 numpages = {11},
 url = {http://doi.acm.org/10.1145/2393596.2393656},
 doi = {10.1145/2393596.2393656},
 acmid = {2393656},
 publisher = {ACM},
 address = {New York, NY, USA},
 keywords = {code change, code review, information needs, tool support, dev-questions}
 }

@inproceedings{Tapk99a,
  title={Implementing hierarchical graph-structures},
  author={Tapken, Josef},
  booktitle={International Conference on Fundamental Approaches to Software Engineering},
  pages={219--233},
  year={1999},
  organization={Springer},
  doi={10.1007/978-3-540-49020-3_15},
  keywords={hypergraphs, hierarchical graphs}
}

@inproceedings{Tarh17a,
  author    = {Ay{\c{c}}a Tarhan and
               G{\"{o}}rkem Giray},
  editor    = {Emilia Mendes and
               Steve Counsell and
               Kai Petersen},
  title     = {On the Use of Ontologies in Software Process Assessment: {A} Systematic
               Literature Review},
  booktitle = {Proceedings of the 21st International Conference on Evaluation and
               Assessment in Software Engineering, {EASE} 2017, Karlskrona, Sweden,
               June 15-16, 2017},
  pages     = {2--11},
  publisher = {{ACM}},
  year      = {2017},
  url       = {https://doi.org/10.1145/3084226.3084261},
  doi       = {10.1145/3084226.3084261},
  timestamp = {Fri, 27 Dec 2019 21:29:04 +0100},
  biburl    = {https://dblp.org/rec/conf/ease/TarhanG17.bib},
  bibsource = {dblp computer science bibliography, https://dblp.org}
}

@article{Tarj72a,
   	author  = {Robert Endre Tarjan},
   	title       = {Depth-First Search and Linear Graph Algorithms},
  	journal  = {SIAM Journal on Computing},
 	year     = {1972},
 	pages  = {146-160},
  	doi       = {10.1137/0201010}}

@mastersthesis{Tarn19a,
	Title = {Web Communication Analysis of {Android} Applications},
	Author = {Marc-Andrea Tarnutzer},
	Abstract = {The use of internet communication channels in Android
		applications has become omnipresent; mobile apps exchange various
		kinds of information and it is not always clear which data and
		for what purpose. Privacy leaks are on the rise and unlock the
		door for even more severe threats such as data spoofing and
		hijacking. To gather an understanding of the current web API use
		in Android apps, we have investigated nine major web
		communication frameworks, and searched for their design patterns
		in 413 open-source projects available on GitHub and 834 Android
		apps published in Google's Play store. With this knowledge, we
		recovered JSON data schemes understood by their public web API
		endpoints, considering type information and used parameter
		values. Based on these data schemes we built and verified request
		URLs that leverage potentially sensitive data, and moreover, we
		explored the differences in web API use between open-source and
		closed-source apps. Finally, we reason about the collected HTTP
		response header information received from the various API
		endpoints. We present a static code analysis tool on top of the
		JADX DEX decompiler and the JavaParser framework, which dissects
		and assesses the decompiled byte code of Android apps. With the
		help of this tool we successfully analyzed web APIs in 36\% of
		all tested apps, out of which we were able to rebuild 2 154 API
		endpoint URLs. Furthermore, we manually validated the tool's
		results for 25 open-source and for 25 closed-source apps. More
		than 90\% of the endpoints did successfully reply to our
		requests. We found that many potential data leaks emerge from web
		APIs that have been implemented exclusively for individual apps
		and thus are out of focus for many security investigators due to
		their scarce deployment and the implementers' reluctance to
		provide any public documentation.},
	Keywords = {scg-msc snf-asa3 scg19 jb19},
	School = {University of Bern},
	Type = {Masters thesis},
	Url = {http://scg.unibe.ch/archive/masters/Tarn19a.pdf},
	Month = may,
	Year = {2019}
}

@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}}

@techreport{Tass02,
	Author = {Tassey, G.},
	Institution = {National Institute of Standards and Technology},
	Keywords = {cite-ijcai11, cite-it, da, economic, project-planning, testing},
	Priority = {2},
	Title = {{The economic impacts of inadequate infrastructure for software testing}},
	Year = {2002}}

@book{Tath03a,
	Author = {Eric Tatham},
	Keywords = {scglib},
	Publisher = {Mixed Reality Publication},
	Title = {Smalltalk bytes book},
	Year = {2003}}

@inproceedings{Taub11a,
	Acmid = {2032511},
	Address = {Berlin, Heidelberg},
	Author = {Taube-Schock, Craig and Walker, Robert J. and Witten, Ian H.},
	Booktitle = {Proceedings of the 25th European conference on Object-oriented programming},
	Isbn = {978-3-642-22654-0},
	Location = {Lancaster, UK},
	Numpages = {25},
	Pages = {204--228},
	Publisher = {Springer-Verlag},
	Series = {ECOOP'11},
	Title = {Can we avoid high coupling?},
	Url = {http://dl.acm.org/citation.cfm?id=2032497.2032511},
	Year = {2011},
	Bdsk-Url-1 = {http://dl.acm.org/citation.cfm?id=2032497.2032511}}

@article{Tayl96a,
	Acmid = {231232},
	Address = {Piscataway, NJ, USA},
	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.},
	Doi = {10.1109/32.508313},
	Issn = {0098-5589},
	Journal = {IEEE Transactions on Software Engineering},
	Keywords = {Architectural styles message-based architectures graphical user interfaces GUI heterogeneity concurrency damiencbib ADL C2},
	Month = jun,
	Number = {6},
	Numpages = {17},
	Pages = {390--406},
	Publisher = {IEEE Press},
	Title = {A Component- and Message-Based Architectural Style for GUI Software},
	Volume = {22},
	Year = {1996},
	Bdsk-Url-1 = {http://dx.doi.org/10.1109/32.508313}}

@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,
	Address = {New York, NY, USA},
	Author = {Taylor, Richard N. and Medvidovic, Nenad and Dashofy, Eric M.},
	Isbn = {978-0470167748},
	Keywords = {damiencbib},
	Month = jan,
	Publisher = {Wiley},
	Title = {Software Architecture: Foundations, Theory, and Practice},
	Year = {2009}}

@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}}

@article{Teit81b,
 author = {Teitelbaum, Tim and Reps, Thomas},
 title = {The {Cornell} Program Synthesizer: A Syntax-directed Programming Environment},
 journal = {Commun. ACM},
 issue_date = {Sept. 1981},
 volume = {24},
 number = {9},
 month = sep,
 year = {1981},
 issn = {0001-0782},
 pages = {563--573},
 numpages = {11},
 url = {http://doi.acm.org/10.1145/358746.358755},
 doi = {10.1145/358746.358755},
 acmid = {358755},
 publisher = {ACM},
 address = {New York, NY, USA},
 keywords = {diagnostic interpreter, program development system, programming environment, source language debugger, syntax-directed editor, template}
}

@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}}

@inproceedings{Tele09a,
 	title = {Case study: Visual analytics in software product assessments},
 	author = {Telea, Alexandru and Voinea, Lucian},
 	booktitle = {Visualizing Software for Understanding and Analysis, 2009. VISSOFT 2009. 5th IEEE International Workshop on},
 	pages = {65--72},
 	year = {2009},
 	organization = {IEEE}
}

@inproceedings{Tele09b,
	title = {Extraction and visualization of call dependencies for large C/C++ code bases: A comparative study},
	author = {Telea, Alexandru and Hoogendorp, Hessel and Ersoy, Ozan and Reniers, Dennie},
	booktitle = {Visualizing Software for Understanding and Analysis, 2009. VISSOFT 2009. 5th IEEE International Workshop on},
	pages = {81--88},
	year = {2009},
	organization = {IEEE}
}

@article{Tele10a,
	Author = {Telea, A. and Ersoy, O.},
	Doi = {10.1111/j.1467-8659.2009.01680.x},
	Issn = {1467-8659},
	Journal = {Computer Graphics Forum},
	Number = {3},
	Pages = {843--852},
	Publisher = {Blackwell Publishing Ltd},
	Title = {Image-Based Edge Bundles: Simplified Visualization of Large Graphs},
	Volume = {29},
	Year = {2010},
	Bdsk-Url-1 = {http://dx.doi.org/10.1111/j.1467-8659.2009.01680.x}}

@article{Tele10b,
	title = {Visual analytics in software maintenance: Challenges and opportunities},
	author = {Telea, Alex and Ersoy, Ozan and Voinea, Lucian},
	journal = {Proc. EuroVAST, Eurographics},
	pages = {65--70},
	year = {2010}}

@inproceedings{Temp08a,
 author = {Tempero, Ewan and Noble, James and Melton, Hayden},
 title = {How Do {J}ava Programs Use Inheritance? {A}n Empirical Study of Inheritance in {J}ava Software},
 booktitle = {Proceedings of the 22Nd European Conference on Object-Oriented Programming},
 series = {ECOOP '08},
 year = {2008},
 isbn = {978-3-540-70591-8},
 location = {Paphos, Cypress},
 pages = {667--691},
 numpages = {25},
 url = {http://dx.doi.org/10.1007/978-3-540-70592-5_28},
 doi = {10.1007/978-3-540-70592-5_28},
 acmid = {1428546},
 publisher = {Springer-Verlag},
 address = {Berlin, Heidelberg}
}

@inproceedings{Temp10a,
	Abstract = {In order to increase our ability to use measurement to support software development practise
				we need to do more analysis of code. However, empirical studies of code are expensive and their
				results are difficult to compare. We describe the Qualitas Corpus, a large curated collection of
				open source Java systems. The corpus reduces the cost of performing large empirical studies of
				code and supports comparison of measurements of the   same artifacts. We discuss its design,
				organisation, and issues associated with its development.},
	Author = {Tempero, E. and Anslow, C. and Dietrich, J. and Han, T. and Jing Li and Lumpe, M. and Melton, H. and Noble, J.},
	Booktitle = {Software Engineering Conference (APSEC), 2010 17th Asia Pacific},
	Doi = {10.1109/APSEC.2010.46},
	Issn = {1530-1362},
	Keywords = {Java code;Qualitas Corpus;curated collection;open source Java systems;software development;Java;codes;software engineering;},
	Month = dec,
	Pages = {336 -345},
	Title = {The {Qualitas} {Corpus}: A Curated Collection of {Java} Code for Empirical Studies},
	Year = {2010},
	Bdsk-Url-1 = {http://dx.doi.org/10.1109/APSEC.2010.46}}

@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{Tenm88a,
	 author = {Tenma, Takao and Tsubotani, Hideaki and Tanaka, Minoru and Ichikawa, Tadao},
	 title = {A System for Generating Language-Oriented Editors},
	 journal = {IEEE Trans. Softw. Eng.},
	 issue_date = {August 1988},
	 volume = {14},
	 number = {8},
	 month = aug,
	 year = {1988},
	 issn = {0098-5589},
	 pages = {1098--1109},
	 numpages = {12},
	 url = {http://dx.doi.org/10.1109/32.7620},
	 doi = {10.1109/32.7620},
	 acmid = {48821},
	 publisher = {IEEE Press},
	 address = {Piscataway, NJ, USA},
	 keywords = {abstract syntax tree, application generators, data structures, description language, language dependent data representation, language-oriented editors, language-oriented tools, object-oriented, software tools, target language description, text editing}
	}

@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{Tenn85a,
  title={Procedures And Comments vs. The Banker's Algorithm},
  author={Tenny, Ted},
  journal={ACM SIGCSE Bulletin},
  volume={17},
  number={3},
  pages={44--53},
  year={1985},
  publisher={ACM}
}

@article{Tenn88a,
  title={Program readability: Procedures versus comments},
  author={Tenny, Ted},
  journal={IEEE Transactions on Software Engineering},
  volume={14},
  number={9},
  pages={1271--1279},
  year={1988},
  publisher={IEEE}
}

@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}}

@book{Terr05a,
  title={Compiling with C\# and Java},
  author={Terry, P.},
  isbn={9780321263605},
  lccn={2004057380},
  series={Pearson education},
  url={https://books.google.ch/books?id=4O9ffYfX\_H0C},
  year={2005},
  publisher={Pearson/Addison-Wesley}
}

@article{Terr09a,
	Address = {New York, NY, USA},
	Author = {Terra, Ricardo and Valente, Marco Tulio},
	Doi = {10.1002/spe.v39:12},
	Issn = {0038-0644},
	Issue_Date = {August 2009},
	Journal = {Software: Practice and Experience},
	Keywords = {architecture conformance, architecture erosion, software architecture},
	Month = aug,
	Number = {12},
	Numpages = {22},
	Pages = {1073--1094},
	Publisher = {John Wiley \& Sons, Inc.},
	Title = {A dependency constraint language to manage object-oriented software architectures},
	Url = {http://dx.doi.org/10.1002/spe.v39:12},
	Volume = {39},
	Year = {2009},
	Bdsk-Url-1 = {http://dx.doi.org/10.1002/spe.v39:12}}

@article{Teru15a,
	year={2015},
	abstract = {Scoping behavioral variations to dynamic extents is useful
		to support non-functional concerns that otherwise result in
		cross-cutting code. Unfortunately, such forms of scoping are difficult
		to obtain with traditional reflection or aspects. We propose delegation
		proxies, a dynamic proxy model that supports behavioral intercession
		through the interception of various interpretation operations.
		Delegation proxies permit different behavioral variations to be easily
		composed together. We show how delegation proxies enable behavioral
		variations that can propagate to dynamic extents. We demonstrate our
		approach with examples of behavioral variations scoped to dynamic
		extents that help simplify code related to safety, reliability, and
		monitoring.},
	isbn={978-3-662-46733-6},
	journal={Transactions on Aspect-Oriented Software Development XII},
	volume={8989},
	series={Lecture Notes in Computer Science},
	editor={Chiba, Shigeru and Tanter, \'{E}ric and Ernst, Erik and Hirschfeld, Robert},
	doi={10.1007/978-3-662-46734-3_2},
	title={Propagation of Behavioral Variations with Delegation Proxies},
	publisher={Springer Berlin Heidelberg},
	keywords={Reflection; Proxy; Delegation; Propagation; Dynamic extent},
	author={Teruel, Camille and Wernli, Erwann and Ducasse, St\'{e}phane and Nierstrasz, Oscar},
	pages={63-95},
	Keywords = {scg-pub snf-asa1 scg15 jb15},
	Annote = {internationaljournal},
	Peerreview = {yes},
	Medium = {2},
	Url = {http://scg.unibe.ch/archive/papers/Teru15a-delegation-proxies.pdf}
}

@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,
	Howpublished = {http://www.faqs.org/faqs/software-eng/testing-faq/},
	Key = {testing faq},
	Month = feb,
	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}}

@article{Teyt14a,
   author = {Teyton, C\'edric and Falleri, Jean-R\'emy and Palyart, Marc and Blanc, Xavier},
    title = {A Study of Library Migration in {Java} Software},
  journal = {ArXiv e-prints},
   eprint = {1306.6262},
 keywords = {Computer Science - Software Engineering},
     year = {2013},
    month = jun,
   adsurl = {http://adsabs.harvard.edu/abs/2013arXiv1306.6262T}
}

@article{Teyt13a,
	Author = {C{\'e}dric Teyton and Jean-R{\'e}my Falleri and Marc Palyart and Xavier Blanc},
	Bibsource = {DBLP, http://dblp.uni-trier.de},
	Ee = {http://arxiv.org/abs/1306.6262},
	Journal = {CoRR},
	Title = {A Study of Library Migration in Java Software},
	Volume = {abs/1306.6262},
	Year = {2013}}

@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-none 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 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{Thap10a,
	title = {Assessing the impact of refactoring activities on the {JHotDraw} project},
	author = {Thapa, Ishwor and Siy, Harvey},
	booktitle = {Proceedings of the 2010 ACM Symposium on Applied Computing},
	pages = {2369--2370},
	year = {2010},
	organization = {ACM}}

@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}}

@inproceedings{Ther08a,
	title = {Supporting the understanding of the evolution of software items},
	author = {Theron, Roberto and Gonzalez, Antonio and Garcia, Francisco J},
	booktitle = {Proceedings of the 4th ACM symposium on Software visualization},
	pages = {189--192},
	year = {2008},
	organization = {ACM}}

@inproceedings{Thie12a,
	Acmid = {2336754},
	Address = {New York, NY, USA},
	Author = {Thies, Andreas and Bodden, Eric},
	Booktitle = {Proceedings of the 2012 International Symposium on Software Testing and Analysis},
	Doi = {10.1145/04000800.2336754},
	Isbn = {978-1-4503-1454-1},
	Location = {Minneapolis, MN, USA},
	Numpages = {11},
	Pages = {1--11},
	Publisher = {ACM},
	Series = {ISSTA 2012},
	Title = {RefaFlex: safer refactorings for reflective Java programs},
	Url = {http://doi.acm.org/10.1145/04000800.2336754},
	Year = {2012},
	Bdsk-Url-1 = {http://doi.acm.org/10.1145/04000800.2336754},
	Bdsk-Url-2 = {http://dx.doi.org/10.1145/04000800.2336754}}

@article{Thom68a,
	Acmid = {363387},
	Address = {New York, NY, USA},
	Author = {Thompson, Ken},
	Doi = {10.1145/363347.363387},
	Issn = {0001-0782},
	Issue_Date = {June 1968},
	Journal = {Commun. ACM},
	Keywords = {match, regular expression, search},
	Month = jun,
	Number = {6},
	Numpages = {4},
	Pages = {419--422},
	Publisher = {ACM},
	Title = {Programming Techniques: Regular expression search algorithm},
	Volume = {11},
	Year = {1968},
	Bdsk-Url-1 = {http://dx.doi.org/10.1145/363347.363387}}

@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,
	Address = {New York, NY, USA},
	Author = {Thomas, Dave and Johnson, Kent},
	Booktitle = {OOPSLA'88, Proceedings of the 3rd International Conference on Object-Oriented Programming, Systems, Languages, and Applications},
	Isbn = {0-89791-284-5},
	Keywords = {olit-oopl orwell oopsla88 version control VCS smalltalk},
	Location = {San Diego, CA, USA},
	Month = nov,
	Numpages = {7},
	Pages = {135--141},
	Publisher = {ACM},
	Title = {Orwell --- {A} Configuration Management System for Team Programming},
	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}}

@article{Thom92c,
 author = {Thomas, Ian and Nejmeh, Brian A.},
 title = {Definitions of Tool Integration for Environments},
 journal = {IEEE Softw.},
 issue_date = {March 1992},
 volume = {9},
 number = {2},
 month = mar,
 year = {1992},
 issn = {0740-7459},
 pages = {29--35},
 numpages = {7},
 url = {http://dx.doi.org/10.1109/52.120599},
 doi = {10.1109/52.120599},
 acmid = {625150},
 publisher = {IEEE Computer Society Press},
 address = {Los Alamitos, CA, USA}
}

@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}}

@inproceedings{Thom01b,
	Acmid = {501570},
	Address = {New York, NY, USA},
	Author = {Thomas, Bill and Tilley, Scott},
	Booktitle = {Proceedings of the 19th annual international conference on Computer documentation},
	Doi = {10.1145/501516.501570},
	Isbn = {1-58113-295-6},
	Keywords = {documentation, program understanding, software engineering},
	Location = {Sante Fe, New Mexico, USA},
	Numpages = {2},
	Pages = {235--236},
	Publisher = {ACM},
	Series = {SIGDOC '01},
	Title = {Documentation for software engineers: what is needed to aid system understanding?},
	Url = {http://doi.acm.org/10.1145/501516.501570},
	Year = {2001},
	Bdsk-Url-1 = {http://doi.acm.org/10.1145/501516.501570},
	Bdsk-Url-2 = {http://dx.doi.org/10.1145/501516.501570}}

@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,
	Address = {Los Alamitos, CA, USA},
	Author = {Thomas, Dave},
	Doi = {10.1109/MS.2004.1293067},
	Issn = {0740-7459},
	Journal = {IEEE Software},
	Keywords = {Model Driven Architecture MDA MDD MDE UML damiencbib},
	Month = may,
	Number = {3},
	Numpages = {3},
	Pages = {15--17},
	Publisher = {IEEE Computer Society Press},
	Title = {{MDA}: Revenge of the Modelers or {UML} Utopia?},
	Volume = {21},
	Year = {2004},
	Bdsk-Url-1 = {http://dx.doi.org/10.1109/MS.2004.1293067}}

@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}}

@book{Thom09a,
 author = {Thomas, Dave and Fowler, Chad and Hunt, Andy},
 title = {Programming Ruby 1.9: The Pragmatic Programmers' Guide},
 year = {2009},
 isbn = {1934356085, 9781934356081},
 edition = {3rd},
 publisher = {Pragmatic Bookshelf}
}

@article{Thom11b,
	Acmid = {1967692},
	Address = {New York, NY, USA},
	Author = {Thomas, Johnson J. and Fischmeister, Sebastian and Kumar, Deepak},
	Doi = {10.1145/2016603.1967692},
	Issn = {0362-1340},
	Issue_Date = {May 2011},
	Journal = {SIGPLAN Not.},
	Keywords = {embedded systems, monitoring, sampling, tracing},
	Number = {5},
	Numpages = {10},
	Pages = {101--110},
	Publisher = {ACM},
	Title = {Lowering overhead in sampling-based execution monitoring and tracing},
	Url = {http://doi.acm.org/10.1145/2016603.1967692},
	Volume = {46},
	Year = {2011},
	Bdsk-Url-1 = {http://doi.acm.org/10.1145/2016603.1967692},
	Bdsk-Url-2 = {http://dx.doi.org/10.1145/2016603.1967692}}

@inproceedings{Thon15a,
author={P. Thongtanunam and C. Tantithamthavorn and R. G. Kula and N. Yoshida and H. Iida and K. i. Matsumoto},
booktitle={Proceedings of SANER'15 (IEEE 22nd International Conference on Software Analysis, Evolution, and Reengineering)},
title={Who should review my code? A file location-based code-reviewer recommendation approach for Modern Code Review},
year={2015},
pages={141-150},
keywords={public domain software;software reviews;AOSP;Android open source project;LibreOffice project;MCR;OpenStack;Qt project;RevFinder;code-reviewer recommendation approach;file location;modern code review;open-source software system;proprietary software system;software code review;Androids;History;Humanoid robots;Manuals;Open source software;Software systems;Code-Reviewer Recommendation;Distributed Software Development;Modern Code Review},
doi={10.1109/SANER.2015.7081824},
ISSN={1534-5351},
month=mar}

@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{Thum07a,
	Acmid = {1321663},
	Address = {New York, NY, USA},
	Author = {Thummalapenta, Suresh and Xie, Tao},
	Booktitle = {Proceedings of the twenty-second IEEE/ACM international conference on Automated software engineering},
	Doi = {10.1145/1321631.1321663},
	Isbn = {978-1-59593-882-4},
	Keywords = {code examples, code reuse, code search engine, ranking code samples},
	Location = {Atlanta, Georgia, USA},
	Numpages = {10},
	Pages = {204--213},
	Publisher = {ACM},
	Series = {ASE '07},
	Title = {Parseweb: a programmer assistant for reusing open source code on the web},
	Url = {http://doi.acm.org/10.1145/1321631.1321663},
	Year = {2007},
	Bdsk-Url-1 = {http://doi.acm.org/10.1145/1321631.1321663},
	Bdsk-Url-2 = {http://dx.doi.org/10.1145/1321631.1321663}}

@inproceedings{Thum08a,
	Acmid = {1642969},
	Address = {Washington, DC, USA},
	Author = {Thummalapenta, S. and Tao Xie},
	Booktitle = {Proceedings of the 2008 23rd IEEE/ACM International Conference on Automated Software Engineering},
	Doi = {10.1109/ASE.2008.43},
	Isbn = {978-1-4244-2187-9},
	Numpages = {10},
	Pages = {327--336},
	Publisher = {IEEE Computer Society},
	Series = {ASE '08},
	Title = {SpotWeb: Detecting Framework Hotspots and Coldspots via Mining Open Source Code on the Web},
	Url = {http://dx.doi.org/10.1109/ASE.2008.43},
	Year = {2008},
	Bdsk-Url-1 = {http://dx.doi.org/10.1109/ASE.2008.43}}

@inproceedings{Thum09a,
  title={Mining exception-handling rules as sequence association rules},
  author={Thummalapenta, Suresh and Xie, Tao},
  booktitle={Proceedings of the 31st International Conference on Software Engineering},
  pages={496--506},
  year={2009},
  organization={IEEE Computer Society}
}

@inproceedings{Thun12a,
author={Lucia and Thung, F. and Lo, D. and Lingxiao Jiang},
booktitle={Mining Software Repositories (MSR), 2012 9th IEEE Working Conference on},
title={Are faults localizable?},
year={2012},
month=jun,
pages={74-77},
keywords={program debugging;software fault tolerance;bug severity;debugging activities;fault localization technique;software system;Computer bugs;Debugging;Educational institutions;Java;Manuals;Software systems;Bug Severity;Fault Locality;Fault Localization},
doi={10.1109/MSR.2012.6224302},
ISSN={2160-1852}
}

@inproceedings{Thun12b,
author={Thung, F. and Shaowei Wang and Lo, D. and Lingxiao Jiang},
booktitle={Software Reliability Engineering (ISSRE), 2012 IEEE 23rd International Symposium on},
title={An Empirical Study of Bugs in Machine Learning Systems},
year={2012},
month=nov,
pages={271-280},
keywords={data mining;information retrieval;learning (artificial intelligence);natural language processing;program debugging;software reliability;Apache Mahout;Internet advertising systems;Lucene;OpenNLP;algorithm-intensive code;algorithm-intensive nature;bug categories;bug databases;code repositories;data mining;information retrieval;machine learning systems;natural language processing code;recommendation systems;search engines;software engineering tasks;software mining;system reliability;Software reliability},
doi={10.1109/ISSRE.2012.22},
ISSN={1071-9458}
}

@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}}

@book{Thur13a,
	title={Managing requirements knowledge},
	author={Maalej, Walid and Thurimella, Anil Kumar},
	year={2013},
	publisher={Springer}
}

@inproceedings{Thus09a,
	Author = {Thusoo, Ashish and Sarma, Joydeep S. and Jain, Namit and Shao, Zheng and Chakka, Prasad and Anthony, Suresh and Liu, Hao and Wyckoff, Pete and Murthy, Raghotham},
	Booktitle = {IN VLDB '09: PROCEEDINGS OF THE VLDB ENDOWMENT},
	Pages = {1626--1629},
	Title = {Hive- A Warehousing Solution Over a {Map-Reduce} Framework},
	Url = {http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.151.2637},
	Year = {2009},
	Bdsk-Url-1 = {http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.151.2637}}

@article{Tiag09a,
	Address = {Los Alamitos, CA, USA},
	Author = {Tiago L. Alves and Joost Visser},
	Doi = {10.1109/SCAM.2009.15},
	Isbn = {978-0-7695-3793-1},
	Journal = {Source Code Analysis and Manipulation, IEEE International Workshop on},
	Pages = {55-64},
	Publisher = {IEEE Computer Society},
	Title = {Static Estimation of Test Coverage},
	Volume = {0},
	Year = {2009},
	Bdsk-Url-1 = {http://dx.doi.org/10.1109/SCAM.2009.15}}

@book{Tian16a,
  title={Learning Xcode 8},
  author={Jak Tiano},
  isbn={9781785888373},
  year={2016},
  publisher={Packt Publishing}
}

@article{Tibe10a,
	title = {A family of languages for architecture constraint specification},
	journal = {Journal of Systems and Software},
	volume = {83},
	number = {5},
	pages = {815 - 831},
	year = {2010},
	issn = {0164-1212},
	doi = {10.1016/j.jss.2009.11.736},
	url = {http://www.sciencedirect.com/science/article/pii/S016412120900315X},
	author = {Chouki Tibermacine and Regis Fleurquin and Salah Sadou}}

@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 skip-doi scg-none 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 scg-none 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 scg-none 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 scg-none 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 scg-none 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 scg-none 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.},
	Acceptnum = {22},
	Accepttotal = {51},
	Address = {Los Alamitos, CA},
	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 scg-none jb00 snf01 stefPub onhindex(92) moose-pub},
	Misc = {acceptance rate: 22/51 = 43\%},
	Month = nov,
	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 scg-none 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 scg-none 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 skip-doi scg-none 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},
	Booktitle = {ESEC/SIGSOFT FSE},
	Ee = {10.1145/1081706.1081749},
	Pages = {253-262},
	Title = {Parameterized unit tests},
	Url = {ftp://ftp.research.microsoft.com/pub/tr/TR-2005-64.pdf},
	Year = {2005},
	Bdsk-Url-1 = {ftp://ftp.research.microsoft.com/pub/tr/TR-2005-64.pdf}}

@incollection{Till05b,
  title={A survey of formal concept analysis support for software engineering activities},
  author={Tilley, Thomas and Cole, Richard and Becker, Peter and Eklund, Peter},
  booktitle={Formal concept analysis},
  pages={250--271},
  year={2005},
  publisher={Springer}
}

@inproceedings{Ting09a,
  title={Analyzing multi-source social data for extracting and mining social networks},
  author={Ting, I-Hsien and Wu, Hui-Ju and Chang, Pei-Shan},
  booktitle={2009 International Conference on Computational Science and Engineering},
  volume={4},
  pages={815--820},
  year={2009},
  organization={IEEE}
}

@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{Tip00a,
	Acmid = {353190},
	Address = {New York, NY, USA},
	Author = {Tip, Frank and Palsberg, Jens},
	Booktitle = {Proceedings of the 15th ACM SIGPLAN Conference on Object-oriented Programming, Systems, Languages, and Applications},
	Doi = {10.1145/353171.353190},
	Isbn = {1-58113-200-X},
	Location = {Minneapolis, Minnesota, USA},
	Numpages = {13},
	Pages = {281--293},
	Publisher = {ACM},
	Series = {OOPSLA '00},
	Title = {Scalable Propagation-based Call Graph Construction Algorithms},
	Url = {http://www.cs.ucla.edu/~palsberg/paper/oopsla00.pdf},
	Year = {2000},
	Bdsk-Url-1 = {http://www.cs.ucla.edu/~palsberg/paper/oopsla00.pdf},
	Bdsk-Url-2 = {http://dx.doi.org/10.1145/353171.353190}}

@inproceedings{Tisi10a,
	Acmid = {1875864},
	Address = {Berlin, Heidelberg},
	Author = {Tisi, Massimo and Cabot, Jordi and Jouault, Fr\'{e}d\'{e}ric},
	Booktitle = {Proceedings of the Third international conference on Theory and practice of model transformations},
	Doi = {10.1007/978-3-642-13688-7_15},
	Isbn = {3-642-13687-7, 978-3-642-13687-0},
	Location = {M\&\#225;laga, Spain},
	Numpages = {15},
	Pages = {215--229},
	Publisher = {Springer-Verlag},
	Series = {ICMT'10},
	Title = {Improving higher-order transformations support in ATL},
	Year = {2010},
	Bdsk-Url-1 = {http://dx.doi.org/10.1007/978-3-642-13688-7_15}}

@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}}

@phdthesis{Tobi10a,
	Author = {Sam Tobin-Hochstadt},
	Keywords = {book scglib},
	Month = jan,
	School = {Northeastern University},
	Title = {Typed {Scheme}: From Scripts to Programs},
	Type = {{Ph.D}. Thesis},
	Year = {2010}}

@article{Tobi11a,
  author    = {Sam Tobin{-}Hochstadt and
               Matthias Felleisen},
  title     = {The Design and Implementation of {Typed Scheme}: From Scripts to Programs},
  journal   = {CoRR},
  volume    = {abs/1106.2575},
  year      = {2011},
  url       = {http://arxiv.org/abs/1106.2575},
  timestamp = {Mon, 05 Dec 2011 18:05:21 +0100},
  biburl    = {http://dblp.uni-trier.de/rec/bib/journals/corr/abs-1106-2575},
  bibsource = {dblp computer science bibliography, http://dblp.org}
}

@misc{Tobin,
	Author = {S. Tobin-Hochstadt and V. St-Amour},
	Keywords = {gradual typing},
	Note = {http://docs.racket-lang.org/ts-guide/},
	Title = {The typed {Racket} guide}}

@misc{Toen07a,
	Author = {Andreas T{\"o}nne},
	Institution = {Cincom},
	Title = {Exploratory Modeling with {SAP} {NetWeaver} (white paper)},
	Url = {https://www.scribd.com/document/49749915/White-Paper-Exploratory-Modeling-With-SAP-NetWeaver},
	Year = {2007}
}

@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}}

@article{Tole12a,
	Author = {Rodolfo Toledo and Angel N{\'u}{\~n}ez and {\'E}ric Tanter and Jacques Noy{\'e}},
	Date-Added = {2012-12-20 09:09:25 +0000},
	Date-Modified = {2012-12-20 09:13:00 +0000},
	Ee = {http://doi.ieeecomputersociety.org/10.1109/TSE.2011.6},
	Journal = {IEEE Trans. Software Eng.},
	Keywords = {aop; proxy},
	Number = {1},
	Pages = {101-117},
	Title = {Aspectizing Java Access Control},
	Volume = {38},
	Year = {2012}}

@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}}

@inproceedings{Toma14a,
  title={An empirical assessment of polyglot-ism in {GitHub}},
  author={Tomassetti, Federico and Torchiano, Marco},
  booktitle={Proceedings of the 18th International Conference on Evaluation and Assessment in Software Engineering},
  pages={1--4},
  year={2014}
}

@inproceedings{Toma17a,
  title={Why and how {JavaScript} Developers Use Linters},
  author={T{\'o}masd{\'o}ttir, Krist{\'\i}n Fj{\'o}la and Aniche, Mauricio and van Deursen, Arie},
  booktitle={2017 32nd IEEE/ACM International Conference on Automated Software Engineering (ASE)},
  pages={578--589},
  year={2017},
  organization={IEEE}
}

@inproceedings{Tomb07a,
 author = {Tomb, Aaron and Brat, Guillaume and Visser, Willem},
 title = {Variably Interprocedural Program Analysis for Runtime Error Detection},
 booktitle = {Proceedings of the 2007 International Symposium on Software Testing and Analysis},
 series = {ISSTA '07},
 year = {2007},
 isbn = {978-1-59593-734-6},
 location = {London, United Kingdom},
 pages = {97--107},
 numpages = {11},
 url = {http://doi.acm.org/10.1145/1273463.1273478},
 doi = {10.1145/1273463.1273478},
 acmid = {1273478},
 publisher = {ACM},
 address = {New York, NY, USA},
 keywords = {can-test, defect detection, generation, symbolic execution}
}

@book{Tomi85a,
	Address = {Norwell, MA, USA},
	Author = {Tomita, Masaru},
	Isbn = {0898382025},
	Publisher = {Kluwer Academic Publishers},
	Title = {Efficient Parsing for Natural Language: A Fast Algorithm for Practical Systems},
	Year = {1985}}

@book{Tomi12a,
  title={Generalized LR Parsing},
  author={Tomita, M.},
  isbn={9781461368045},
  url={https://books.google.ch/books?id=WGQMkwEACAAJ},
  year={2012},
  publisher={Springer US}
}

@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{Tone01a,
 author = {Tonella, Paolo and Antoniol, Giulio},
 title = {Inference of Object-oriented Design Patterns},
 journal = {Journal of Software Maintenance},
 issue_date = {September-October 2001},
 volume = {13},
 number = {5},
 month = oct,
 year = {2001},
 issn = {1040-550X},
 pages = {309--330},
 numpages = {22},
 doi = {10.1002/smr.235},
 acmid = {565155},
 publisher = {John Wiley \& Sons, Inc.},
 address = {New York, NY, USA},
 keywords = {fca, code analysis, concept analysis, design patterns, reverse engineering, software architecture}
}

@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}}

@book{Tone05a,
	Doi = {10.1007/b102522},
	Editor = {Paolo Tonella and Alessandra Potrich},
	Publisher = {Springer},
	Title = {Reverse Engineering of Object Oriented Code},
	Year = {2005},
	Bdsk-Url-1 = {http://dx.doi.org/10.1007/b102522}}

@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}}

@inbook{Torn18a,
author={T{\"o}rngren, Martin and Sellgren, Ulf},
title={Complexity Challenges in Development of Cyber-Physical Systems},
bookTitle={Principles of Modeling: Essays Dedicated to Edward A. Lee on the Occasion of His 60th Birthday},
year={2018},
publisher={Springer International Publishing},
address={Cham},
pages={478--503},
abstract={In embarking towards Cyber-Physical Systems (CPS) with unprecedented capabilities it becomes essential to improve our understanding of CPS complexity and how we can deal with it. We investigate facets of CPS complexity and the limitations of Collaborating Information Processing Systems (CIPS) in dealing with those facets. By CIPS we refer to teams of humans and computer-aided engineering systems that are used to develop CPS. Furthermore, we specifically analyze characteristic differences among software and physical parts within CPS. The analysis indicates that it will no longer be possible to rely only on architectures and skilled people, or process and model/tool centered approaches. The tight integration of heterogeneous physical, cyber, CPS components, aspects and systems, results in a situation with interfaces and interrelations everywhere, each requiring explicit consideration. The role of model-based and computer aided engineering will become even more essential, and design methodologies will need to deeply consider interwoven systems and software aspects, including the hidden costs of software.},
isbn={978-3-319-95246-8},
doi={10.1007/978-3-319-95246-8_27},
url={https://doi.org/10.1007/978-3-319-95246-8_27}}

@inproceedings{Torr11a,
	Acmid = {2095072},
	Address = {New York, NY, USA},
	Author = {Torres, Weslley and Pinto, Gustavo and Fernandes, Benito and Oliveira, Jo\~{a}o Paulo and Ximenes, Filipe Alencar and Castor, Fernando},
	Booktitle = {Proceedings of the compilation of the co-located workshops on DSM'11, TMC'11, AGERE!'11, AOOPES'11, NEAT'11, \&\#38; VMIL'11},
	Doi = {10.1145/2095050.2095072},
	Isbn = {978-1-4503-1183-0},
	Keywords = {concurrent, java, multicore, open-source, parallel},
	Location = {Portland, Oregon, USA},
	Numpages = {6},
	Pages = {123--128},
	Publisher = {ACM},
	Series = {SPLASH '11 Workshops},
	Title = {Are Java programmers transitioning to multicore?: a large scale study of java FLOSS},
	Url = {http://doi.acm.org/10.1145/2095050.2095072},
	Year = {2011},
	Bdsk-Url-1 = {http://doi.acm.org/10.1145/2095050.2095072},
	Bdsk-Url-2 = {http://dx.doi.org/10.1145/2095050.2095072}}

@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{Tosu09a,
  title={Reducing false alarms in software defect prediction by decision threshold optimization},
  author={Tosun, Ayse and Bener, Ayse},
  booktitle={Proceedings of the 2009 3rd International Symposium on Empirical Software Engineering and Measurement},
  pages={477--480},
  year={2009},
  organization={IEEE Computer Society}
}

@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,
	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.},
	Affiliation = {Vienna University of Technology Distributed Systems Group, Institute of Information Systems Austria},
	Author = {Tran, Huy and Zdun, Uwe and Dustdar, Schahram},
	Booktitle = {Model-Based Software and Data Integration},
	Doi = {10.1007/978-3-540-78999-4_7},
	Editor = {Kutsche, Ralf-Detlef and Milanovic, Nikola},
	Isbn = {978-3-540-78999-4},
	Pages = {55-66},
	Publisher = {Springer Berlin Heidelberg},
	Series = {Communications in Computer and Information Science},
	Title = {View-Based Integration of Process-Driven SOA Models at Various Abstraction Levels},
	Volume = {8},
	Year = {2008},
	Bdsk-Url-1 = {http://dx.doi.org/10.1007/978-3-540-78999-4_7}}

@techreport{Tran16a,
	Title = {{NullSpy} -- An approach to pinpoint the origin location of a null reference},
	Author = {Lina Tran},
	Abstract = {A previous study found that null
			pointer exceptions are the most frequently
			occurring exceptions in Java projects. Also,
			it is difficult to debug because a developer
			is only provided with a stack trace to the
			line of code where the exception was thrown.
			This only gives insight into the effect of the
			fault but not into its cause. The aim of the
			project is to provide the developer with an
			additional stack trace. It shows the location
			where the variable that caused the null
			pointer exception was initially assigned to
			null. We attempt to achieve this goal by
			instrumenting Java source code while striving
			for minimal execution overhead. By tracking
			the null assignments through static analysis
			and bytecode instrumentation we can achieve a
			more efficient debugging process after an
			occurrence of a null pointer exception.},
	Institution = {University of Bern},
	Keywords = {scg-bp snf-asa2 scg16 jb17},
	Type = {Bachelor's thesis},
	Url = {http://scg.unibe.ch/archive/projects/Tran16a-NullSpy.pdf},
	Month = dec,
	Year = {2016}
}

@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}}

@techreport{Trat10a,
	Author = {Laurence Tratt},
	Institution = {School of Engineering and Information Sciences, Middlesex University},
	Month = {oct},
	Number = {EIS-10-01},
	Title = {Direct left-recursive parsing expression grammars},
	Year = {2010}}

@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}}

@inproceedings{Treu11a,
 author = {Treude, Christoph and Barzilay, Ohad and Storey, Margaret-Anne},
 title = {How Do Programmers Ask and Answer Questions on the Web? ({NIER Track})},
 booktitle = {Proceedings of the 33rd International Conference on Software Engineering},
 series = {ICSE '11},
 year = {2011},
 isbn = {978-1-4503-0445-0},
 location = {Waikiki, Honolulu, HI, USA},
 pages = {804--807},
 numpages = {4},
 url = {http://doi.acm.org/10.1145/1985793.1985907},
 doi = {10.1145/1985793.1985907},
 acmid = {1985907},
 publisher = {ACM},
 address = {New York, NY, USA},
 keywords = {stack overflow, dev-questions}
}

@inproceedings{Treu16a,
  title={Augmenting api documentation with insights from stack overflow},
  author={Treude, Christoph and Robillard, Martin P},
  booktitle={2016 IEEE/ACM 38th International Conference on Software Engineering (ICSE)},
  pages={392--403},
  year={2016},
  organization={IEEE}
}

@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}}

@mastersthesis{Truf15a,
	Abstract = {Software erosion is a common problem in larger software projects.
	As a code base grows, more effort needs to be invested to keep an
	implementation aligned with its intended architecture. Designers may need
	to introduce new architectural guidelines as existing ones no longer fit
	the complexity or the purpose of the project. The code base is then
	gradually refactored in order to conform to these new guidelines. It's
	hard to determine for an architect which parts of the software conform to
	the new architecture and which parts need to be revisited. Once
	introduced the new guidelines too are subject to architectural erosion.
	Continuous effort is needed to keep an unintended drift from the intended
	architecture. In this paper we introduce automated architectural
	conformance checking into the development process of the open source
	project ILIAS. The solution formalizes design decisions as architectural
	invariants and offers automated tests for them. The developers get
	feedback about all existing violations of the architectural invariants
	with emphasis on added or removed violations introduced within each
	contribution. We discuss the process of introducing our automated
	conformance checking solution into the open source community. Our results
	show that our solution contributes to the decline in architectural
	violations and the reduction in the gap between architectural
	documentation and actual implementation.},
	Author = {Oskar Truffer},
	Keywords = {scg-msc snf-asa1 scg15 jb16},
	Month = dec,
	School = {University of Bern},
	Title = {Continuous Integration with Architectural Invariants --- A case study about architectural monitoring in practice},
	Type = {Masters thesis},
	Url = {http://scg.unibe.ch/archive/masters/Truf15a.pdf},
	Year = {2015}
}

@techreport{Truf16a,
	Title = {A {Polite} Solution to Interact with {EV3} Robots},
	Author = {Theodor Truffer},
	Abstract = {Lego Mindstorms is a combination of hardware and software to
		build and program a variety of different Lego robots. The
		Evolution 3 (short EV3) represents the third generation of
		these promising robots. Besides Lego itself, plenty of other
		organisations, researchers and developers have designed
		software to interact with the EV3 robots, many of them with the
		target to teach Computational Thinking to amateur programmers,
		others to reach high functionality and open new possibilities.
		But although there are already a lot of existing projects,
		there seems to be a gap between the simple and visual learning
		programs, and the richer programming environments. Polite for
		EV3 closes this gap by combining the simple but nonetheless
		expressive object-oriented programming language Polite with
		powerful concepts like State Machines and Real Time
		Programming.},
	Institution = {University of Bern},
	Keywords = {scg-bp snf-none scg16 jb16 politesmalltalk},
	Type = {Bachelor's thesis},
	Url = {http://scg.unibe.ch/archive/projects/Truf16a.pdf},
	Month = sep,
	Year = {2016}
}

@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}}

@inproceedings{Truy12a,
	Author = {Eddy Truyen and Nicol{\'a}s Cardozo and Stefan Walraven and Jorge Vallejos and Engineer Bainomugisha and Sebastian G{\"u}nther and Theo DHondt},
	Booktitle = {Symposium on Applied Computing},
	Date-Added = {2012-04-05 14:58:06 +0200},
	Date-Modified = {2013-05-03 09:15:45 +0000},
	Keywords = {context-oriented; context-l},
	Publisher = {ACM press},
	Rating = {4},
	Series = {SAC'12},
	Title = {Context-Oriented Programming for Customizable SaaS Applications},
	Year = {2012}}

@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,
	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}}

@article{Tsan09a,
	author={Tsantalis, N. and Chatzigeorgiou, A.},
	journal={Software Engineering, IEEE Transactions on},
	title={Identification of Move Method Refactoring Opportunities},
	year={2009},
	volume={35},
	number={3},
	pages={347-367},
	doi={10.1109/TSE.2009.1},
	ISSN={0098-5589},
	month=may}

@inproceedings{Tsay14a,
 author = {Tsay, Jason and Dabbish, Laura and Herbsleb, James},
 title = {Influence of Social and Technical Factors for Evaluating Contribution in GitHub},
 booktitle = {Proceedings of the 36th International Conference on Software Engineering},
 series = {ICSE 2014},
 year = {2014},
 isbn = {978-1-4503-2756-5},
 location = {Hyderabad, India},
 pages = {356--366},
 numpages = {11},
 url = {http://doi.acm.org/10.1145/2568225.2568315},
 doi = {10.1145/2568225.2568315},
 acmid = {2568315},
 publisher = {ACM},
 address = {New York, NY, USA},
 keywords = {GitHub, contribution, open source, signaling theory, social computing, social media, transparency}
}

@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},
	Doi = {10.1109/TCOM.1982.1095394},
	Journal = {IEEE Transactions on Communications},
	Keywords = {oislit forms mail tla ofs onhindex(38)},
	Month = jan,
	Number = {1},
	Pages = {66--73},
	Title = {A System for Managing Structured Messages},
	Url = {http://scg.unibe.ch/archive/uoft/Tsic82b.pdf},
	url2 = {http://www.vldb.org/conf/1985/P335.PDF},
	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},
	url2 = {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}}

@inproceedings{Tuan18a,
  author = {Anh Tuan Nguyen and Trong Van Nguyen and Hung Dang Phan and Tien N. Nguyen},
  title = {A Deep Neural Network Language Model with Contexts for Source Code},
  booktitle = {25th IEEE International Conference on Software Analysis, Evolution, and Reengineering (SANER '18)},
  pages = {},
  year = {2018}
}

@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{Tuda94,
author={Tudahl, D. and Lindner, R.},
booktitle={Electro/94 International. Conference Proceedings. Combined Volumes.},
title={Software development at a Baldrige winner},
year={1994},
month=may,
pages={167-180},
keywords={software development management;software quality;user centred design;IBM Rochester development laboratory;Malcolm Baldrige National Quality Award;continuous complimentary relationship;development organization;process improvement;product quality;quality management techniques;software development;software products;team commitment;team empowerment;Laboratories;Prog
ramming;Quality awards;Quality management;Refining;Software quality},
doi={10.1109/ELECTR.1994.472708}
}

@inproceedings{Tudo11a,
author={Tudorica, B.G. and Bucur, C.},
booktitle={Roedunet International Conference (RoEduNet), 2011 10th},
title={A comparison between several NoSQL databases with comments and notes},
year={2011},
month=jun,
pages={1-5},
abstract={This paper is trying to comment on the various NoSQL (Not only Structured Query Language) systems and to make a comparison (using multiple criteria) between them. The NoSQL databases were created as a mean to offer high performance (both in terms of speed and size) and high availability at the price of loosing the ACID (Atomic, Consistent, Isolated, Durable) trait of the traditional databases in exchange with keeping a weaker BASE (Basic Availability, Soft state, Eventual consistency) feature. Remains to be seen which of the multiple solutions created since the official appearance of the NoSQL concept (which was defined in 1998 and reintroduced in 2009, around which moment several NoSQL solutions emerged; at the present moment there are known over 120 such solutions) are really delivering on these promises of higher performance (although several of them are already used with very good results).},
keywords={SQL;ACID;BASE;NoSQL databases;atomic consistent isolated durable database trait;basic availability soft state eventual consistency feature;not only structured query language systems;Availability;Benchmark testing;Distributed databases;Generators;Google;Taxonomy;NoSQL;comparison;database;performance},
doi={10.1109/RoEduNet.2011.5993686},
ISSN={2068-1038}}

@inproceedings{Tudu10a,
	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), collocated with ASPLOS},
	Month = mar,
	Title = {Asymmetries in Multi-Core Systems -- Or Why We Need Better Performance Measurement Units},
	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 sde-visualization},
	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}}

@book{Tuft06a,
  Author = {Edward Tufte},
  Isbn = {0-9613921-7-7},
  Publisher = {Graphics Press},
  Title = {Beautiful Evidence},
  Year = {2006}
}

@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{Turh07a,
  title={A multivariate analysis of static code attributes for defect prediction},
  author={Turhan, Burak and Bener, Ayse},
  booktitle={Seventh International Conference on Quality Software (QSIC 2007)},
  pages={231--237},
  year={2007},
  organization={IEEE}
}

@inproceedings{Turh07b,
  title={Software Defect Prediction: Heuristics for Weighted Na{\"\i}ve Bayes.},
  author={Turhan, Burak and Bener, Ayse Basar},
  booktitle={ICSOFT (SE)},
  pages={244--249},
  year={2007}
}

@article{Turh09a,
  title={Analysis of Naive Bayes' assumptions on software fault data: An empirical study},
  author={Turhan, Burak and Bener, Ayse},
  journal={Data \& Knowledge Engineering},
  volume={68},
  number={2},
  pages={278--290},
  year={2009},
  publisher={Elsevier}
}

@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{Twal11a,
  title={Software faults prediction using multiple classifiers},
  author={Twala, Bhekisipho},
  booktitle={Computer Research and Development (ICCRD), 2011 3rd International Conference on},
  volume={4},
  pages={504--510},
  year={2011},
  organization={IEEE}
}

@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}}

@inproceedings{Tymc13a,
	Annote = {internationalworkshop},
	Abstract = {Nowadays almost all modern IDE provides editor services such as reference resolving while writing code to identify where a given symbol has been defined, constraints checking to highlight duplicate definitions, use before definition, unresolved reference. . . or code completion by proposing valid identifier in a given context. In parallel, in maintenance, lot of metrics or program analysis approaches rely on the identifica- tion of dependencies between concepts. All of these services rely on name resolution also known as symbol resolution.},
	Author = {Yuriy Tymchuk and Benjamin Arezki and Anne Etien and Nicolas Anquetil and St{\'e}phane Ducasse},
	Booktitle = {BENEVOL'13: Proceedings of the 12th edition of the Belgian-Netherlands software evoLution seminar},
	Keywords = {skip-doi tymchuk},
	PeerReview = {unknown},
	Medium = {2},
	Month = dec,
	Title = {Generic Name Resolution with Metamodels},
	Year = {2013},
	Url = {http://yuriy.tymch.uk/papers/benevol13.pdf}}

@inproceedings{Tymc14a,
	Annote = {internationalconference},
	Abstract = {One of the fundamental principles of open-source projects is that they foster collaboration among developers, disregarding their geo- graphical location or personal background. When it comes to soft- ware repositories collaboration is a rather ephemeral phenomenon which lacks a clear definition, and it must therefore be mined and modeled. This throws up the question whether what is mined actu- ally maps to reality. In this paper we investigate collaboration by modeling it using a number of diverse approaches that we then compare to a ground truth obtained by surveying a substantial set of developers of the Pharo open-source community. Our findings indicate that the notion of collaboration must be revisited, as it is undermined by a number of factors that are often tackled in imprecise ways or not taken into account at all.},
	Author = {Yuriy Tymchuk and Andrea Mocci and Michele Lanza},
	Booktitle = {MSR'14: Proceedings of the 11th Working Conference on Mining Software Repositories},
	Keywords = {tymchuk},
	PeerReview = {yes},
	Medium = {2},
	Month = may,
	Pages = {304--307},
	Title = {Collaboration in open-source projects: myth or reality?},
	Year = {2014},
	Publisher = {ACM},
	Doi = {10.1145/2597073.2597093},
	Url = {http://yuriy.tymch.uk/papers/msr14.pdf}}

@inproceedings{Tymc15a,
	Annote = {internationalconference},
	Abstract = {Modern software development sees code review as a crucial part of the process, because not only does it facilitate the sharing of knowledge about the system at hand, but it may also lead to the early detection of defects, ultimately improving the quality of the produced software. Although supported by numerous approaches and tools, code review is still in its infancy, and indeed researchers have pointed out a number of shortcomings in the state of the art. We present a critical analysis of the state of the art of code review tools and techniques, extracting a set of desired features that code review tools should possess. We then present our vision and initial implementation of a novel code review approach named Visual Design Inspection (ViDI), illustrated through a set of usage scenarios. ViDI is based on a combination of visualization techniques, design heuristics, and static code analysis techniques.},
	Author = {Yuriy Tymchuk and Andrea Mocci and Michele Lanza},
	Booktitle = {SANER'15: Proceedings of the 22rd IEEE International Conference on Software Analysis, Evolution, and Reengineering},
	Keywords = {tymchuk},
	PeerReview = {yes},
	Medium = {2},
	Month = mar,
	Pages = {151--160},
	Title = {Code Review: Veni, ViDI, Vici},
	Year = {2015},
	Publisher = {IEEE},
	Doi = {10.1109/SANER.2015.7081825},
	Url = {http://yuriy.tymch.uk/papers/saner15.pdf}}

@inproceedings{Tymc15b,
	Annote = {internationalconference},
	Abstract = {We present ViDI (Visual Design Inspector), a novel code review tool which focuses on quality concerns and de- sign inspection as its cornerstones. It leverages visualization techniques to represent the reviewed software and augments the visualization with the results of quality analysis tools. To effectively understand the contribution of a reviewer in terms of the impact of her changes on the overall system quality, ViDI supports the recording and further inspection of reviewing sessions. ViDI is an advanced prototype which we will soon release to the Pharo open-source community. Video URL: http://youtu.be/EtdkcNBJAec},
	Author = {Yuriy Tymchuk and Andrea Mocci and Michele Lanza},
	Booktitle = {ICSE'15: Proceedings of the 37th International Conference on Software Engineering, Tool Demonstration},
	Keywords = {tymchuk},
	PeerReview = {yes},
	Medium = {2},
	volume={2},
	Month = may,
	Pages = {653--656},
	Title = {ViDI: The Visual Design Inspector},
	Year = {2015},
	Publisher = {IEEE},
	Doi = {10.1109/ICSE.2015.215},
	Url = {http://yuriy.tymch.uk/papers/icse15.pdf}}

@inproceedings{Tymc15c,
	Annote = {internationalconference},
	Author = {Yuriy Tymchuk},
	Title = {Treating software quality as a first-class entity},
	Booktitle = {ICSME'15: Proceedings of the 31st International Conference on Software Maintenance and Evolution, Doctoral Symposium},
	volume={2},
	pages={871--874},
	Keywords = {tymchuk},
	PeerReview = {yes},
	Medium = {2},
	Publisher = {IEEE},
	Abstract = {Quality is a crucial property of any software system and consists of many aspects. On the one hand, quality measures how well a piece of software satisfies its functional requirements. On the other hand, it captures how easy it is to understand, test and modify a software system. While functional requirements are provided by the product owner, maintainability of software is often underestimated. Currently software quality is either assessed by experts, or presented as a list of rule violations reported by some kind of static analyzer. Both these approaches are working with a sense of quality outside of the software itself. We envision quality as a first-class entity of a software system, a concept that similarly to the functionality is persistent within the software itself. We believe that each entity or a group of software entities should be able to tell about its quality, reasons of bad smells and ways to resolve them. This concept will allow to build quality aware tools for each step of the software development lifecycle. On our way to the concept of quality as a first class entity, we have created a code review approach where software quality is the main concern. A reviewer makes decisions and takes actions based on the quality of the reviewed system. We plan to continue our research by integrating advanced quality rules into our tools and devising new approaches to represent quality and integrate it into everyday workflow. We started to develop a layer on top of a software model responsible for the quality feedback and allowing to develop quality-aware IDE plugins.},
	Year = {2015},
	doi={10.1109/ICSM.2015.7332521},
	Url = {http://yuriy.tymch.uk/papers/icsme15.pdf}}

@inproceedings{Tymc15d,
	Annote = {internationalworkshop},
	Abstract = {Modern development tools can aid in software quality assessment by using static analysis. Some of these tools are integrated into a development environment while others work outside of it. Although both approaches have their pros and cons there is no clear evidence whether one of them ensures a better quality of a software system. In order to understand which kind of tools performs better, we surveyed the developers of one open source community about their experience with both kinds of tools. The results show that developers may prefer integrated tools over external ones.},
	Author = {Yuriy Tymchuk},
	Booktitle = {BENEVOL'15: Proceedings of the 14th edition of the Belgian-Netherlands software evoLution seminar},
	Keywords = {skip-doi tymchuk},
	PeerReview = {unknown},
	Medium = {1},
	Month = dec,
	Title = {What if Clippy Would Criticize Your Code?},
	Year = {2015},
	Url = {http://yuriy.tymch.uk/papers/benevol15.pdf}}

@inproceedings{Tymc16a,
	Author    = {Yuriy Tymchuk and Leonel Merino and Mohammad Ghafari and Oscar Nierstrasz},
	Title     = {Walls, Pillars and Beams: A 3D Decomposition of Quality Anomalies},
	Booktitle = {{VISSOFT}'16: Proceedings of the 4th IEEE Working Conference on Software Visualization},
	Abstract  = {Quality rules are used to capture important implementation and design decisions embedded in a software system's architecture. They can automatically analyze software and assign quality grades to its components.
To provide a meaningful evaluation of quality, rules have to stay up-to-date with the continuously evolving system that they describe. However one would encounter unexpected anomalies during a historical overview because the notion of quality is always changing, while the qualitative evolution analysis requires it to remain constant.
To understand the anomalies in a quality history of a real-world software system we use an immersive visualization that lays out the quality fluctuations in three dimensions based on two co-evolving properties: quality rules and source code. This helps us to identify and separate the impact caused by the changes of each property, and allows us to detect significant mistakes that happened during the development process.},
	Annote 	  = {internationalconference},
	Publisher = {IEEE},
	PeerReview = {yes},
	Medium    = {2},
	Keywords  = {scg-pub snf-asa2 scg16 jb16 tymchuk},
	Year      = {2016},
	Url       = {http://scg.unibe.ch/archive/papers/Tymc16a.pdf},
	DOI       = {10.1109/VISSOFT.2016.9},
	Pages     = {126--135}
}

@inproceedings{Tymc16b,
	Abstract = {Static analysis tools can aid in software quality assessment, but are rarely used by software developers.
Poor usage of quality analysis tools not only means missed opportunities for the quality of software systems, but also results in little feedback, which in turn slows the improvements of the quality rules themselves.
We introduced a set of intrusive quality plugins and integrated them into the Pharo IDE. This not only triggered a feedback loop that led to improvements of the existing rules, but also encouraged removal of some rules and integration of new ones.
Our analysis of changes to the rules suggests that precise rules capturing a domain-specific logic are more valuable than general ones.},
	Annote = {internationalworkshop},
	Author = {Yuriy Tymchuk and Mohammad Ghafari and Oscar Nierstrasz},
	Booktitle = {IWST '16: Proceedings of International Workshop on Smalltalk Technologies},
	Keywords = {scg16 scg-pub jb16 snf-asa2 tymchuk},
	Peerreview = {yes},
  Doi = {10.1145/2991041.2991046},
	Title = {When {QualityAssistant} Meets {Pharo}: Enforced Code Critiques Motivate More Valuable Rules},
	Url = {http://scg.unibe.ch/archive/papers/Tymc16b.pdf},
	Year = {2016},
	Pages = {5:1--5:6},
	Medium = {4}
}

@misc{Tymc16c,
  author       = {Yuriy Tymchuk and Leonel Merino and Mohammad Ghafari and Oscar Nierstrasz},
  title        = {[Artifact] Walls, Pillars and Beams: A 3D Decomposition of Quality Anomalies},
  month        = jun,
  Medium       = {1},
  Peerreview   = {yes},
  year         = {2016},
  doi          = {10.5281/zenodo.56111},
  url          = {https://doi.org/10.5281/zenodo.56111}}

@misc{Tymc17a,
  author       = {Yuriy Tymchuk},
  title        = {Renraku v0.15.2},
  month        = may,
  year         = {2017},
  Medium       = {1},
  Peerreview   = {no},
  doi          = {10.5281/zenodo.800676},
  url          = {https://doi.org/10.5281/zenodo.800676},
  keywords     = {scg17 scg-pub jb17 snf-none},
  abstract     = {Renraku is an extensible static analysis model designed to connect analyzers and tools conveniently. It defines how algorithms should provide external properties of source code, and how tools should consume these properties. Not only the unique model lifts the complexity burden from static analysis engineering but opens entirely new horizons unseen by the others.}
}

@misc{Tymc17b,
  author       = {Yuriy Tymchuk},
  title        = {QualityAssistant v3.3.1},
  month        = jun,
  year         = {2017},
  Medium       = {1},
  keywords     = {scg17 scg-pub jb17 snf-none},
  Peerreview   = {no},
  doi          = {10.5281/zenodo.809410},
  url          = {https://doi.org/10.5281/zenodo.809410},
  abstract     = {QualityAssistant is a live quality feedback plugin based on SmallLint, which reports code quality violations to software developers as they work with the code.}
}

@inproceedings{Tymc17c,
	Annote = {internationalworkshop},
	Abstract = {Static analysis tools may produce false positive results, which negatively impact the overall usability of these tools.
However, even a correct static analysis report is sometimes classified as a false positive if a developer does not understand it or does not agree with it.
Lately developers' classification of false positives is treated on a par with the actual static analysis performance which may distort the knowledge about the real state of static analysis. In this paper we discuss various use cases where a false positive report is not false and the issue is caused by another aspects of static analysis.
We provide an in-depth explanation of the issue for each use case followed by recommendations on how to solve it, and thus exemplify the importance of careful false positive classification.},
	Author = {Tymchuk, Yuriy},
	Booktitle = {SATToSE'17: Pre-Proceedings of the 10th International Seminar Series on Advanced Techniques \& Tools for Software Evolution},
	PeerReview = {yes},
	Medium = {1},
	Keywords = {scg-pub snf-asa2 scg17 jb17 skip-doi tymchuk},
	Month = jun,
	location = {Madrid, Spain},
	Title = {The False False Positives of Static Analysis},
	Year = {2017},
	Url = {http://scg.unibe.ch/archive/papers/Tymc17c.pdf},
	Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Tymc17c.pdf}}

@inproceedings{Tymc17d,
	Abstract = {Most of the static analyzers are monolithic applications that define their own ways to analyze source code and present the results.
Therefore aggregating multiple static analyzers into a single tool or integrating a new analyzer into existing tools requires a significant amount of effort.
Over the last few years, we cultivated Renraku --- a static analysis model that acts as a mediator between the static analyzers and the tools that present the reports.
When used by both analysis and tool developers, the single quality model can reduce the cost to both introduce a new type of analysis to existing tools or create a tool that relies on existing analyzers.},
	Annote = {internationalworkshop},
	Author = {Yuriy Tymchuk and Mohammad Ghafari and Oscar Nierstrasz},
	Booktitle = {IWST'17: Proceedings of International Workshop on Smalltalk Technologies},
	Keywords = {scg17 scg-pub jb17 snf-asa2 tymchuk},
	Peerreview = {yes},
	Title = {Renraku --- the One Static Analysis Model to Rule Them All},
	location = {Maribor, Slovenia},
	Url = {http://scg.unibe.ch/archive/papers/Tymc17d.pdf},
	Doi = {10.1145/3139903.3139919},
	Year = {2017},
	Medium = {4}
}

@misc{Tymc17e,
  author       = {Tymchuk, Yuriy},
  title        = {QualityAssistant Interactions},
  month        = aug,
  year         = {2017},
  doi          = {10.5281/zenodo.846690},
  Medium       = {1},
  keywords     = {scg17 scg-pub jb17 snf-none},
  Peerreview   = {no},
  url          = {https://doi.org/10.5281/zenodo.846690},
  abstract     = {The dataset contains recordings of developers interacting with the QualityAssistant static analysis plugin in Pharo IDE (version 5 and 6). We recorded 7786 development sessions from 547 developers in a time span of 322 days. In a regular programming session, the developer launches the Pharo IDE and uses the code editor to display code. The Pharo IDE allows the developer to work on a single method or class definition at a time. QualityAssistant then evaluates the browsed code; if the tool finds quality violations, it displays them in the code editor. The developer eventually edits the code, i.e., performing code transformations either manually or using automated tools. After the developer compiles the code, QualityAssistant re-evaluates it and thus more or fewer violations may be displayed to the developer.}
}

@phdthesis{Tymc17f,
        Title = {Quality-Aware Tooling},
        Author = {Yuriy Tymchuk},
        Abstract = {Programming is a fascinating activity that can yield results capable of changing people lives by automating daily tasks or even completely reimagining how we perform certain activities. Such a great power comes with a handful of challenges, with software maintainability being one of them. Maintainability cannot be validated by executing the program but has to be assessed by analyzing the codebase. This tedious task can be also automated by the means of software development. Programs called static analyzers can process source code and try to detect suspicious patterns. While these programs were proven to be useful, there is also an evidence that they are not used in practice.
In this dissertation we discuss the concept of quality-aware tooling --- an approach that seeks a promotion of static analysis by seamlessly integrating it into development tools. We describe our experience of applying quality-aware tooling on a core distribution of a development environment. Our main focus is to provide live quality feedback in the code editor, but we also integrate static analysis into other tools based on our code quality model. We analyzed the attitude of the developers towards the integrated static analysis and assessed the impact of the integration on the development ecosystem.
As a result 90\% of software developers find the live feedback useful, quality rules received an overhaul to better match the contemporary development practices, and some developers even experimented with a custom analysis implementations. We discovered that live feedback helped developers to avoid dangerous mistakes, saved time, and taught valuable concepts. But most importantly we changed the developers' attitude towards static analysis from viewing it as just another tool to seeing it as an integral part of their toolset.},
        Keywords = {scg-phd, snf-asa2, scg17, jb18, tymchuk},
        School = {University of Bern},
        Type = {{PhD} thesis},
        Url = {http://scg.unibe.ch/archive/phd/tymchuk-phd.pdf},
	Bdsk-Url-1 = {http://scg.unibe.ch/archive/phd/tymchuk-phd.pdf},
  Bdsk-Url-2 = {http://www.lulu.com/shop/yuriy-tymchuk/quality-aware-tooling/paperback/product-23426021.html},
        Month = dec,
        Year = {2017}
}

@inproceedings{Tymc18a,
	Author    = {Yuriy Tymchuk and Mohammad Ghafari and Oscar Nierstrasz},
	abstract = {Although software developers are usually reluctant to
		use static analysis to detect issues in their source
		code, our automatic just-in-time (JIT) static analysis
		assistant was integrated into an Integrated
		Development Environment, and was evaluated positively
		by its users. We conducted interviews to understand
		the impact of the tool on experienced developers, and
		how it performs in comparison with other static
		analyzers. We learned that the availability of our
		tool as a default IDE feature and its automatic
		execution are the main reasons for its adoption.
		Moreover, the fact that immediate feedback is provided
		directly in the related development context is
		essential to keeping developers satis ed, although in
		certain cases feedback delivered later was deemed more
		useful. We also discovered that static analyzers can
		play an educational role, especially in combination
		with domain-specific rules.},
	location = {Gothenburg, Sweden},
	Keywords = {scg-pub snf-asa2 scg18 jb18},
	Peerreview = {yes},
	Medium = {2},
	Booktitle = {26th IEEE International Conference on Program Comprehension (ICPC 2018)},
    Annote    = {internationalconference},
	Url = {http://scg.unibe.ch/archive/papers/Tymc18a.pdf},
	Doi = {10.1145/3196321.3196327},
	Title = {{JIT} Feedback --- what Experienced Developers like about Static Analysis},
	Pages = {64--73},
	Year = {2018}
}

@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,
	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},
	Author = {Tzerpos, V. and Holt, R.C.},
	Booktitle = {Reverse Engineering, 2000. Proceedings. Seventh Working Conference on},
	Doi = {10.1109/WCRE.2000.891477},
	Pages = {258 -267},
	Title = {ACCD: an algorithm for comprehension-driven clustering},
	Year = {2000},
	Bdsk-Url-1 = {http://dx.doi.org/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,
	Address = {Cape Town, South Africa},
	Author = {Ubayashi, Naoyasu and Nomura, Jun and Tamai, Tetsuo},
	Booktitle = {ICSE'10: Proceedings of the 32nd International Conference on Software Engineering},
	Doi = {10.1145/1806799.1806815},
	Keywords = {damiencbib conformance},
	Pages = {75--84},
	Publisher = {ACM},
	Title = {Archface: A Contract Place Where Architectural Design and Code Meet Together},
	Year = {2010},
	Bdsk-Url-1 = {http://dx.doi.org/10.1145/1806799.1806815}}

@techreport{Ubiwi02a,
	Author = {Barton, John J. and Vijayaraghavan, Vikram},
	Institution = {Hewlett Packard},
	Keywords = {damiencbib},
	Title = {UBIWISE, A Ubiquitous Wireless Infrastructure Simulation Environment},
	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}}

@inproceedings{Uddi11a,
	Author = {Md. Sharif Uddin and Chanchal K. Roy and Kevin A. Schneider and Abram Hindle},
	Booktitle = {WCRE},
	Doi = {doi.ieeecomputersociety.org/10.1109/WCRE.2011.12},
	Pages = {13-22},
	Title = {On the Effectiveness of Simhash for Detecting Near-Miss Clones in Large Scale Software Systems},
	Year = {2011},
	Bdsk-Url-1 = {http://dx.doi.org/10.1109/WCRE.2011.12}}

@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}}

@book{Ulri10a,
	Address = {San Francisco, CA, USA},
	Author = {Ulrich, William M. and Newcomb, Philip},
	Isbn = {0123749131, 9780123749130},
	Publisher = {Morgan Kaufmann Publishers Inc.},
	Title = {Information Systems Transformation: Architecture-Driven Modernization Case Studies},
	Year = {2010}}

@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},
	Book = {Smalltalk-80: Bits of History, Words of Advice},
	Chapter = {11},
	Pages = {189--206},
	Publisher = {Addison-Wesley},
	Title = {Berkeley Smalltalk: Who Knows Where the Time Goes?},
	Year = {1983}}

@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}}

@phdthesis{Unga86a,
	Address = {Berkeley, CA, USA},
	Author = {Ungar, David M},
	School = {University of California at Berkeley},
	Title = {The Design and Evaluation of A High Performance Smalltalk System},
	Year = {1986}}

@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,
	Address = {New York, NY, USA},
	Author = {Ungar, David and Spitz, Adam and Ausch, Alex},
	Booktitle = {OOPSLA '05: Companion to the 20th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications},
	Doi = {10.1145/1094855.1094865},
	Isbn = {1-59593-193-7},
	Location = {San Diego, CA, USA},
	Pages = {11--20},
	Publisher = {ACM},
	Title = {Constructing a metacircular Virtual machine in an exploratory programming environment},
	Year = {2005},
	Bdsk-Url-1 = {http://dx.doi.org/10.1145/1094855.1094865}}

@article{Ungar97,
	Acmid = {248457},
	Address = {New York, NY, USA},
	Author = {Ungar, David and Lieberman, Henry and Fry, Christopher},
	Doi = {10.1145/248448.248457},
	Issn = {0001-0782},
	Issue_Date = {April 1997},
	Journal = {Commun. ACM},
	Month = apr,
	Number = {4},
	Numpages = {6},
	Pages = {38--43},
	Publisher = {ACM},
	Title = {Debugging and the experience of immediacy},
	Url = {http://doi.acm.org/10.1145/248448.248457},
	Volume = {40},
	Year = {1997},
	Bdsk-Url-1 = {http://doi.acm.org/10.1145/248448.248457},
	Bdsk-Url-2 = {http://dx.doi.org/10.1145/248448.248457}}

@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,
	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.},
	Annote = {internationalconference},
	Author = {Uquillas G\'omez, Ver\'onica and St\'ephane Ducasse and Theo D'Hondt},
	Booktitle = {Working Conference on Reverse Engineering (WCRE 2010)},
	Hal-Id = {inria-00531508},
	Inria = {RMOD},
	Inriareport = {2010},
	Keywords = {lse-pub moose-pub},
	Labo = {dans},
	Month = oct,
	Title = {Visually Supporting Source Code Changes Integration: the Torch Dashboard},
	Url = {http://rmod.lille.inria.fr/archives/papers/Uqui10a-Torch-WCRE10.pdf},
	X-Country = {BE},
	X-Editorial-Board = {yes},
	X-International-Audience = {yes},
	X-Language = {EN},
	X-Proceedings = {yes},
	Year = {2010},
	Bdsk-Url-1 = {http://rmod.lille.inria.fr/archives/papers/Uqui10a-Torch-WCRE10.pdf}}

@inproceedings{Uqui10b,
	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.},
	Aeres = {COM},
	Aeresstatus = {aeres12},
	Annote = {internationalworkshop},
	Author = {Uquillas G\'omez, Ver\'onica and St\'ephane Ducasse and Theo D'Hondt},
	Booktitle = {Smalltalks'2010},
	Hal-Id = {inria-00531613},
	Inria = {RMOD},
	Inriareport = {2010},
	Keywords = {moose-pub stefPub lse-pub},
	Title = {Meta-models and Infrastructure for Smalltalk Omnipresent History},
	Url = {http://rmod.lille.inria.fr/archives/workshops/Uqui10b-Smalltalk2010-Metamodels.pdf},
	X-Editorial-Board = {yes},
	X-International-Audience = {yes},
	X-Proceedings = {yes},
	Year = {2010},
	Bdsk-Url-1 = {http://rmod.lille.inria.fr/archives/workshops/Uqui10b-Smalltalk2010-Metamodels.pdf}}

@techreport{Urma14a,
	Author = {Raoul-Gabriel Urma},
	Institution ={Oracle},
	Title= {Tired of Null Pointer Exceptions? {Consider} Using {Java SE} 8's Optional!},
	Year = {2014},
	Month = mar,
	Url = {http://www.oracle.com/technetwork/articles/java/java8-optional-2175753.html}
}

@book{Utte89a,
  title={Advances in Parallel Debuggers: New Approaches to Visualization},
  author={Utter, Paula Sue and Pancake, Cherri M},
  volume={18},
  year={1989},
  publisher={Cornell Theory Center, Cornell University}
}

@book{Utti06a,
	Author = {Mark Utting and Bruno Legeard},
	Isbn = {978-0123725011},
	Publisher = {Morgan-Kaufmann},
	Title = {Practical Model-Based Testing: A Tools Approach},
	Year = {2006}}

@article{Utti12a,
	author = {Utting, Mark and Pretschner, Alexander and Legeard, Bruno},
	title = {A taxonomy of model-based testing approaches},
	journal = {Software Testing, Verification and Reliability},
	volume = {22},
	number = {5},
	pages = {297-312},
	keywords = {model-based testing approaches, taxonomy, survey},
	doi = {10.1002/stvr.456},
	url = {https://onlinelibrary.wiley.com/doi/abs/10.1002/stvr.456},
	eprint = {https://onlinelibrary.wiley.com/doi/pdf/10.1002/stvr.456},
	abstract = {SUMMARY Model-based testing (MBT) relies on models of a system under test and/or its environment to derive test cases for the system. This paper discusses the process of MBT and defines a taxonomy that covers the key aspects of MBT approaches. It is intended to help with understanding the characteristics, similarities and differences of those approaches, and with classifying the approach used in a particular MBT tool. To illustrate the taxonomy, a description of how three different examples of MBT tools fit into the taxonomy is provided.},
	year = {2012}
}

@article{Uttl16a,
	title = {Meta-analysis of faculty's teaching effectiveness: Student evaluation of teaching ratings and student learning are not related},
	journal = {Studies in Educational Evaluation},
	volume = {},
	number = {},
	pages = {-},
	year = {2016},
	issn = {0191-491X},
	doi = {10.1016/j.stueduc.2016.08.007},
	url = {http://www.sciencedirect.com/science/article/pii/S0191491X16300323},
	author = {Bob Uttl and Carmela A. White and Daniela Wong Gonzalez},
	abstract = {Abstract Student evaluation of teaching (SET) ratings are used to
		evaluate faculty's teaching effectiveness based on a widespread belief that
		students learn more from highly rated professors. The key evidence cited in
		support of this belief are meta-analyses of multisection studies showing
		small-to-moderate correlations between SET ratings and student achievement
		(e.g., Cohen, 1980, 1981; Feldman, 1989). We re-analyzed previously published
		meta-analyses of the multisection studies and found that their findings were an
		artifact of small sample sized studies and publication bias. Whereas the small
		sample sized studies showed large and moderate correlation, the large sample sized
		studies showed no or only minimal correlation between SET ratings and
		learning. Our up-to-date meta-analysis of all multisection studies revealed no
		significant correlations between the SET ratings and learning. These findings
		suggest that institutions focused on student learning and career success may want
		to abandon SET ratings as a measure of faculty's teaching effectiveness.}
}

@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{Vaki12,
	Acmid = {2337251},
	Address = {Piscataway, NJ, USA},
	Author = {Vakilian, Mohsen and Chen, Nicholas and Negara, Stas and Rajkumar, Balaji Ambresh and Bailey, Brian P. and Johnson, Ralph E.},
	Booktitle = {Proceedings of the 2012 International Conference on Software Engineering},
	Isbn = {978-1-4673-1067-3},
	Location = {Zurich, Switzerland},
	Numpages = {11},
	Pages = {233--243},
	Publisher = {IEEE Press},
	Series = {ICSE 2012},
	Title = {Use, disuse, and misuse of automated refactorings},
	Url = {http://dl.acm.org/citation.cfm?id=2337223.2337251},
	Year = {2012},
	Bdsk-Url-1 = {http://dl.acm.org/citation.cfm?id=2337223.2337251}}

@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}}

@article{Vali75a,
    title = {General context-free recognition in less than cubic time},
    journal = {Journal of Computer and System Sciences},
    volume = {10},
    number = {2},
    pages = {308 - 315},
    year = {1975},
    issn = {0022-0000},
    doi = {10.1016/S0022-0000(75)80046-8},
    url = {http://www.sciencedirect.com/science/article/pii/S0022000075800468},
    author = {Leslie G. Valiant},
    abstract = {An algorithm for general context-free recognition is given that requires less than n3 time asymptotically for input strings of length n.}
}

@book{Vali02a,
	Author = {Gabriel Valiente},
	Keywords = {scglib},
	Publisher = {Springer},
	Title = {Algorithms on Trees and Grahs},
	Year = {2002}}

@inproceedings{Vall99a,
  title={Soot --- a {Java} bytecode optimization framework},
  author={Vall{\'e}e-Rai, Raja and Co, Phong and Gagnon, Etienne and Hendren, Laurie and Lam, Patrick and Sundaresan, Vijay},
  booktitle={Proceedings of the 1999 conference of the Centre for Advanced Studies on Collaborative research},
  pages={13},
  year={1999},
  organization={IBM Press}
}

@article{Vall06a,
	Acmid = {1231198},
	Address = {Amsterdam, The Netherlands, The Netherlands},
	Author = {Vallecillo, Antonio and Vasconcelos, Vasco T. and Ravara, Ant\'{o}nio},
	Issn = {0169-2968},
	Issue = {4},
	Issue_Date = {October 2006},
	Journal = {Fundam. Inf.},
	Month = sep,
	Numpages = {16},
	Pages = {583--598},
	Publisher = {IOS Press},
	Title = {Typing the Behavior of Software Components using Session Types},
	Url = {http://dl.acm.org/citation.cfm?id=1231191.1231198},
	Volume = {73},
	Year = {2006},
	Bdsk-Url-1 = {http://dl.acm.org/citation.cfm?id=1231191.1231198}}

@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,
	Address = {Prague, Czech Republic},
	Author = {Van Roy, Peter},
	Booktitle = {FACS'06: Proceedings of the 3rd International Workshop on Formal Aspects of Component Software},
	Doi = {10.1016/j.entcs.2006.12.043},
	Month = sep,
	Pages = {201--217},
	Title = {Self Management and the Future of Software Design},
	Year = {2006},
	Bdsk-Url-1 = {http://dx.doi.org/10.1016/j.entcs.2006.12.043}}

@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}}

@article{VanG12a,
	Author = {Michiel van Genuchten and Les Hatton},
	Journal = {IEEE Software},
	Number = {4},
	Pages = {19--21},
	Title = {Compound Annual Growth Rate for Software},
	Volume = {29},
	Year = {2012}}

@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{VanRy12,
	Acmid = {2448965},
	Address = {New York, NY, USA},
	Articleno = {2},
	Author = {Van Ryseghem, Benjamin and Ducasse, St{\'e}phane and Fabry, Johan},
	Booktitle = {Proceedings of the International Workshop on Smalltalk Technologies},
	Doi = {10.1145/2448963.2448965},
	Isbn = {978-1-4503-1897-6},
	Location = {Ghent, Belgium},
	Numpages = {14},
	Pages = {2:1--2:14},
	Publisher = {ACM},
	Series = {IWST '12},
	Title = {{Spec}: a framework for the specification and reuse of {UIs} and their models},
	Url = {http://doi.acm.org/10.1145/2448963.2448965},
	Year = {2012},
	Bdsk-Url-1 = {http://doi.acm.org/10.1145/2448963.2448965},
	Bdsk-Url-2 = {http://dx.doi.org/10.1145/2448963.2448965}}

@inproceedings{Vanc10a,
	Abstract = {In this paper, we study the hidden dependencies that are a special kind of data flows.
				They play an important role in software maintenance and evolution because they propagate changes
				among the classes and they are hard to detect. We propose a technique that finds hidden
				dependencies through the computation of an #x201C;execute completely after #x201D; relation that
				is filtered using dynamically generated preconditions and postconditions. We show that these
				hidden dependencies exist even in well-structured software, like the open source programs JUnit,
				Drawlets, and Apache FtpServer. We also discuss the precision of this technique.},
	Author = {Vanciu, R. and Rajlich, V.},
	Booktitle = {Software Maintenance (ICSM), 2010 IEEE International Conference on},
	Doi = {10.1109/ICSM.2010.5609657},
	Issn = {1063-6773},
	Keywords = {Apache;Drawlets;FtpServer;hidden dependencies;open source programs JUnit;software maintenance;software system;public domain software;software maintenance},
	Month = sep,
	Pages = {1 -10},
	Title = {Hidden dependencies in software systems},
	Year = {2010},
	Bdsk-Url-1 = {http://dx.doi.org/10.1109/ICSM.2010.5609657}}

@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{Vand08a,
	Author = {Vandecruys, Olivier and Martens, David and Baesens, Bart and Mues, Christophe and De Backer, Manu and Haesen, Raf},
	Journal = {Journal of Systems and software},
	Number = {5},
	Pages = {823--839},
	Publisher = {Elsevier},
	Title = {Mining software repositories for comprehensible software fault prediction models},
	Volume = {81},
	Year = {2008}}

@inproceedings{Vang09a,
	Acmid = {1595748},
	Address = {New York, NY, USA},
	Author = {Vangala, Vipindeep and Czerwonka, Jacek and Talluri, Phani},
	Booktitle = {Proceedings of the the 7th joint meeting of the European software engineering conference and the ACM SIGSOFT symposium on The foundations of software engineering},
	Doi = {10.1145/1595696.1595748},
	Isbn = {978-1-60558-001-2},
	Keywords = {machine learning, static analysis, sustained engineering, testing},
	Location = {Amsterdam, The Netherlands},
	Numpages = {2},
	Pages = {293--294},
	Publisher = {ACM},
	Series = {ESEC/FSE '09},
	Title = {Test case comparison and clustering using program profiles and static execution},
	Url = {http://doi.acm.org/10.1145/1595696.1595748},
	Year = {2009},
	Bdsk-Url-1 = {http://doi.acm.org/10.1145/1595696.1595748},
	Bdsk-Url-2 = {http://dx.doi.org/10.1145/1595696.1595748}}

@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,
	Address = {Berlin, Germany},
	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},
	Doi = {10.1007/978-3-540-73589-2_27},
	Keywords = {dsllit silver damiencbib},
	Month = jul,
	Pages = {575--599},
	Publisher = {Springer},
	Title = {Attribute Grammar-Based Language Extensions for Java},
	Year = {2007},
	Bdsk-Url-1 = {http://dx.doi.org/10.1007/978-3-540-73589-2_27}}

@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}}

@article{Varg00a,
author = {Andras Vargha and Harold D. Delaney},
title = {A Critique and Improvement of the {CL} Common Language Effect Size Statistics of {McGraw} and {Wong}},
journal = {Journal of Educational and Behavioral Statistics},
volume = {25},
number = {2},
pages = {101-132},
year = {2000},
doi = {10.3102/10769986025002101},
URL = {http://dx.doi.org/10.3102/10769986025002101},
eprint = {http://dx.doi.org/10.3102/10769986025002101}
}

@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 scg-none 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://scg.unibe.ch/archive/papers/Vasa08aResilienceToChange.pdf},
	Url2 = {http://eceasst.cs.tu-berlin.de/index.php/eceasst/article/view/121},
	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{Vasi13a,
  title={Stackoverflow and github: Associations between software development and crowdsourced knowledge},
  author={Vasilescu, Bogdan and Filkov, Vladimir and Serebrenik, Alexander},
  booktitle={2013 International Conference on Social Computing},
  pages={188--195},
  year={2013},
  organization={IEEE}
}

@inproceedings{Vasi17a,
	Title={Continuous integration in a social-coding world: Empirical evidence from {GitHub}},
	Author={Vasilescu, Bogdan and Van Schuylenburg, Stef and Wulms, Jules and Serebrenik, Alexander and van den Brand, Mark GJ},
	Booktitle={Software Maintenance and Evolution (ICSME), 2014 IEEE International Conference on},
	Pages={401--405},
	Year={2014},
	Organization={IEEE}
}

@article{Vass19a,
  title={How developers engage with static analysis tools in different contexts},
  author={Vassallo, Carmine and Panichella, Sebastiano and Palomba, Fabio and Proksch, Sebastian and Gall, Harald C and Zaidman, Andy},
  journal={Empirical Software Engineering},
  pages={1--39},
  year={2019},
  publisher={Springer}
}

@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}}

@inproceedings{Venk16a,
  title={What concerns do client developers have when using web {APIs}? An empirical study of developer forums and stack overflow},
  author={Venkatesh, Pradeep K and Wang, Shaohua and Zhang, Feng and Zou, Ying and Hassan, A},
  booktitle={IEEE international conference on web services (ICWS)},
  pages={131--138},
  Keywords = {dev-questions},
  year={2016}
}

@techreport{Veno05a,
	Author = {Gina D. Venolia and Robert DeLine and Thomas LaToza},
	Institution = {Microsoft Research},
	Keywords = {testing-practices},
	Month = oct,
	Number = {MSR-TR-2005-140},
	Title = {Software Development at Microsoft Observed},
	Url = {http://research.microsoft.com/pubs/70227/tr-2005-140.pdf},
	Year = {2005},
	Bdsk-Url-1 = {http://research.microsoft.com/pubs/70227/tr-2005-140.pdf}}

@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 snf-none 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}}

@inproceedings{Verc18a,
 author = {Vercammen, Sten and Ghafari, Mohammad and Demeyer, Serge and Borg, Markus},
 title = {Goal-oriented Mutation Testing with Focal Methods},
 booktitle = {Proceedings of the 9th ACM SIGSOFT International Workshop on Automating TEST Case Design, Selection, and Evaluation},
 series = {A-TEST 2018},
 year = {2018},
 isbn = {978-1-4503-6053-1},
 location = {Lake Buena Vista, FL, USA},
 pages = {23--30},
 numpages = {8},
 url = {https://arxiv.org/abs/1807.10953},
 doi = {10.1145/3278186.3278190},
 acmid = {3278190},
 publisher = {ACM},
 address = {New York, NY, USA},
 keywords = {scg-pub snf-asa2 scg18 jb19},
abstract={Mutation testing is the state-of-the-art technique for assessing the fault-detection capacity of a test suite. Unfortunately, mutation testing consumes enormous computing resources because it runs the whole test suite for each and every injected mutant. In this paper we explore fine-grained traceability links at method level (named focal methods), to reduce the execution time of mutation testing and to verify the quality of the test cases for each individual method, instead of the usually verified overall test suite quality. Validation of our approach on the open source Apache Ant project shows a speed-up of 573.5x for the mutants located in focal methods with a quality score of 80%.}
}

@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}}

@book{Vern13a,
	author = {Vernon, Vaughn},
	isbn = {0133039889},
	pages = {656},
	title = {{Implementing Domain-Driven Design}},
	publisher = {Addison-Wesley},
	year = {2013}
}

@inproceedings{Vero13a,
  title={Visualizing the allocation and death of objects.},
  author={Veroy, Raoul L and Ricci, Nathan P and Guyer, Samuel Z},
  booktitle={VISSOFT},
  pages={1--4},
  year={2013}
}

@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.},
	Address = {New York, NY, USA},
	Annote = {internationalconference},
	Author = {Toon Verwaest and Camillo Bruni and David Gurtner and Adrian Lienhard and Oscar Nierstrasz},
	Booktitle = {OOPSLA Onward! '10},
	Doi = {10.1145/1869459.1869522},
	Isbn = {978-1-4503-0203-6},
	Issn = {0362-1340},
	Issue = {10},
	Issue_Date = {October 2010},
	Journal = {SIGPLAN Not.},
	Keywords = {scg10 scg-pub tverwaes snf10 jb11 pinocchio},
	Location = {Reno/Tahoe, NV, USA},
	Medium = {0},
	Numpages = {16},
	Pages = {774--789},
	Peerreview = {yes},
	Publisher = {ACM},
	Title = {Pinocchio: Bringing Reflection to Life with First-Class Interpreters},
	Url = {http://scg.unibe.ch/archive/papers/Verw10aPinocchio.pdf},
	Volume = {45},
	Year = {2010},
	Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Verw10aPinocchio.pdf},
	Bdsk-Url-2 = {http://dx.doi.org/10.1145/1869459.1869522}}

@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 = {internationalworkshop},
	Author = {Toon Verwaest and Niko Schwarz and Erwann Wernli},
	Booktitle = {Proceedings of the TOOLS 2011 8th Workshop on Reflection, AOP and Meta-Data for Software Evolution (RAM-SE'11)},
	Keywords = {scg11 scg-pub tverwaes nes snf11 jb11 skip-doi},
	Medium = {1},
	Peerreview = {yes},
	Title = {Runtime Class Updates using Modification Models},
	Url = {http://scg.unibe.ch/archive/papers/Verw11aRuntimeUpdates.pdf},
	Year = {2011},
	Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Verw11aRuntimeUpdates.pdf}}

@inproceedings{Verw11b,
	Abstract = {Programming idioms, design patterns and application libraries often introduce
cumbersome and repetitive boilerplate code to a software system. Language
extensions and external DSLs (domain specific languages) are sometimes
introduced to reduce the need for boilerplate code, but they also complicate
the system by introducing the need for language dialects and inter-language
mediation.
To address this, we propose to extend the structural reflective model of the
language with object layouts, layout scopes and slots.
Based on the new reflective language model we can 1) provide behavioral hooks
to object layouts that are triggered when the fields of an object are accessed
and 2) simplify the implementation of state-related language extensions such as
stateful traits. By doing this we show how many idiomatic use cases that
normally require boilerplate code can be more effectively supported.
We present an implementation in Smalltalk, and illustrate its usage through a
series of extended examples.},
	Address = {New York, NY, USA},
	Annote = {internationalconference},
	Author = {Toon Verwaest and Camillo Bruni and Mircea Lungu and Oscar Nierstrasz},
	Booktitle = {Proceedings of the 2011 ACM international conference on Object oriented programming systems languages and applications},
	Doi = {10.1145/2048066.2048138},
	Isbn = {978-1-4503-0940-0},
	Keywords = {scg11 scg-pub tverwaes snf11 jb11},
	Location = {Portland, Oregon, USA},
	Medium = {0},
	Pages = {959--972},
	Peerreview = {yes},
	Publisher = {ACM},
	Series = {OOPSLA '11},
	Title = {Flexible object layouts: enabling lightweight language extensions by intercepting slot access},
	Url = {http://scg.unibe.ch/archive/papers/Verw11bFlexibleObjectLayouts.pdf},
	Year = {2011},
	Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Verw11bFlexibleObjectLayouts.pdf},
	Bdsk-Url-2 = {http://dx.doi.org/10.1145/2048066.2048138}}

@phdthesis{Verw12a,
	Abstract = {High-performance virtual machines (VMs) are increasingly reused for programming languages for which they were not initially designed. Unfortunately, VMs are usually tailored to specific languages, offer only a very limited interface to running applications, and are closed to extensions. As a consequence, extensions required to support new languages often entail the construction of custom VMs, thus impacting reuse, compatibility and performance. Short of building a custom VM, the language designer has to choose between the expressiveness and the performance of the language. In this dissertation we argue that the best way to open the VM is to eliminate it. We present Pinocchio, a natively compiled Smalltalk, in which we identify and reify three basic building blocks for object-oriented languages.  First we define a protocol for message passing similar to calling conventions, independent of the actual message lookup mechanism. The lookup is provided by a self-supporting runtime library written in Smalltalk and compiled to native code. Since it unifies the meta- and base-level we obtain a metaobject protocol (MOP).  Then we decouple the language-level manipulation of state from the machine-level implementation by extending the structural reflective model of the language with object layouts, layout scopes and slots.  Finally we reify behavior using AST nodes and first-class interpreters separate from the low-level language implementation. We describe the implementations of all three first-class building blocks. For each of the blocks we provide a series of examples illustrating how they enable typical extensions to the runtime, and we provide benchmarks validating the practicality of the approaches.},
	Author = {Toon Verwaest},
	Keywords = {scg-phd snf-none scg12 jb12 pinocchio},
	Month = mar,
	School = {University of Bern},
	Title = {Bridging the Gap between Machine and Language using First-Class Building Blocks},
	Type = {{PhD} thesis},
	Url = {http://scg.unibe.ch/archive/phd/verwaest-phd.pdf},
	Year = {2012},
	Bdsk-Url-1 = {http://scg.unibe.ch/archive/phd/verwaest-phd.pdf}}

@article{Vess85,
	Author = {Vessey, Iris},
	Journal = {International Journal of Man-Machine Studies},
	Number = {5},
	Pages = {459-494},
	Title = {Expertise in Debugging Computer Programs: A Process Analysis.},
	Volume = {23},
	Year = {1985}}

@article{Vess86a,
 author = {Vessey, I},
 title = {Expertise in Debugging Computer Programs: An Analysis of the Content of Verbal Protocols},
 journal = {IEEE Trans. Syst. Man Cybern.},
 issue_date = {Sept./Oct. 1986},
 volume = {16},
 number = {5},
 month = sep,
 year = {1986},
 issn = {0018-9472},
 pages = {621--637},
 numpages = {17},
 url = {http://dx.doi.org/10.1109/TSMC.1986.289308},
 doi = {10.1109/TSMC.1986.289308},
 acmid = {10469},
 publisher = {IEEE Press},
 address = {Piscataway, NJ, USA}
}

@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}}

@misc{Vict05a,
	Author = {Victor, Bret},
	Keywords = {dynamic pictures},
	Title = {{Magic Ink}: Information software and the graphical interface},
	Url = {http://worrydream.com/MagicInk/},
	Year = {2005},
	Bdsk-Url-1 = {http://worrydream.com/MagicInk/}}

@inproceedings{Vida11a,
	Author = {Santiago Vidal and Claudia Marcos and Alexandre Bergel and Gabriela Ar\'evalo},
	Booktitle = {Proceedings of the 3rd International Workshop on Smalltalk Technologies (IWST'11)},
	Publisher = {ACM},
	Title = {Memoization Aspects: a Case Study},
	Year = {2011}}

@article{Vida16a,
 author = {Vidal, Santiago A. and Bergel, Alexandre and Marcos, Claudia and D\'{\i}az-Pace, J. Andr{\'e}s},
 title = {Understanding and Addressing Exhibitionism in Java Empirical Research About Method Accessibility},
 journal = {Empirical Softw. Engg.},
 issue_date = {April     2016},
 volume = {21},
 number = {2},
 month = apr,
 year = {2016},
 issn = {1382-3256},
 pages = {483--516},
 numpages = {34},
 url = {http://dx.doi.org/10.1007/s10664-015-9365-9},
 doi = {10.1007/s10664-015-9365-9},
 acmid = {2911427},
 publisher = {Kluwer Academic Publishers},
 address = {Hingham, MA, USA},
 keywords = {Information hiding, Method accessibility}
}

@techreport{Vieg98a,
	Address = {Charlottesville, VA, USA},
	Annote = {Without delegation, object composition requires the tedious writing of "forwarder methdods". For instance, if a class Tank uses an Armor, the Tank class might forward message with "public protect(){ armor. protect() }". With automated delegation, these forwarder are not needed, an a class can be specialized to forward missing method to one of its part (the armor).},
	Author = {Viega, John and Tutt, Bill and Behrends, Reimer},
	Date-Added = {2013-03-11 13:02:22 +0000},
	Date-Modified = {2013-03-18 13:40:38 +0000},
	Institution = {University of Virginia},
	Keywords = {object-oriented; proxy; reread},
	Publisher = {University of Virginia},
	Rating = {3},
	Title = {Automated Delegation is a Viable Alternative to Multiple Inheritance in Class Based Languages},
	Year = {1998}}

@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}}

@inproceedings{Vija87a,
	Acmid = {981190},
	Address = {Stroudsburg, PA, USA},
	Author = {Vijay-Shanker, K. and Weir, David J. and Joshi, Aravind K.},
	Booktitle = {Proceedings of the 25th Annual Meeting on Association for Computational Linguistics},
	Doi = {10.3115/981175.981190},
	Location = {Stanford, California},
	Numpages = {8},
	Pages = {104--111},
	Publisher = {Association for Computational Linguistics},
	Series = {ACL '87},
	Title = {Characterizing Structural Descriptions Produced by Various Grammatical Formalisms},
	Url = {http://dx.doi.org/10.3115/981175.981190},
	Year = {1987},
	Bdsk-Url-1 = {http://dx.doi.org/10.3115/981175.981190}}

@inproceedings{Vija01a,
 author = {Vijaykrishnan, N. and Kandemir, M. and Kim, S. and Tomar, S. and Sivasubramaniam, A. and Irwin, M. J.},
 title = {Energy Behavior of Java Applications from the Memory Perspective},
 booktitle = {Proceedings of the 2001 Symposium on JavaTM Virtual Machine Research and Technology Symposium - Volume 1},
 series = {JVM'01},
 year = {2001},
 location = {Monterey, California},
 pages = {23--23},
 numpages = {1},
 url = {http://dl.acm.org/citation.cfm?id=1267847.1267870},
 acmid = {1267870},
 publisher = {USENIX Association},
 address = {Berkeley, CA, USA}
}

@inproceedings{Vill16a,
  author={L. {Villarroel} and G. {Bavota} and B. {Russo} and R. {Oliveto} and M. {Di Penta}},
  booktitle={2016 IEEE/ACM 38th International Conference on Software Engineering (ICSE)},
  title={Release Planning of Mobile Apps Based on User Reviews},
  year={2016},
  pages={14-24}}

@inproceedings{Vill17a,
 author = {Villanes, Isabel K. and Ascate, Silvia M. and Gomes, Josias and Dias-Neto, Arilo Claudio},
 title = {What Are Software Engineers Asking About {Android} Testing on {Stack Overflow}?},
 booktitle = {Proceedings of the 31st Brazilian Symposium on Software Engineering},
 series = {SBES'17},
 year = {2017},
 isbn = {978-1-4503-5326-7},
 location = {Fortaleza, CE, Brazil},
 pages = {104--113},
 numpages = {10},
 url = {http://doi.acm.org/10.1145/3131151.3131157},
 doi = {10.1145/3131151.3131157},
 acmid = {3131157},
 publisher = {ACM},
 address = {New York, NY, USA},
 keywords = {Mobile Testing, Model Topics, Stack Overflow, dev-questions}}

@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 skip-doi oobib toBeChecked Pict concurrency scg-none 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}}

@book{Visc10a,
	Author = {Gianluigi Viscusi and Carlo Batini and Massimo Mecella},
	Bibsource = {DBLP, http://dblp.uni-trier.de},
	Ee = {http://dx.doi.org/10.1007/978-3-642-13571-2},
	Isbn = {978-3-642-13570-5},
	Pages = {I-XXI, 1-275},
	Publisher = {Springer},
	Title = {Information Systems for eGovernment - A Quality-of-Service Perspective},
	Year = {2010}}

@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}}

@techreport{Viss97b,
	Author = {Visser, Eelco},
	Category = {non-refereed},
	Institution = {Programming Research Group, University of Amsterdam},
	Month = {jul},
	Number = {P9706},
	Project = {ASF+SDF and SDF},
	Pubcat = {techreport},
	Title = {A Family of Syntax Definition Formalisms},
	Url = {http://www.wins.uva.nl/pub/programming-research/reports/1997/P9706.ps.gz},
	Urlpsgz = {http://www.cs.uu.nl/people/visser/ftp/P9706.ps.gz},
	Year = {1997},
	Bdsk-Url-1 = {http://www.wins.uva.nl/pub/programming-research/reports/1997/P9706.ps.gz}}

@misc{Viss97c,
    author = {Eelco Visser},
    title = {Syntax Definition for Language Prototyping},
    year = {1997}
}

@inproceedings{Viss98a,
    author = {Eelco Visser and Zine-el-abidine Benaissa},
    title = {A Core Language for Rewriting},
    booktitle = {Electronic Notes in Theoretical Computer Science},
    year = {1998},
    pages = {1--4},
    publisher = {Elsevier}
}

@inproceedings{Viss00a,
	Address = {Washington, DC, USA},
	Author = {Visser, Willem and Havelund, Klaus and Brat, Guillaume and Park, SeungJoon},
	Booktitle = {ASE'00: Proceedings of the 15th International Conference on Automated Software Engineering},
	Isbn = {0-7695-0710-7},
	Keywords = {damiencbib},
	Pages = {3--12},
	Publisher = {IEEE Computer Society},
	Title = {Model Checking Programs},
	Year = {2000}}

@inproceedings{Viss02a,
  author =     {Eelco Visser},
  title =     {Meta-Programming with Concrete Object Syntax},
  booktitle =    {Generative Programming and Component Engineering (GPCE'02)},
  pages =    {299--315},
  year =    {2002},
  editor =    {Don Batory and Charles Consel and Walid Taha},
  volume =    {2487},
  series =    {Lecture Notes in Computer Science},
  address =    {Pittsburgh, PA, USA},
  month =    {oct},
  publisher =    {Springer-Verlag}
}

@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}}

@article{Viss12a,
	Author = {Visser, Joost},
	Journal = {ERCIM News},
	Month = jan,
	Title = {Change is the Constant},
	Volume = 88,
	Url = {http://ercim-news.ercim.eu/en88/keynote/change-is-the-constant},
	Year = {2012}}

@misc{VisualWorks,
	Author = {VisualWorks},
	Howpublished = {http://www.cincomsmalltalk.com/, archived at http://www.webcitation.org/5p1rRxls5},
	Key = {VisualWorks},
	Title = {{Cincom} {Smalltalk}},
	Url = {http://www.cincomsmalltalk.com/},
	Year = {2010},
	Bdsk-Url-1 = {http://www.cincomsmalltalk.com/}}

@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}}

@inbook{Vite92a,
author = {Vitek Jan and Horspool R. Nigel and Uhl James S},
chapter = {Compile-time analysis of object-oriented programs},
title = {Compiler Construction: 4th International Conference, CC '92 Paderborn, FRG, October 5--7, 1992 Proceedings},
year = {1992},
publisher = {Springer Berlin Heidelberg},
address = {Berlin, Heidelberg},
pages = {236--250},
isbn ={978-3-540-47335-0},
doi= {10.1007/3-540-55984-1_22},
url= {http://dx.doi.org/10.1007/3-540-55984-1_22}}

@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{Vite11a,
	Acmid = {2038650},
	Address = {New York, NY, USA},
	Author = {Jan Vitek and Tomas Kalibera},
	Booktitle = {Proceedings of the ninth ACM international conference on Embedded software},
	Doi = {10.1145/2038642.2038650},
	Isbn = {978-1-4503-0714-7},
	Keywords = {repeatability, reproducibility, scientific method},
	Location = {Taipei, Taiwan},
	Numpages = {6},
	Pages = {33--38},
	Publisher = {ACM},
	Series = {EMSOFT '11},
	Title = {Repeatability, reproducibility, and rigor in systems research},
	Url = {http://www.cs.purdue.edu/homes/jv/pubs/emsoft11.pdf},
	Year = {2011},
	Bdsk-Url-1 = {http://www.cs.purdue.edu/homes/jv/pubs/emsoft11.pdf},
	Bdsk-Url-2 = {http://dx.doi.org/10.1145/2038642.2038650}}

@article{Vito14a,
 author = {Vitousek, Michael M. and Kent, Andrew M. and Siek, Jeremy G. and Baker, Jim},
 title = {Design and Evaluation of Gradual Typing for {P}ython},
 journal = {SIGPLAN Not.},
 issue_date = {February 2015},
 volume = {50},
 number = {2},
 month = oct,
 year = {2014},
 issn = {0362-1340},
 pages = {45--56},
 numpages = {12},
 url = {http://doi.acm.org/10.1145/2775052.2661101},
 doi = {10.1145/2775052.2661101},
 acmid = {2661101},
 publisher = {ACM},
 address = {New York, NY, USA},
 keywords = {case study, gradual typing, proxy, python}
}

@inproceedings{Vito16a,
  title={From Optional to Gradual Typing via Transient Checks},
  author={Vitousek, Michael M and Siek, Jeremy G},
  year = {2016},
  booktitle = {5th Script To Program Evolution Workshop}
}

@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}}

@article{Voel10a,
	Abstract = {This article showcases and explains the use of domain-specific languages to express
				software architectures. Specifically, I report about project experiences where we created
				system-specific textual DSLs that were used to describe the system in a tool-processable
				way, to reason about the system, and to generate the majority of technical implementation code.
				The article starts off with a quick look at software architecture today and introduces the
				concept of architecture DSLs. Then follows an extensive example that shows an example language
				and how it evolved together with the architecture it describes. The next major section
				looks at the benefits of the approach, discusses why we used textual languages as opposed
				to graphical ones, and discusses issues around tooling, model validation, code generation,
				and the importance of standard modeling languages. The article concludes by taking a brief
				look at some of the challenges of the approach.},
	Author = {V\"{o}lter, M},
	Doi = {10.1109/MS.2010.38},
	Issn = {0740-7459},
	Journal = {Software, IEEE},
	Month = mar,
	Number = {2},
	Pages = {56 -64},
	Title = {Architecture As Language},
	Volume = {27},
	Year = {2010},
	Bdsk-Url-1 = {http://dx.doi.org/10.1109/MS.2010.38}}

	@inproceedings{Voel12a,
	 author = {Voelter, Markus and Ratiu, Daniel and Schaetz, Bernhard and Kolb, Bernd},
	 title = {Mbeddr: An Extensible {C}-based Programming Language and {IDE} for Embedded Systems},
	 booktitle = {Proceedings of the 3rd Annual Conference on Systems, Programming, and Applications: Software for Humanity},
	 series = {SPLASH '12},
	 year = {2012},
	 isbn = {978-1-4503-1563-0},
	 location = {Tucson, Arizona, USA},
	 pages = {121--140},
	 numpages = {20},
	 url = {http://doi.acm.org/10.1145/2384716.2384767},
	 doi = {10.1145/2384716.2384767},
	 acmid = {2384767},
	 publisher = {ACM},
	 address = {New York, NY, USA},
	 keywords = {development environments, dsls, embedded software, formal methods, language extension}
	}

@inproceedings{Voel12b,
 author = {Voelter, Markus and Pech, Vaclav},
 title = {Language Modularity with the MPS Language Workbench},
 booktitle = {Proceedings of the 34th International Conference on Software Engineering},
 series = {ICSE '12},
 year = {2012},
 isbn = {978-1-4673-1067-3},
 location = {Zurich, Switzerland},
 pages = {1449--1450},
 numpages = {2},
 url = {http://dl.acm.org/citation.cfm?id=2337223.2337447},
 acmid = {2337447},
 publisher = {IEEE Press},
 address = {Piscataway, NJ, USA}
}

@phdthesis{Voel14a,
	Author = {Markus Voelter},
	School = {Delft University of Technology},
	Title = {Generic tools, specific languages},
	Type = {{Ph.D}. Thesis},
	Year = {2014}}

@article{Voel17a,
author={Voelter, Markus
and Kolb, Bernd
and Szab{\'o}, Tam{\'a}s
and Ratiu, Daniel
and van Deursen, Arie},
title={Lessons learned from developing mbeddr: a case study in language engineering with {MPS}},
journal={Software {\&} Systems Modeling},
year={2017},
month=jan,
day={09},
abstract={Language workbenches are touted as a promising technology to engineer languages for use in a wide range of domains, from programming to science to business. However, not many real-world case studies exist that evaluate the suitability of language workbench technology for this task. This paper contains such a case study. In particular, we evaluate the development of mbeddr, a collection of integrated languages and language extensions built with the Jetbrains MPS language workbench. mbeddr consists of 81 languages, with their IDE support, 34 of them C extensions. The mbeddr languages use a wide variety of notations---textual, tabular, symbolic and graphical---and the C extensions are modular; new extensions can be added without changing the existing implementation of C. mbeddr's development has spanned 10 person-years so far, and the tool is used in practice and continues to be developed. This makes mbeddr a meaningful case study of non-trivial size and complexity. The evaluation is centered around five research questions: language modularity, notational freedom and projectional editing, mechanisms for managing complexity, performance and scalability issues and the consequences for the development process. We draw generally positive conclusions; language engineering with MPS is ready for real-world use. However, we also identify a number of areas for improvement in the state of the art in language engineering in general, and in MPS in particular.},
issn={1619-1374},
doi={10.1007/s10270-016-0575-4},
url={http://voelter.de/data/pub/voelterEtAl2017-buildingMbeddr.pdf}
}

@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{Vogt14a,
	Abstract = {We show a clone detector that can scale to all source code ever written, in all versions. This is achieved
  by completely avoiding random reads from a central table, in other words all mappers and all reducers use, as input,
  only a contiguous slice of their input tables. Furthermore, we show the results of using our clone detector on 15,180
  projects, all downloadable Java projects listed on the public meta repository "ohloh". On just three machines, we can
  finish clone detection across projects and versions in less than 20 hours. Besides offering a scaleable clone detector,
  our libraries allow anyone to download massive amounts of source code, store it space-efficiently and run cluster-style
  analysis on it, on commodity hardware. We intuit a reasonable configuration for the work load we have, and then
  systematically test the individual settings for performance, to tweak the overall configuration.},
	Author = {Simon Vogt},
	Keywords = {scg-msc snf-asa1 scg14 jb14},
	Month = feb,
	School = {University of Bern},
	Title = {Clone detection that scales},
	Type = {Masters thesis},
	Url = {http://scg.unibe.ch/archive/masters/Vogt14a.pdf},
	Year = {2014},
	Bdsk-Url-1 = {http://scg.unibe.ch/archive/masters/Vogt14a.pdf}}

@inproceedings{Voig09a,
	Author = {Voigt ,J. and Irwin ,W. and Churcher ,N.},
	Booktitle = {6th International Conference on Information Technology and Applications},
	Date-Added = {2012-07-03 13:58:55 +0000},
	Date-Modified = {2012-07-03 14:26:43 +0000},
	Keywords = {aliasing},
	Title = {Intuitiveness of Class and Object Encapsulation},
	Year = {2009}}

@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{Voin09a,
	title={Visual querying and analysis of large software repositories},
	author={Voinea, Lucian and Telea, Alexandru},
	journal={Empirical Software Engineering},
	volume={14},
	number={3},
	pages={316--340},
	year={2009},
	publisher={Springer}}

@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}}

@article{Volt08a,
	Author = {Markus Voelter},
	Journal = {InfoQ},
	Month = feb,
	Title = {Architecture as Language: A story},
	Year = {2008}}

@inproceedings{Von98a,
  title={Program understanding behavior during adaptation of large scale software},
  author={Von Mayrhauser, Anneliese and Vans, A Marie},
  booktitle={Program Comprehension, 1998. IWPC'98. Proceedings., 6th International Workshop on},
  pages={164--172},
  year={1998},
  Keywords = {dev-questions},
  organization={IEEE}
}

@inproceedings{Vonk16a,
 author = {von Kistowski, J\'{o}akim and Block, Hansfried and Beckett, John and Spradling, Cloyce and Lange, Klaus-Dieter and Kounev, Samuel},
 title = {Variations in CPU Power Consumption},
 booktitle = {Proceedings of the 7th ACM/SPEC on International Conference on Performance Engineering},
 series = {ICPE '16},
 year = {2016},
 isbn = {978-1-4503-4080-9},
 location = {Delft, The Netherlands},
 pages = {147--158},
 numpages = {12},
 url = {http://doi.acm.org/10.1145/2851553.2851567},
 doi = {10.1145/2851553.2851567},
 acmid = {2851567},
 publisher = {ACM},
 address = {New York, NY, USA},
 keywords = {energy efficiency, load level, metrics, sert, spec, utilization, variation, workloads}
}

@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}}

@inproceedings{Vran12b,
	Abstract = {After decades of development in programming languages and programming
		environments, Smalltalk is still one of few environments that provide advanced
		features and is still widely used in the industry. However, as Java became prevalent,
		the ability to call Java code from Smalltalk and vice versa becomes important.
		Traditional approaches to integrate the Java and Smalltalk languages are through
		low-level communication between separate Java and Smalltalk virtual machines.
		We are not aware of any attempt to execute and integrate the Java language
		directly in the Smalltalk environment. A direct integration allows for very tight and
		almost seamless integration of the languages and their objects within a single
		environment. Yet integration and language interoperability impose challenging
		issues related to method naming conventions, method overloading, exception handling
		and thread-locking mechanisms.  In this paper we describe ways to overcome these
		challenges and to integrate Java into the Smalltalk environment.  Using techniques
		described in this paper, the programmer can call Java code from Smalltalk using
		standard Smalltalk idioms while the semantics of each language remains preserved.
		We present STX:LIBJAVA - an implementation of Java virtual machine within
		Smalltalk/X - as a validation of our approach},
	Author = {Jan Vrany and Jan Kur\v{s} and Marcel Hlopko and Claus Gittinger},
	Booktitle = {Proceedings of the 4rd International Workshop on Smalltalk Technologies (IWST'12)},
	Isbn = {978-1-4503-1897-6},
	Keywords = {scg-pub snf-none scg12 jb13, Language Interoperability, Smalltalk, Java, kursjan},
	Medium = {1},
	Peerreview = {yes},
	Publisher = {ACM},
	Title = {On the Integration of Smalltalk and Java},
	Url = {http://scg.unibe.ch/archive/papers/Vran12a.pdf},
	doi = {10.1016/j.scico.2013.10.011},
	Year = {2012},
	Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Vran12a.pdf}}

@incollection{Vrany12a,
	Abstract = {Programming languages are still evolving, and programming languages and language features are being designed and implemented every year. Since it is not a trivial task to provide a runtime system for a new language, existing runtime systems such as the Java Virtual Machine or the Common Language Runtime are used to host the new language. However, most of the high-performance runtime systems were designed for a specific language with a specific semantics. Therefore, if the new language semantics differs from the semantics hard-coded in a runtime system, it has to be emulated on top of features supported by the runtime. The emulation causes performance overhead. To overcome the limitations of an emulation, a runtime system may provide a meta-object protocol to alter the runtime semantics. The protocol should fulfill opposing goals: it should be flexible, easy to use, fast and easy to implement at the same time. We propose a simple meta-object protocol for customization of a method lookup in Smalltalk. A programmer may define his own custom method lookup routine in Smalltalk and let the runtime system to call it when needed. Therefore there is no need to modify the runtime system itself. Our solution provides reasonable performance thanks to low-level support in a runtime system, nevertheless the changes to the runtime system are small and local. At the same time, it provides the flexibility to implement a wide range of features present in modern programming languages. The presented approach has been implemented and validated on a Smalltalk virtual machine.},
	Affiliation = {Software Engineering Group, Czech Technical University in Prague, Thakurova 9, Prague, Czech Republic},
	Author = {Vrany, Jan and Kur\v{s}, Jan and Gittinger, Claus},
	Booktitle = {Objects, Models, Components, Patterns},
	Editor = {Furia, Carlo and Nanz, Sebastian},
	Isbn = {978-3-642-30560-3},
	Keywords = {Computer Science, kursjan},
	Note = {10.1007/978-3-642-30561-0_10},
	Pages = {124-139},
	Publisher = {Springer Berlin / Heidelberg},
	Series = {Lecture Notes in Computer Science},
	Title = {Efficient Method Lookup Customization for Smalltalk},
	Url = {http://dx.doi.org/10.1007/978-3-642-30561-0_10},
	Volume = {7304},
	Year = {2012},
	Bdsk-Url-1 = {http://dx.doi.org/10.1007/978-3-642-30561-0_10}}

@inproceedings{Vu15a,
  title={Mining user opinions in mobile app reviews: A keyword-based approach (t)},
  author={Vu, Phong Minh and Nguyen, Tam The and Pham, Hung Viet and Nguyen, Tung Thanh},
  booktitle={2015 30th IEEE/ACM International Conference on Automated Software Engineering (ASE)},
  pages={749--759},
  year={2015},
  organization={IEEE}
}

@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,
	Author = {World Wide Web Consortium},
	Keywords = {damiencbib architecture},
	Title = {Web Services Architecture},
	Url = {http://www.w3.org/TR/ws-arch},
	Year = {2004},
	Bdsk-Url-1 = {http://www.w3.org/TR/ws-arch}}

@misc{WSDL,
	Author = {{W3C} Note},
	Key = {WSDL},
	Keywords = {damiencbib},
	Title = {Web Services Description Language ({WSDL}) 1.1},
	Url = {http://www.w3.org/TR/wsdl},
	Year = {2002},
	Bdsk-Url-1 = {http://www.w3.org/TR/wsdl}}

@article{Wach71a,
  title={Humanities and Computers: A Personal View},
  author={Wachal, Robert},
  journal={The North American Review},
  volume={256},
  number={1},
  pages={30--33},
  year={1971},
  publisher={JSTOR},
  keywords = {digitalization},
  url = {http://www.jstor.org/stable/pdf/25117163.pdf}
}

@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}}

@techreport{Wael17a,
	Title = {{AppCheck} --- Monitoring of a {JavaEE} Server Application},
	Author = {Andreas W\"alchli},
	Abstract = {With ever growing numbers and complexity of server applications
		efficient monitoring is key to detect performance issues in production and
		prevent them during development. In this work we show how such a monitoring
		solution could be built for JavaEE to meet specific requirements. We describe a
		software project for the Informatik Service Center ISC-EJPD1 which is interested in
		integrating performance monitoring into an existing monitoring framework. Our
		software provides a simple to use and highly customisable solution for basic
		performance monitoring in JavaEE applications.},
	Institution = {University of Bern},
	Keywords = {scg-bp snf-none scg17 jb18},
	Type = {Bachelor's thesis},
	Url = {http://scg.unibe.ch/archive/projects/Wael17a.pdf},
	Month = sep,
	Year = {2017}
}

@mastersthesis{Wael20a,
	Title = {A Sampling Profiler for a {JIT} Compiler},
	Author = {Andreas W\"alchli},
	Abstract = {For efficient execution of dynamically typed languages, many
		implementations use a two-tier architecture. The first tier is used for
		low-latency startup and collects dynamic profiles, e.g., the types of
		all program variables. The second tier provides high throughput through
		the use of an optimizing compiler. This compiler specializes the code
		for the type information recorded in the first tier. If a program
		suddenly changes its behavior and presents the compiled code with types
		that have not been seen before and that are incompatible with the
		compiled version, that specialization becomes invalid. It is
		deoptimized and control is transferred back to the first tier where new
		profiles are gathered and specialization can start anew. But if the
		program behavior becomes more specific, for instance, if a variable
		suddenly becomes monomorphic (i.e., only takes on one single type) this
		will not trigger a deoptimization as it is still compatible with the
		compiled version. If the program were recompiled with that monomorphic
		variable in mind, performance could be improved. Once the program is
		running in an optimized form there are no means to notice such
		optimization opportunities. We propose the use of a sampling profiler
		to monitor native code without instrumentation. With the absence of
		instrumentation we incur no overhead when the profiler is inactive and
		can control the active profiler overhead by limiting the sampling rate.
		It also allows sampling at random points in the program and not just at
		predefined locations. Our implementation is R-hacek in the context of
		the optimizing R JIT-compiler for the R language. Based on the
		collected R-hacek profiles we are able to detect when the native code
		produced by R is specialized for stale type information and trigger
		recompilation for more specific type information. We show that sampling
		with our profiler adds an overhead of less than 3\% in most cases and up
		to 9% in some cases when active. We also show that it reliably detects
		stale type information within milliseconds.},
	Keywords = {scg-msc snf-none scg20 jb21},
	School = {University of Bern},
	Type = {Masters thesis},
	Url = {http://scg.unibe.ch/archive/masters/Wael20a.pdf},
	Month = sep,
	Year = {2020}
}

@inproceedings{Waig08a,
	Address = {Toulouse, France},
	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},
	Doi = {10.1007/978-3-540-87875-9_27},
	Pages = {371--385},
	Publisher = {Springer Berlin / Heidelberg},
	Series = {Lecture Notes in Computer Science},
	Title = {A Model-Based Framework for Statically and Dynamically Checking Component Interactions},
	Url = {http://hal.inria.fr/inria-00311584/en/},
	Volume = {5301},
	Year = {2008},
	Bdsk-Url-1 = {http://hal.inria.fr/inria-00311584/en/},
	Bdsk-Url-2 = {http://dx.doi.org/10.1007/978-3-540-87875-9_27}}

@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,
	Address = {New York, NY, USA},
	Author = {Walker, David and Zdancewic, Steve and Ligatti, Jay},
	Booktitle = {ICFP '03: Proceedings of the eighth ACM SIGPLAN international conference on Functional programming},
	Doi = {10.1145/944705.944718},
	Isbn = {1-58113-756-7},
	Keywords = {sos-da},
	Location = {Uppsala, Sweden},
	Pages = {127--139},
	Publisher = {ACM},
	Title = {A theory of aspects},
	Year = {2003},
	Bdsk-Url-1 = {http://dx.doi.org/10.1145/944705.944718}}

@inproceedings{Walk06a,
	Address = {New York, NY, USA},
	Author = {Walker, Robert J. and Holmes, Reid and Hedgeland, Ian and Kapur, Puneet and Smith, Andrew},
	Booktitle = {Proceedings of the 2006 international workshop on Mining software repositories},
	Doi = {10.1145/1137983.1138008},
	Isbn = {1-59593-397-2},
	Keywords = {decision support, probabilistic impact analysis, revision history, technical risk estimation},
	Location = {Shanghai, China},
	Numpages = {7},
	Pages = {98--104},
	Publisher = {ACM},
	Series = {MSR '06},
	Title = {A lightweight approach to technical risk estimation via probabilistic impact analysis},
	Url = {http://doi.acm.org/10.1145/1137983.1138008},
	Year = {2006},
	Bdsk-Url-1 = {http://doi.acm.org/10.1145/1137983.1138008},
	Bdsk-Url-2 = {http://dx.doi.org/10.1145/1137983.1138008}}

@techreport{Walk16a,
	Title = {Recognising structural patterns in code --- A k-means clustering approach},
	Author = {C\'{e}dric Walker},
	Abstract = {For processing data, it is necessary for the
		computer to parse it into a readable format. The
		building of a parser requires a model of the grammar
		of the input. For many new programming language
		dialects and log files, these models are sometimes
		not available. For creating a model, the structure
		and grammar information must be inferred from the
		source code, which is a time consuming process. The
		goal of this project is to automatically provide an
		overview of different structures of the source code
		language. We introduce in this thesis a clustering
		approach with k-means. Through different
		representations -- numerical vectors inferred from
		the textual information of segments of the input --
		structural information should be exploited and
		assigned to different clusters according to their
		similarity. For splitting the input into
		representation vectors, the smallest instance that
		can hold structure is found. These are then
		clustered using the k-means algorithm. This should
		help developers get a better overview of the data
		and in a perfect case, make them able to create
		parser rules for each cluster based on its nearest
		assigned statements. The used approach has some
		promising results, assigning different patterns
		into different clusters. For measuring the
		performance of our representation methods, we
		calculate v-measure scores ranging from 0 to 1, with
		1 being a complete match. Out of 24 possible
		combination of representation, four representations
		achieved good results, having a v-measure score
		equal or higher than 0.66 for Java and another 4
		with satisfying results, having equal or better
		scores than 0.4. The representation methods which do
		well on Java, also do a good job, clustering C\#, XML
		and ABACUS log files, but perform poorly on
		Brainfuck, with v-measure scores around 0. Having
		the concept of clustering languages, the resulting
		clusters were used to calculate a precision value
		for classifying the degree of relation between two
		languages. The precision value is calculated
		measuring the overlap of the clusters of a first
		language with the vector representations of a second
		language. Unfortunately, our approach did not
		perform well, as it classified every language with
		the exception of XML, as very closely related.},
	Institution = {University of Bern},
	Keywords = {scg-bp snf-asa2 scg16 jb16},
	Type = {Bachelor's thesis},
	Url = {http://scg.unibe.ch/archive/projects/Walk16a.pdf},
	Month = aug,
	Year = {2016}
}

@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 scg-none snf-none 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{Wall09a,
  title={Rethinking LDA: Why priors matter},
  author={Wallach, Hanna M and Mimno, David M and McCallum, Andrew},
  booktitle={Advances in neural information processing systems},
  pages={1973--1981},
  year={2009}
}

@book{Wall12a,
	Author = {Larry Wall and Tom Christiansen and Jon Orwant},
	Edition = {4th},
	Keywords = {perl scglib},
	Publisher = {O'Reilly \& Associates, Inc.},
	Title = {Programming Perl},
	Year = {2012}}

@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,
	Author = {Lisa Walton},
	Title = {Domain-Specific Languages},
	Url = {http://www.cse.ogi.edu/~walton/dsdls.html},
	Year = {1996},
	Bdsk-Url-1 = {http://www.cse.ogi.edu/~walton/dsdls.html}}

@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 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{Wan18a,
author = {Wan, Yao and Zhao, Zhou and Yang, Min and Xu, Guandong and Ying, Haochao and Wu, Jian and Yu, Philip S.},
title = {Improving Automatic Source Code Summarization via Deep Reinforcement Learning},
year = {2018},
isbn = {9781450359375},
publisher = {Association for Computing Machinery},
address = {New York, NY, USA},
url = {https://doi.org/10.1145/3238147.3238206},
doi = {10.1145/3238147.3238206},
abstract = {Code summarization provides a high level natural language description of the function performed by code, as it can benefit the software maintenance, code categorization and retrieval. To the best of our knowledge, most state-of-the-art approaches follow an encoder-decoder framework which encodes the code into a hidden space and then decode it into natural language space, suffering from two major drawbacks: a) Their encoders only consider the sequential content of code, ignoring the tree structure which is also critical for the task of code summarization; b) Their decoders are typically trained to predict the next word by maximizing the likelihood of next ground-truth word with previous ground-truth word given. However, it is expected to generate the entire sequence from scratch at test time. This discrepancy can cause an exposure bias issue, making the learnt decoder suboptimal. In this paper, we incorporate an abstract syntax tree structure as well as sequential content of code snippets into a deep reinforcement learning framework (i.e., actor-critic network). The actor network provides the confidence of predicting the next word according to current state. On the other hand, the critic network evaluates the reward value of all possible extensions of the current state and can provide global guidance for explorations. We employ an advantage reward composed of BLEU metric to train both networks. Comprehensive experiments on a real-world dataset show the effectiveness of our proposed model when compared with some state-of-the-art methods.},
booktitle = {Proceedings of the 33rd ACM/IEEE International Conference on Automated Software Engineering},
pages = {397--407},
numpages = {11},
keywords = {comment generation, deep learning, reinforcement learning, Code summarization},
location = {Montpellier, France},
series = {ASE 2018}
}

@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{Wand90a,
	author={Yair Wand and Ron Weber},
	journal={Software Engineering, IEEE Transactions on},
	title={An ontological model of an information system},
	year={1990},
	volume={16},
	number={11},
	pages={1282-1292},
	doi={10.1109/32.60316},
	pdf = {http://www-public.int-evry.fr/~gibson/Teaching/CSC7302/ReadingMaterial/WandWeber90.pdf},
	ISSN={0098-5589},
	month=nov
}

@article{Wand04a,
	Address = {New York, NY, USA},
	Author = {Wand, Mitchell and Kiczales, Gregor and Dutchyn, Christopher},
	Doi = {10.1145/1018203.1018208},
	Issn = {0164-0925},
	Journal = {ACM Trans. Program. Lang. Syst.},
	Keywords = {sos-da},
	Number = {5},
	Pages = {890--910},
	Publisher = {ACM},
	Title = {A semantics for advice and dynamic join points in aspect-oriented programming},
	Volume = {26},
	Year = {2004},
	Bdsk-Url-1 = {http://dx.doi.org/10.1145/1018203.1018208}}

@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{Wang00a,
 author = {Wang Baldonado, Michelle Q. and Woodruff, Allison and Kuchinsky, Allan},
 title = {Guidelines for Using Multiple Views in Information Visualization},
 booktitle = {Proceedings of the Working Conference on Advanced Visual Interfaces},
 series = {AVI '00},
 year = {2000},
 isbn = {1-58113-252-2},
 location = {Palermo, Italy},
 pages = {110--119},
 numpages = {10},
 url = {http://doi.acm.org/10.1145/345513.345271},
 doi = {10.1145/345513.345271},
 acmid = {345271},
 publisher = {ACM},
 address = {New York, NY, USA},
 keywords = {design guidelines, information visualization, multiple views, usability heuristics, user interfaces}
}

@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}}

@inproceedings{Wang08a,
  title={An approach to detecting duplicate bug reports using natural language and execution information},
  author={Wang, Xiaoyin and Zhang, Lu and Xie, Tao and Anvik, John and Sun, Jiasu},
  booktitle={Software Engineering, 2008. ICSE'08. ACM/IEEE 30th International Conference on},
  pages={461--470},
  year={2008},
  organization={IEEE}
}

@article{Wang08b,
  title={Complying with Coding Standards or Retaining Programming Style: A Quality Outlook at Source Code Level.},
  author={Wang, Yanqing and Zheng, Bo and Huang, Hujie and others},
  journal={JSEA},
  volume={1},
  number={1},
  pages={88--91},
  year={2008}
}

@article{Wang11a,
	Acmid = {2034825},
	Address = {New York, NY, USA},
	Author = {Wang, Meng and Gibbons, Jeremy and Wu, Nicolas},
	Date-Added = {2011-12-06 11:28:54 +0100},
	Date-Modified = {2011-12-06 11:54:47 +0100},
	Doi = {10.1145/2034574.2034825},
	Issn = {0362-1340},
	Issue = {9},
	Issue_Date = {September 2011},
	Journal = {SIGPLAN Not.},
	Keywords = {transformation; view-update; bx},
	Month = {sep},
	Numpages = {12},
	Pages = {392--403},
	Publisher = {ACM},
	Title = {Incremental updates for efficient bidirectional transformations},
	Url = {10.1145/2034574.2034825},
	Volume = {46},
	Year = {2011},
	Bdsk-Url-1 = {10.1145/2034574.2034825},
	Bdsk-Url-2 = {http://dx.doi.org/10.1145/2034574.2034825}}

@inproceedings{Wang12a,
  title={Software defect prediction scheme based on feature selection},
  author={Wang, Pei and Jin, Cong and Jin, Shu-Wei},
  booktitle={Information Science and Engineering (ISISE), 2012 International Symposium on},
  pages={477--480},
  year={2012},
  organization={IEEE}
}

@article{Wang13a,
  title={Using class imbalance learning for software defect prediction},
  author={Wang, Shuo and Yao, Xin},
  journal={IEEE Transactions on Reliability},
  volume={62},
  number={2},
  pages={434--443},
  year={2013},
  publisher={IEEE}
}

@inproceedings{Wang13b,
 author = {Wang, Shaowei and Lo, David and Jiang, Lingxiao},
 title = {An Empirical Study on Developer Interactions in {Stack Overflow}},
 booktitle = {Proceedings of the 28th Annual ACM Symposium on Applied Computing},
 series = {SAC '13},
 year = {2013},
 isbn = {978-1-4503-1656-9},
 location = {Coimbra, Portugal},
 pages = {1019--1024},
 numpages = {6},
 url = {http://doi.acm.org/10.1145/2480362.2480557},
 doi = {10.1145/2480362.2480557},
 acmid = {2480557},
 publisher = {ACM},
 address = {New York, NY, USA},
 keywords = {developer forum mining, latent dirichlet allocation (LDA), dev-questions}}

@inproceedings{Wang13c,
  title={Wisdom in the Social Crowd: an Analysis of Quora},
  author={Wang, Gang and Gill, Konark and Mohanlal, Manish and Zheng, Haitao and Zhao, Ben Y},
  booktitle={Proceedings of the 22nd international conference on World Wide Web},
  pages={1341--1352},
  year={2013}}

@inproceedings{Wang13d,
  author={W. {Wang} and M. W. {Godfrey}},
  booktitle={2013 10th Working Conference on Mining Software Repositories (MSR)},
 title={Detecting API usage obstacles: A study of {iOS} and {Android} developer questions},
  year={2013},
  volume={},
  number={},
  pages={61-64},
  abstract={Software frameworks provide sets of generic functionalities that can be later customized for a specific task. When developers invoke API methods in a framework, they often encounter obstacles in finding the correct usage of the API, let alone to employ best practices. Previous research addresses this line of questions by mining API usage patterns to induce API usage templates, by conducting and compiling interviews of developers, and by inferring correlations among APIs. In this paper, we analyze API-related posts regarding iOS and Android development from a Q&A Web site, stackoverflow.com. Assuming that API-related posts are primarily about API usage obstacles, we find several iOS and Android API classes that appear to be particularly likely to challenge developers, even after we factor out API usage hotspots, inferred by modelling API usage of open source iOS and Android applications. For each API with usage obstacles, we further apply a topic mining tool to posts that are tagged with the API, and we discover several repetitive scenarios in which API usage obstacles occur. We consider our work as a stepping stone towards understanding API usage challenges based on forum-based input from a multitude of developers, input that is prohibitively expensive to collect through interviews. Our method helps to motivate future research in API usage, and can allow designers of platforms - such as iOS and Android - to better understand the problems developers have in using their platforms, and to make corresponding improvements.},
  keywords={application program interfaces;data mining;Linux;public domain software;software engineering;Web sites;API usage obstacle detection;Android developer questions;software frameworks;generic functionalities;API method invoking;API-related post analysis;Q&A Web site;stackoverflow.com;Android API classes;API usage hotspots;open source iOS;topic mining tool;forum-based input;application programming interfaces;Androids;Humanoid robots;Software;Software engineering;Libraries;Documentation;Data mining},
  doi={10.1109/MSR.2013.6624006},
  ISSN={2160-1860}}

@inproceedings{Wang16a,
  title={Bugram: bug detection with n-gram language models},
  author={Wang, Song and Chollak, Devin and Movshovitz-Attias, Dana and Tan, Lin},
  booktitle={Proceedings of the 31st IEEE/ACM International Conference on Automated Software Engineering},
  pages={708--719},
  year={2016},
  organization={ACM}
}

@inproceedings{Wang17a,
  author    = {Zhiyi Wang and Jungpil Hahn},
  editor    = {Yong Jin Kim and Ritu Agarwal and Jae Kyu Lee},
  title     = {The Effects of Programming Style on Open Source Collaboration},
  booktitle = {Proceedings of the International Conference on Information Systems- Transforming Society with Digital Innovation, {ICIS} 2017, Seoul,South Korea, December 10-13, 2017},
  publisher = {Association for Information Systems},
  year      = {2017},
  url       = {http://aisel.aisnet.org/icis2017/DigitalPlatforms/Presentations/22},
  timestamp = {Tue, 19 Dec 2017 17:38:41 +0100},
  biburl    = {https://dblp.org/rec/conf/icis/WangH17.bib},
  bibsource = {dblp computer science bibliography, https://dblp.org}
}

@article{Wang19a,
  title={Deep Code-Comment Understanding and Assessment},
  author={Wang, Deze and Guo, Yong and Dong, Wei and Wang, Zhiming and Liu, Haoran and Li, Shanshan},
  journal={IEEE Access},
  volume={7},
  pages={174200--174209},
  year={2019},
  publisher={IEEE}
}

@inproceedings{Wang19b,
  author    = {Chong Wang and
               Xin Peng and
               Mingwei Liu and
               Zhenchang Xing and
               Xuefang Bai and
               Bing Xie and
               Tuo Wang},
  editor    = {Marlon Dumas and
               Dietmar Pfahl and
               Sven Apel and
               Alessandra Russo},
  title     = {A learning-based approach for automatic construction of domain glossary
               from source code and documentation},
  booktitle = {Proceedings of the {ACM} Joint Meeting on European Software Engineering
               Conference and Symposium on the Foundations of Software Engineering,
               {ESEC/SIGSOFT} {FSE} 2019, Tallinn, Estonia, August 26-30, 2019},
  pages     = {97--108},
  publisher = {{ACM}},
  year      = {2019},
  url       = {https://doi.org/10.1145/3338906.3338963},
  doi       = {10.1145/3338906.3338963},
  Keywords =  {comment-quality-slr},
  timestamp = {Fri, 09 Aug 2019 14:13:18 +0200},
  biburl    = {https://dblp.org/rec/conf/sigsoft/Wang0LXBXW19.bib},
  bibsource = {dblp computer science bibliography, https://dblp.org}
}

@book{Ware00a,
	Author = {Colin Ware},
	Keywords = {scglib sde-visualization},
	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}}

@book{Warm03a,
	Address = {Boston, MA, USA},
	Author = {Warmer, Jos and Kleppe, Anneke},
	Edition = {2},
	Isbn = {0321179366},
	Publisher = {Addison-Wesley Longman Publishing Co., Inc.},
	Title = {The Object Constraint Language: Getting Your Models Ready for MDA},
	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{Wart08a,
	Acmid = {1328424},
	Address = {New York, NY, USA},
	Author = {Warth, Alessandro and Douglass, James R. and Millstein, Todd},
	Booktitle = {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 = {left recursion, packrat parsing},
	Location = {San Francisco, California, USA},
	Numpages = {8},
	Pages = {103--110},
	Publisher = {ACM},
	Series = {PEPM '08},
	Title = {Packrat parsers can support left recursion},
	Url = {http://doi.acm.org/10.1145/1328408.1328424},
	Year = {2008},
	Bdsk-Url-1 = {http://doi.acm.org/10.1145/1328408.1328424},
	Bdsk-Url-2 = {http://dx.doi.org/10.1145/1328408.1328424}}

@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}}

@article{Wart11a,
	Author = {Alessandro Warth and Yoshiki Ohshima and Ted Kaehler and Alan Kay},
	Journal = {ECOOP},
	Keywords = {programming-language; abstraction; versioning; context-oriented; design-pattern},
	Rating = {4},
	Title = {Worlds: Controlling the Scope of Side EffEffects},
	Year = {2011}}

@inproceedings{Wass90a,
	 author = {Wasserman, Anthony I.},
	 title = {Tool Integration in Software Engineering Environments},
	 booktitle = {Proceedings of the International Workshop on Environments on Software Engineering Environments},
	 year = {1990},
	 isbn = {3-540-53452-0},
	 location = {Chinon, France},
	 pages = {137--149},
	 numpages = {13},
	 url = {http://dl.acm.org/citation.cfm?id=111335.111346},
	 acmid = {111346},
	 publisher = {Springer-Verlag New York, Inc.},
	 address = {New York, NY, USA}
}

@inproceedings{Wasy07a,
 author = {Wasylkowski, Andrzej and Zeller, Andreas and Lindig, Christian},
 title = {Detecting Object Usage Anomalies},
 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},
 series = {ESEC-FSE '07},
 year = {2007},
 isbn = {978-1-59593-811-4},
 location = {Dubrovnik, Croatia},
 pages = {35--44},
 numpages = {10},
 url = {http://doi.acm.org/10.1145/1287624.1287632},
 doi = {10.1145/1287624.1287632},
 acmid = {1287632},
 publisher = {ACM},
 address = {New York, NY, USA},
 keywords = {automated defect detection, automated specification generation, data mining for software engineering, object usage anomalies, pattern recognition, programming rules, static analysis}
}

@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}}

@book{Wegb70a,
    title={Studies in Extensible Programming Languages},
    author={Wegbreit, B.},
    series={ESD-TR-70-297},
    url={https://books.google.ch/books?id=lgK2XwAACAAJ},
    year={1970},
    publisher={Defense Technical Information Center}}

@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{Wegr13a,
        Author={P. Wegrzynowicz},
        Title={Performance antipatterns of one to many association in Hibernate},
        Booktitle={Computer Science and Information Systems (FedCSIS), 2013 Federated Conference on},
        Year={2013},
        Pages={1475-1481}}

@inproceedings{Wehr13a,
	title = {Lightweight software reverse engineering using augmented matrix visualizations},
	author = {Wehrwein, Bradley},
	booktitle = {Software Visualization (VISSOFT), 2013 First IEEE Working Conference on},
	pages = {1--4},
	year = {2013},
	organization = {IEEE}
}

@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},
	Institution = {ETH Z\"urich},
	Title = {Is Coverage a Good Measure of Testing Effectiveness?},
	Url = {ftp://ftp.inf.ethz.ch/pub/publications/tech-reports/6xx/674.pdf},
	Year = {2010},
	Bdsk-Url-1 = {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}}

@inproceedings{Weim05a,
	Author = {Westley Weimer and George C. Necula},
	Booktitle = {In TACAS},
	Pages = {461--476},
	Title = {Mining Temporal Specifications for Error Detection},
	Year = {2005}}

@inproceedings{Weim09a,
 author = {Weimer, Westley and Nguyen, ThanhVu and Le Goues, Claire and Forrest, Stephanie},
 title = {Automatically Finding Patches Using Genetic Programming},
 booktitle = {Proceedings of the 31st International Conference on Software Engineering},
 series = {ICSE '09},
 year = {2009},
 isbn = {978-1-4244-3453-4},
 pages = {364--374},
 numpages = {11},
 url = {http://dx.doi.org/10.1109/ICSE.2009.5070536},
 doi = {10.1109/ICSE.2009.5070536},
 acmid = {1555051},
 publisher = {IEEE Computer Society},
 address = {Washington, DC, USA}
}

@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}}

@inproceedings{Wein14a,
	author={Weinreich, R. and Buchgeher, G.},
	booktitle={Software Architecture (WICSA), 2014 IEEE/IFIP Conference on},
	title={Automatic Reference Architecture Conformance Checking for SOA-Based Software Systems},
	year={2014},
	month=apr,
	pages={95-104},
	doi={10.1109/WICSA.2014.22}}

@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},
	Keywords = {mobile computing wireless network ubiquitous computing damiencbib},
	Month = jan,
	Number = 3,
	Pages = {66--75},
	Title = {The Computer for the 21st Century},
	Volume = {265},
	Year = {1991}}

@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{Wen19a,
  title={A Large-Scale Empirical Study on Code-Comment Inconsistencies},
  author={Wen, Fengcai and Nagy, Csaba and Bavota, Gabriele and Lanza, Michele},
  booktitle={Proceedings of the 27th International Conference on Program Comprehension},
  pages={53--64},
  keywords =  {comment-quality-slr},
  year={2019},
  organization={IEEE Press}
}

@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}}

@techreport{Weng12a,
	Abstract = {The goal of the Bachelor project Modeling Infiltration was to create a dynamic graphic
	representation of the process of water infiltrating any kind of soil over time (the process in short called
	infiltration throughout the documentation), the implementation of which is realized in JavaScript. The purpose
	of this document is to introduce the project, lead through some extracts of the code and explain its purpose.
	It provides the reader with the ability to read and understand the code that is the basis for the
	application.},
	Author = {Ramon Wenger},
	Institution = {University of Bern},
	Keywords = {snf-none scg-bp scg12 jb12},
	Month = jul,
	Title = {Modeling Infiltration},
	Type = {Bachelor's thesis},
	Url = {http://scg.unibe.ch/archive/projects/Weng12a.pdf},
	Year = {2012},
	Bdsk-Url-1 = {http://scg.unibe.ch/archive/projects/Weng12a.pdf}}

@techreport{Weng12b,
	Abstract = {The purpose of this document is to provide anyone with the goal of writing his own JavaScript code
	with some hopefully helpful general tips, caveats and indications of common error sources in relation to the
	language that is JavaScript. This guide claims in no way to be exhaustive or to contain everything there is to
	know about JavaScript. It's built on the experience of the author, collected while programming his own
	application. This document should also not be mistaken as a tutorial to JavaScript, as there are a lot of
	basic programming concepts that will not be discussed here and the explanation of which would go beyond the
	scope of this report.},
	Author = {Ramon Wenger},
	Institution = {University of Bern},
	Keywords = {snf-none scg-bp scg12 jb12},
	Month = jul,
	Title = {Programming in {JavaScript} --- A guide},
	Type = {Bachelor's thesis, supplementary documentation},
	Url = {http://scg.unibe.ch/archive/projects/Weng12b.pdf},
	Year = {2012},
	Bdsk-Url-1 = {http://scg.unibe.ch/archive/projects/Weng12b.pdf}}

@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{Wern11a,
	Abstract = {Applications that need to be updated but cannot be easily restarted must be updated at run-time. We
		evaluate the reflective facilities of Smalltalk with respect to dynamic soft- ware and the
		state-of-the-art in this field. We conclude that while fine for debugging, the existing reflective
		facilities are not appropriate for dynamically updating production systems under constant load. We
		propose to enable dynamic updates by introducing first-class contexts as a mechanism to allow multiple
		versions of objects to coexist. Object states can be dynamically migrated from one context to another,
		and can be kept in sync with the help of bidirectional transformations. We demonstrate our approach with
		ActiveContext, an extension of Smalltalk with first-class contexts. ActiveContext eliminates the need for
		a system to be quiescent for it to be updated. ActiveContext is realized in Pinocchio, an experimental
		Smalltalk implementation that fully reifies the VM to enable radical extensions. We illustrate dynamic
		updates in ActiveContext with a typical use case, present initial benchmarks, and discuss future
		performance improvements.},
	Annote = {internationalworkshop},
	Author = {Erwann Wernli and David Gurtner and Oscar Nierstrasz},
	Booktitle = {Proceedings of International Workshop on Smalltalk Technologies (IWST 2011)},
	Keywords = {scg11 scg-pub jb11 snf11 skip-doi},
	Medium = {1},
	Note = {http://esug.org/data/ESUG2011/IWST/Proceedings.pdf},
	Pages = {21-31},
	Peerreview = {yes},
	Title = {Using First-class Contexts to realize Dynamic Software Updates},
	Url = {http://scg.unibe.ch/archive/papers/Wern11a-ActiveContext.pdf},
	Year = {2011},
	Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Wern11a-ActiveContext.pdf}}

@inproceedings{Wern12a,
	Abstract = {Highly available software systems occasionally need to be updated while avoiding downtime.
Dynamic software updates reduce downtime, but still require the system to reach a quiescent state in which a global update can be performed.
This can be difficult for multi-threaded systems.
We present a novel approach to dynamic updates using first-class contexts, called Theseus.
First-class contexts make global updates unnecessary: existing threads run to termination in an old context, while new threads start in a new, updated context; consistency between contexts is ensured with the help of bidirectional transformations.
We show how first-class contexts offer a practical and flexible approach to incremental dynamic updates, with acceptable overhead.},
	Annote = {internationalconference},
	Author = {Erwann Wernli and Mircea Lungu and Oscar Nierstrasz},
	Booktitle = {Objects, Components, Models and Patterns, Proceedings of TOOLS Europe 2012},
	Doi = {10.1007/978-3-642-30561-0_21},
	Keywords = {scg-pub jb12 scg12 snf12 theseus},
	Medium = {2},
	Pages = {304-319},
	Peerreview = {yes},
	Title = {Incremental Dynamic Updates with First-class Contexts},
	Url = {http://scg.unibe.ch/archive/papers/Wern12a.pdf},
	Year = {2012},
	Bdsk-Url-1 = {http://dx.doi.org/10.1007/978-3-642-30561-0_21}}

@inproceedings{Wern12b,
	Abstract = {We present a novel approach to update server applications in Java. In our approach, different versions of the code coexist in the system, but are isolated into distinct contexts. The server can switch from one context to another incrementally in order to process incoming requests. Our approach has the following characteristics: (1) updatability is defined and added to the application by developers, (2) no syntax is added to the language and the update is controlled via the manipulation of objects, (3) the whole system is migrated lazily and eventually replaces the old system, (4) it is safe to update global entities anytime and there is no need to reach update points. We demonstrate our approach by updating the Jetty web server.},
	Annote = {internationalworkshop},
	Author = {Erwann Wernli},
	Bdsk-Url-2 = {http://dx.doi.org/10.1109/HotSWUp.2012.6226616},
	Booktitle = {Proceedings of HotSWUp 2012 (Fourth Workshop on Hot Topics in Software Upgrades)},
	Doi = {10.1109/HotSWUp.2012.6226616},
	Keywords = {scg-pub jb12 scg12 snf12 theseus wern-sel},
	Medium = {1},
	Month = jun,
	Pages = {41-45},
	Peerreview = {yes},
	Title = {Theseus: Whole updates of {Java} server applications},
	Url = {http://scg.unibe.ch/archive/papers/Wern12b.pdf},
	Year = {2012},
	Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Wern12b.pdf},
	Bdsk-Url-2 = {http://dx.doi.org/10.1109/HotSWUp.2012.6226616}}

@inproceedings{Wern12c,
	Annote = {internationalconference},
	Abstract = {Sharing mutable objects can result in broken invariants, exposure of internal details, and other subtle bugs. To prevent such issues, it is important to control accessibility and aliasing of objects. Dynamic Ownership is an effective way to do so, but its owner-as-dominator discipline is too restrictive: objects are either accessible or not. We propose in this paper to control accessibility and aliasing with more flexibility using two mechanisms, filters and crossing handlers. We demonstrate the benefits of the flexibility offered by these mechanisms, and report on the adaptation of a Smalltalk web server with our approach. We conclude that our variant of dynamic ownership is flexible enough to accommodate an existing design, while at the same time constraining it enough to highlight design anomalies.},
	Acmid = {2384589},
	Address = {New York, NY, USA},
	Author = {Wernli, Erwann and Maerki, Pascal and Nierstrasz, Oscar},
	Booktitle = {Proceedings of the 8th symposium on Dynamic languages},
	Doi = {10.1145/2384577.2384589},
	Isbn = {978-1-4503-1564-7},
	Keywords = {encapsulation scg-pub scg12 snf12 ownership jb13 wern-sel},
	Location = {Tucson, Arizona, USA},
	Medium = {0},
	Numpages = {12},
	Pages = {83--94},
	Peerreview = {yes},
	Publisher = {ACM},
	Series = {DLS '12},
	Title = {Ownership, filters and crossing handlers: flexible ownership in dynamic languages},
	Url = {http://scg.unibe.ch/archive/papers/Wern12c.pdf},
	Year = {2012},
	Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Wern12c.pdf},
	Bdsk-Url-2 = {http://dx.doi.org/10.1145/2384577.2384589}}

@article{Wern13a,
	Abstract = {Highly available software systems occasionally need to be updated while avoiding downtime.
	Dynamic software updates reduce down-time, but still require the system to reach a quiescent state in
	which a global update can be performed. This can be difficult for multi-threaded systems. We present a
	novel approach to dynamic updates using first-class contexts, called Theseus. First-class contexts
	make global updates unnecessary: existing threads run to termination in an old context, while new
	threads start in a new, updated context; consistency between contexts is ensured with the help of
	bidirectional transformations. We show that for multi-threaded systems with coherent memory,
	first-class contexts offer a practical and flexible approach to dynamic updates, with acceptable
	overhead.},
	Author = {Erwann Wernli and Mircea Lungu and Oscar Nierstrasz},
	Doi = {10.5381/jot.2013.12.3.a1},
	Issn = {1660-1769},
	Journal = {Journal of Object Technology},
	Annote = {internationaljournal},
	Keywords = {context-oriented scg-pub jb13 snf-asa1 scg13 wern-sel},
	Medium = {1},
	Month = aug,
	Number = {3},
	Pages = {1:1-27},
	Peerreview = {yes},
	Title = {Incremental Dynamic Updates with First-class Contexts},
	Url = {http://scg.unibe.ch/archive/papers/Wern13a.pdf},
	Volume = {12},
	Year = {2013},
	Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Wern13a.pdf},
	Bdsk-Url-2 = {http://dx.doi.org/10.5381/jot.2013.12.3.a1}}

@phdthesis{Wern13b,
	Abstract = {Software must be regularly updated to keep up with changing requirements. Unfortunately, to install an update, the system must usually be restarted, which is inconvenient and costly. In this dissertation, we aim at overcoming the need for restart by enabling run-time changes at the programming language level. We argue that the best way to achieve this goal is to improve the support for encapsulation, information hiding and late binding by contextualizing behavior. In our approach, behavioral variations are encapsulated into context objects that alter the behavior of other objects locally. We present three contextual language features that demonstrate our approach.  First, we present a feature to evolve software by scoping variations to threads. This way, arbitrary objects can be substituted over time without compromising safety. Second, we present a variant of dynamic proxies that operate by delegation instead of forwarding. The proxies can be used as building blocks to implement contextualization mechanisms from within the language. Third, we contextualize the behavior of objects to intercept exchanges of references between objects. This approach scales information hiding from objects to aggregates. The three language features are supported by formalizations and case studies, showing their soundness and practicality. With these three complementary language features, developers can easily design applications that can accommodate run-time changes.},
	Author = {Erwann Wernli},
	Keywords = {scg-phd snf-none scg13 jb14},
	Month = nov,
	School = {University of Bern},
	Title = {Run-time Variability with First-class Contexts},
	Type = {{PhD} thesis},
	Url = {http://scg.unibe.ch/archive/phd/wernli-phd.pdf},
	Year = {2013},
	Bdsk-Url-1 = {http://scg.unibe.ch/archive/phd/wernli-phd.pdf}}

@inproceedings{Wern14a,
	Annote = {internationalconference},
	Abstract = {Scoping behavioral variations to dynamic extents is useful to
   support non-functional requirements that otherwise result in cross-cutting
   code. Unfortunately, such variations are difficult to achieve with
   traditional reflection or aspects. We show that with a modification of
   dynamic proxies, called delegation proxies, it becomes possible to
   reflectively implement variations that propagate to all objects accessed in
   the dynamic extent of a message send. We demonstrate our approach with
   examples of variations scoped to dynamic extents that help simplify code
   related to safety, reliability, and monitoring.},
	Acmid = {2577081},
	Address = {New York, NY, USA},
	Author = {Erwann Wernli and Oscar Nierstrasz and Camille Teruel and Stephane Ducasse},
	Booktitle = {Proceedings of the 13th International Conference on Modularity},
	Doi = {10.1145/2577080.2577081},
	Isbn = {978-1-4503-2772-5},
	Keywords = {constructs and features, dynamic extent, programming languages, proxy, reflection proxy; delegation; wern-sel scg-pub snf-asa1 scg14 jb14},
	PeerReview = {yes},
	Medium = {2},
	Location = {Lugano, Switzerland},
	Numpages = {12},
	Pages = {1--12},
	Publisher = {ACM},
	Series = {MODULARITY '14},
	Title = {Delegation Proxies: The Power of Propagation},
	Url = {http://scg.unibe.ch/archive/papers/Wern14a.pdf},
	Year = {2014},
	Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Wern14a.pdf},
	Bdsk-Url-2 = {http://dx.doi.org/10.1145/2577080.2577081}}

@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},
	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},
	Keywords = {moose-pub},
	Month = jun,
	Number = {2010/05},
	Title = {Empirical Validation of {CodeCity}: A Controlled Experiment},
	Type = {Technical Report},
	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,
	Acmid = {1985868},
	Address = {New York, NY, USA},
	Author = {Wettel, Richard and Lanza, Michele and Robbes, Romain},
	Booktitle = {Proceedings of the 33rd International Conference on Software Engineering},
	Doi = {10.1145/1985793.1985868},
	Isbn = {978-1-4503-0445-0},
	Keywords = {empirical validation, software visualization},
	Location = {Waikiki, Honolulu, HI, USA},
	Numpages = {10},
	Pages = {551--560},
	Publisher = {ACM},
	Series = {ICSE '11},
	Title = {Software systems as cities: a controlled experiment},
	Url = {http://doi.acm.org/10.1145/1985793.1985868},
	Year = {2011},
	Bdsk-Url-1 = {http://doi.acm.org/10.1145/1985793.1985868},
	Bdsk-Url-2 = {http://dx.doi.org/10.1145/1985793.1985868}}

@techreport{Wett13a,
	Abstract = {In Java, System Properties are global variables in disguise: every class can access them and modify their values. Thus, they suffer from the same pitfalls as global variables: it is difficult to reason about their usage, they can introduce hidden dependencies between classes, they can cause naming conflicts, etc. An analysis of several open-source Java systems revealed that System Properties are a common presence. Given the sheer size and complexity of these systems, manually reasoning about System Properties is no longer an option; tool support is required. To address these problems in this thesis we introduce the Property Investigator, a tool for understanding the usage of System Properties. The tool allows developers to identify all System Properties used within an application, inspect their values and determined from where these values were set. To make it accessible to developers we have integrated it into the Eclipse IDE.},
	Author = {David Wettstein},
	Institution = {University of Bern},
	Keywords = {snf-none scg-bp scg13 jb14},
	Month = nov,
	Title = {Analysing {Java} System Properties},
	Type = {Bachelor's thesis},
	Url = {http://scg.unibe.ch/archive/projects/Wett13a-AnalysingJavaSystemProperties.pdf},
	Year = {2013},
	Bdsk-Url-1 = {http://scg.unibe.ch/archive/projects/Wett13a-AnalysingJavaSystemProperties.pdf}}

@techreport{Wett13b,
	Abstract = {This documentation describes the implementation of the Properties Investigator. It introduces the Java Platform Debugger Architecture (JPDA), looks at the Java Debug Interface (JDI) and then presents the two main components of the proposed tool, namely the Analyser and the Visualizer.},
	Author = {David Wettstein},
	Institution = {University of Bern},
	Keywords = {snf-none scg-bp scg13 jb14},
	Month = nov,
	Title = {Analysing {Java} System Properties --- Implementation},
	Type = {Bachelor's thesis, supplementary documentation},
	Url = {http://scg.unibe.ch/archive/projects/Wett13b-AnalysingJavaSystemProperties-Implementation.pdf},
	Year = {2013},
	Bdsk-Url-1 = {http://scg.unibe.ch/archive/projects/Wett13b-AnalysingJavaSystemProperties-Implementation.pdf}}

@book{Wexe81a,
	Author = {Richard Wexelblat},
	Publisher = {Academic Press},
	Title = {History of programming languages},
	Year = {1981}}

@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}}

@techreport{Weye20a,
	Title = {Simple {MLE} Deployer --- A simple (Web) Tool for exercising the {Oracle} Multilingual Engine},
	Author = {Julian Weyermann},
	Abstract = {Programming for relational database management systems with
		SQL and/or its various extensions and performing data
		analysis directly on the database is difficult. This comes
		from the fact that language support is limited. For example
		PL/SQL (in the case of Oracle) is not widely used and as a
		consequence there are not many libraries available for it.
		Oracle aims to resolve this issue with the Multilingual
		Engine (MLE for short) which is an extension of their
		relational database management system Oracle Database. MLE
		enables developers to use JavaScript or Python along with
		the associated libraries. However in its experimental state
		at version 0.3.0 of MLE the deployment of such JavaScript
		and Python code to the database is complicated and
		error-prone. As the support for JavaScript is more mature
		than the support for Python, the goal of this project is to
		simplify the deployment process of JavaScript source code
		to MLE, enabling developers to try out MLE without the need
		to know a lot about its internals. This is achieved by the
		creation of a small library which automates the deployment
		process almost completely. Alongside the library a website
		is available that interfaces with the library and further
		facilitates testing of MLE.},
	Institution = {University of Bern},
	Keywords = {scg-bp snf-none scg20 jb20},
	Type = {Bachelor's thesis},
	Url = {http://scg.unibe.ch/archive/projects/Weye20a.pdf},
	Month = jul,
	Year = {2020}
}

@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}}

@inproceedings{Weyu07a,
	Acmid = {1269056},
	Address = {Washington, DC, USA},
	Author = {Weyuker, Elaine J. and Ostrand, Thomas J. and Bell, Robert M.},
	Booktitle = {Proceedings of the Third International Workshop on Predictor Models in Software Engineering},
	Doi = {10.1109/PROMISE.2007.14},
	Isbn = {0-7695-2954-2},
	Pages = {8--},
	Publisher = {IEEE Computer Society},
	Series = {PROMISE '07},
	Title = {Using Developer Information As a Factor for Fault Prediction},
	Url = {http://dx.doi.org/10.1109/PROMISE.2007.14},
	Year = {2007},
	Bdsk-Url-1 = {http://dx.doi.org/10.1109/PROMISE.2007.14}}

@article{Weyu08a,
	Acmid = {1416837},
	Address = {Hingham, MA, USA},
	Author = {Weyuker, Elaine J. and Ostrand, Thomas J. and Bell, Robert M.},
	Doi = {10.1007/s10664-008-9082-8},
	Issn = {1382-3256},
	Issue_Date = {October 2008},
	Journal = {Empirical Softw. Engg.},
	Keywords = {Developer counts, Empirical study, Negative binomial model, Software faults},
	Month = oct,
	Number = {5},
	Numpages = {21},
	Pages = {539--559},
	Publisher = {Kluwer Academic Publishers},
	Title = {Do Too Many Cooks Spoil the Broth? Using the Number of Developers to Enhance Defect Prediction Models},
	Url = {http://dx.doi.org/10.1007/s10664-008-9082-8},
	Volume = {13},
	Year = {2008},
	Bdsk-Url-1 = {http://dx.doi.org/10.1007/s10664-008-9082-8}}

@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,
	Acmid = {337483},
	Address = {New York, NY, USA},
	Author = {Whaley, John},
	Booktitle = {Proceedings of the ACM 2000 conference on Java Grande},
	Doi = {10.1145/337449.337483},
	Isbn = {1-58113-288-3},
	Location = {San Francisco, California, United States},
	Numpages = {10},
	Pages = {78--87},
	Publisher = {ACM},
	Series = {JAVA '00},
	Title = {A portable sampling-based profiler for Java virtual machines},
	Year = {2000},
	Bdsk-Url-1 = {http://dx.doi.org/10.1145/337449.337483}}

@misc{Wheeler,
	Author = {Wikipedia},
	Key = {Wheeler},
	Keywords = {wheeler indirection level},
	Note = {Retrieved August 10th 2006},
	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,
	Title = {Whisker: The {O-O} Stacking Browser},
	Url = {www.mindspring.com/~dway/smalltalk/whisker.html},
	Year = {2005},
	Bdsk-Url-1 = {www.mindspring.com/~dway/smalltalk/whisker.html}}

@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{Whit12a,
	Author = {White, Tom},
	Day = {26},
	Edition = {Third Edition},
	Howpublished = {Paperback},
	Isbn = {1449311520},
	Month = may,
	Publisher = {O'Reilly Media},
	Title = {Hadoop: The Definitive Guide},
	Url = {http://www.amazon.com/exec/obidos/redirect?tag=citeulike07-20\&path=ASIN/1449311520},
	Year = {2012},
	Bdsk-Url-1 = {http://www.amazon.com/exec/obidos/redirect?tag=citeulike07-20%5C&path=ASIN/1449311520}}

@inbook{Whit13a,
	author={Whittle, Jon and Hutchinson, John and Rouncefield, Mark and Burden, H{\aa}kan and Heldal, Rogardt},
	chapter={Industrial Adoption of Model-Driven Engineering: Are the Tools Really the Problem?},
	title={Model-Driven Engineering Languages and Systems: 16th International Conference, (MODELS 2013)},
	year={2013},
	publisher={Springer Berlin Heidelberg},
	address={Berlin, Heidelberg},
	pages={1--17},
	isbn={978-3-642-41533-3},
	doi={10.1007/978-3-642-41533-3_1},
	url={http://dx.doi.org/10.1007/978-3-642-41533-3_1}
}

@article{Whit14a,
	author = {Jon Whittle and John Hutchinson and Mark Rouncefield},
	title = {The State of Practice in Model-Driven Engineering},
	journal ={IEEE Software},
	volume = {31},
	number = {3},
	issn = {0740-7459},
	year = {2014},
	pages = {79-85},
	doi = {10.1109/MS.2013.65},
	pdf = {http://www.research.lancs.ac.uk/portal/services/downloadRegister/59412906/SO_SW_2012_12_0188.R1_Whittle.pdf},
	publisher = {IEEE Computer Society},
	address = {Los Alamitos, CA, USA}
}

@inproceedings{Whit16a,
 author = {White, Martin and Tufano, Michele and Vendome, Christopher and Poshyvanyk, Denys},
 title = {Deep Learning Code Fragments for Code Clone Detection},
 booktitle = {Proceedings of the 31st IEEE/ACM International Conference on Automated Software Engineering},
 series = {ASE 2016},
 year = {2016},
 isbn = {978-1-4503-3845-5},
 location = {Singapore, Singapore},
 pages = {87--98},
 numpages = {12},
 url = {http://doi.acm.org/10.1145/2970276.2970326},
 doi = {10.1145/2970276.2970326},
 acmid = {2970326},
 publisher = {ACM},
 address = {New York, NY, USA},
 keywords = {abstract syntax trees, code clone detection, deep learning, language models, machine learning, neural networks}
}

@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{Wies11a,
author={Wiese, A. and Ho, V. and Hill, E.},
booktitle={2011 27th IEEE International Conference on Software Maintenance (ICSM)},
title={A comparison of stemmers on source code identifiers for software search},
year={2011},
month=sep,
pages={496-499},
abstract={As the popularity of text-based source code analysis grows, the use of stemmers to strip suffixes has increased. Stemmers have been used to more accurately determine relevance between a keyword query and methods in source code for search, exploration, and bug localization. In this paper, we investigate which traditional stemmers perform best on the domain of software, specifically, Java source code. We compare the stemmers using two case studies: a comparative analysis of the unified word classes in terms of accuracy and completeness, as well as an investigation into the effectiveness of stemming for software search. Our results indicate that relative stemmer effectiveness varies with a software engineering tool such as search, justifying further research into this area.},
keywords={Java;program debugging;software tools;Java source code;bug localization;keyword query;software engineering tool;software search stemming;source code identifiers;suffix stripping;text-based source code analysis;Accuracy;Adders;Context;Humans;Java;Software;Software engineering;source code search;stemming;textual analysis of source code identifiers},
doi={10.1109/ICSM.2011.6080817},
ISSN={1063-6773}
}

@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}}

@book{Wijn69a,
 	author = {Wijngaarden, A. van},
 	title = {Report on the Algorithmic Language ALGOL 68},
 	year = {1969},
 	isbn = {B0007IUUXM},
 	publisher = {Printing by the Mathematisch Centrum}
}

@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}}

@inproceedings{Wilk13a,
author={C. Wilke and S. Richly and S. G\"otz and C. Piechnick and U. Assmann},
booktitle={Green Computing and Communications (GreenCom), 2013 IEEE and Internet of Things (iThings/CPSCom), IEEE International Conference on and IEEE Cyber, Physical and Social Computing},
title={Energy Consumption and Efficiency in Mobile Applications: A User Feedback Study},
year={2013},
pages={134-141},
abstract={The energy efficiency of mobile applications has been a highly tackled research problem within the last years. Many research groups have focused on optimizing the hardware of mobile devices, as well as their middleware and applications, increasing both the devices' uptime and their users' satisfaction. However, only scarce work has analyzed whether users notice and care about energy-efficiency problems in mobile applications. Thus, in this paper, we address these questions by evaluating a large set of user comments extracted from the Google Play market place for Android applications. We analyze more than 9 million user comments and show that more than 18\% of all commented applications have comments complaining about energy consumption. Besides, we identify major causes for the inefficiency of many mobile applications.},
doi={10.1109/GreenCom-iThings-CPSCom.2013.45},
month=aug
}

@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}}

@inproceedings{Will82a,
  title={Maintaining dense sequential files in a dynamic environment},
  author={Willard, Dan E},
  booktitle={Proceedings of the fourteenth annual ACM symposium on Theory of computing},
  pages={114--121},
  year={1982},
  organization={ACM}
}

@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}}

@inproceedings{Will04a,
	Abstract = {Program slicing has long been recognised as a valuable technique for supporting
			the software maintenance process. However, many programs operate over some kind
			of external state, as well as the internal program state. Arguably, the most
			significant form of external state is that used to store data associated with the
			application, for example, in a database management system. We propose an approach
			to supporting slicing over both program and database state, which requires the
			introduction of two new forms of data dependency into the standard program dependency
			graph. Our method expands the usefulness of program slicing techniques to the considerable
			number of database application programs that are being maintained within industry and
			science today.},
	Author = {Willmor, D. and Embury, S.M. and Jianhua Shao},
	Booktitle = {Software Maintenance, 2004. Proceedings. 20th IEEE International Conference on},
	Doi = {10.1109/ICSM.2004.1357833},
	Issn = {1063-6773},
	Month = sep,
	Pages = {448 - 452},
	Title = {Program slicing in the presence of database state},
	Year = {2004},
	Bdsk-Url-1 = {http://dx.doi.org/10.1109/ICSM.2004.1357833}}

@inproceedings{Will04b,
  title={Bug driven bug finders},
  author={Williams, Chadd C and Hollingsworth, Jeffrey K},
  booktitle={Proceedings of the International Workshop on Mining Software Repositories},
  pages={70--74},
  year={2004},
  organization={IET}
}

@article{Will05a,
	Author = {Williams, C.C. and Hollingsworth, J.K.},
	Doi = {10.1109/TSE.2005.63},
	Issn = {0098-5589},
	Journal = {Software Engineering, IEEE Transactions on},
	Keywords = {multi-version-analysis},
	Month = jun,
	Number = {6},
	Pages = {466 - 480},
	Title = {Automatic mining of source code repositories to improve bug finding techniques},
	Volume = {31},
	Year = {2005},
	Bdsk-Url-1 = {http://dx.doi.org/10.1109/TSE.2005.63}}

@inproceedings{Will09a,
  title={On the effectiveness of unit test automation at microsoft},
  author={Williams, Laurie and Kudrjavets, Gunnar and Nagappan, Nachiappan},
  booktitle={Software Reliability Engineering, 2009. ISSRE'09. 20th International Symposium on},
  pages={81--89},
  year={2009},
  organization={IEEE}
}

@article{Wilm84a,
	Acmid = {2142},
	Address = {New York, NY, USA},
	Author = {Wilmot, Richard B.},
	Doi = {10.1145/2135.2142},
	Issn = {0001-0782},
	Issue = {12},
	Journal = {Commun. ACM},
	Month = dec,
	Numpages = {7},
	Pages = {1237--1243},
	Publisher = {ACM},
	Title = {Foreign keys decrease adaptability of database designs},
	Volume = {27},
	Year = {1984},
	Bdsk-Url-1 = {http://dx.doi.org/10.1145/2135.2142}}

@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}}

@misc{Wils92a,
    author = {Paul R. Wilson},
    title = {Uniprocessor Garbage Collection Techniques},
    year = {1992}
}

@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}}

@incollection{Wils95a,
	Author = {Wilson, PaulR. and Johnstone, MarkS. and Neely, Michael and Boles, David},
	Booktitle = {Memory Management},
	Doi = {10.1007/3-540-60368-9_19},
	Editor = {Baler, HenryG.},
	Isbn = {978-3-540-60368-9},
	Pages = {1-116},
	Publisher = {Springer Berlin Heidelberg},
	Series = {Lecture Notes in Computer Science},
	Title = {Dynamic storage allocation: A survey and critical review},
	Url = {http://dx.doi.org/10.1007/3-540-60368-9_19},
	Volume = {986},
	Year = {1995},
	Bdsk-Url-1 = {http://dx.doi.org/10.1007/3-540-60368-9_19}}

@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{Wimm12a,
    author = {Wimmer, Christian and W\"{u}rthinger, Thomas},
    title = {Truffle: A Self-optimizing Runtime System},
    booktitle = {Proceedings of the 3rd Annual Conference on Systems, Programming, and Applications: Software for Humanity},
    series = {SPLASH '12},
    year = {2012},
    isbn = {978-1-4503-1563-0},
    location = {Tucson, Arizona, USA},
    pages = {13--14},
    numpages = {2},
    url = {http://doi.acm.org/10.1145/2384716.2384723},
    doi = {10.1145/2384716.2384723},
    acmid = {2384723},
    publisher = {ACM},
    address = {New York, NY, USA},
    keywords = {dynamic languages, graal, j, java, javascript, language implementation, truffle, virtual machine}
}

@article{Wimm13,
	Acmid = {2400689},
	Address = {New York, NY, USA},
	Articleno = {30},
	Author = {Wimmer, Christian and Haupt, Michael and Van De Vanter, Michael L. and Jordan, Mick and Dayn\`{e}s, Laurent and Simon, Douglas},
	Doi = {10.1145/2400682.2400689},
	Issn = {1544-3566},
	Issue_Date = {January 2013},
	Journal = {ACM Trans. Archit. Code Optim.},
	Keywords = {Java, Maxine VM, VM design, VM interfaces, debugging, inspector, metacircular VM, tool support},
	Month = jan,
	Number = {4},
	Numpages = {24},
	Pages = {30:1--30:24},
	Publisher = {ACM},
	Title = {Maxine: An Approachable Virtual Machine for, and in, Java},
	Url = {http://doi.acm.org/10.1145/2400682.2400689},
	Volume = {9},
	Year = {2013},
	Bdsk-Url-1 = {http://doi.acm.org/10.1145/2400682.2400689},
	Bdsk-Url-2 = {http://dx.doi.org/10.1145/2400682.2400689}}

@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{Wing10a,
	title = {Analysis and visualization of information quality of technical documentation},
	author = {Wingkvist, Anna and L{\"o}we, Welf and Ericsson, Morgan and Lincke, R{\"u}diger},
	booktitle = {Proceedings of the 4th European Conference on Information Management and Evaluation},
	pages = {388--396},
	year = {2010}}

@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{Wint94,
	Author = {Phil Winterbottom},
	Booktitle = {USENIX Technical Conference},
	Masid = {120167},
	Pages = {211--222},
	Title = {{ACID}: A Debugger Built From a Language},
	Year = {1994}}

@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 scg-none jb-none 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 p2lit},
	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{Wirt11a,
	title = {A multi-level approach for visualization and exploration of reactive program behavior},
	author = {Wirth, Christian and Prahofer, H and Schatz, Roland},
	booktitle = {Visualizing Software for Understanding and Analysis (VISSOFT), 2011 6th IEEE International Workshop on},
	pages = {1--4},
	year = {2011},
	organization = {IEEE}
}

@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{Witt05a,
	Author = {Witten, Ian H and Frank, Eibe},
	Publisher = {Morgan Kaufmann},
	Title = {Data Mining: Practical machine learning tools and techniques},
	Year = {2005}}

@book{Wohl00a,
	Author = {Wohlin, Claes and Runeson, Per and H\"ost, Martin and Ohlsson, Magnus C. and Regnell, Bj\"orn and Wessl\'en, Anders},
	Doi = {10.1007/978-3-642-29044-2},
	Isbn = {978-0792386827},
	Keywords = {scglib damiencbib empirical},
	Publisher = {Kluwer Academic Publishers},
	Title = {Experimentation in Software Engineering},
	Year = {2000},
	Bdsk-Url-1 = {http://dx.doi.org/10.1007/978-3-642-29044-2}}

@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},
	Month = jul,
	Number = {CMU-ISR-10-116},
	Title = {Gradual Featherweight Typestate},
	Year = {2010}}

@inproceedings{Wolf10b,
	Acmid = {1890696},
	Address = {New York, NY, USA},
	Articleno = {4},
	Author = {Wolfmaier, Klaus and Ramler, Rudolf and Dobler, Heinz},
	Booktitle = {Proceedings of the 1st Workshop on Testing Object-Oriented Systems},
	Doi = {10.1145/1890692.1890696},
	Isbn = {978-1-4503-0538-9},
	Keywords = {collection classes, unit testing and coverage},
	Location = {Maribor, Slovenia},
	Numpages = {8},
	Pages = {4:1--4:8},
	Publisher = {ACM},
	Series = {ETOOS '10},
	Title = {Issues in Testing Collection Class Libraries},
	Url = {http://doi.acm.org/10.1145/1890692.1890696},
	Year = {2010},
	Bdsk-Url-1 = {http://doi.acm.org/10.1145/1890692.1890696},
	Bdsk-Url-2 = {http://dx.doi.org/10.1145/1890692.1890696}}

@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}}

@inproceedings{Wong14a,
  author    = {Edmund Wong and
               Jinqiu Yang and
               Lin Tan},
  editor    = {Ewen Denney and
               Tevfik Bultan and
               Andreas Zeller},
  title     = {AutoComment: Mining question and answer sites for automatic comment
               generation},
  booktitle = {2013 28th {IEEE/ACM} International Conference on Automated Software
               Engineering, {ASE} 2013, Silicon Valley, CA, USA, November 11-15,
               2013},
  pages     = {562--567},
  publisher = {{IEEE}},
  year      = {2013},
  url       = {https://doi.org/10.1109/ASE.2013.6693113},
  doi       = {10.1109/ASE.2013.6693113},
  timestamp = {Wed, 16 Oct 2019 14:14:55 +0200},
  biburl    = {https://dblp.org/rec/conf/kbse/WongYT13.bib},
  bibsource = {dblp computer science bibliography, https://dblp.org}
}

@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}}

@inproceedings{Wood81a,
  title={The Effect of Modularization and Comments on Program Comprehension},
  author={Woodfield, Scott N and Dunsmore, Hubert E and Shen, Vincent Yun},
  booktitle={Proceedings of the 5th international conference on Software engineering},
  pages={215--223},
  year={1981},
  organization={IEEE Press}}

@article{Wood84a,
	Acmid = {2296},
	Address = {London, UK, UK},
	Author = {Woods, David D.},
	Doi = {10.1016/S0020-7373(84)80043-7},
	Issn = {0020-7373},
	Issue = {3},
	Journal = {Int. J. Man-Mach. Stud.},
	Month = sep,
	Numpages = {16},
	Pages = {229--244},
	Publisher = {Academic Press Ltd.},
	Title = {Visual momentum: a concept to improve the cognitive coupling of person and computer},
	Url = {http://portal.acm.org/citation.cfm?id=2292.2296},
	Volume = {21},
	Year = {1984},
	Bdsk-Url-1 = {http://portal.acm.org/citation.cfm?id=2292.2296},
	Bdsk-Url-2 = {http://dx.doi.org/10.1016/S0020-7373(84)80043-7}}

@inproceedings{Wood98a,
	Address = {New York, NY, USA},
	Author = {Woodruff, Allison and Landay, James and Stonebraker, Michael},
	Booktitle = {CHI 98 conference summary on Human factors in computing systems},
	Doi = {10.1145/286498.286781},
	Isbn = {1-58113-028-7},
	Keywords = {dyla},
	Location = {Los Angeles, California, United States},
	Pages = {305--306},
	Publisher = {ACM},
	Series = {CHI '98},
	Title = {Goal-directed zoom},
	Year = {1998},
	Bdsk-Url-1 = {http://dx.doi.org/10.1145/286498.286781}}

@article{Wood99a,
	Author = {Woods, Steven G. and Carri\`{e}re, S. Jeromy and Kazman, Rick},
	Journal = {SEI Interactive, The Architect},
	Month = sep,
	Number = 3,
	Title = {The Perils and Joys of Reconstructing Architectures},
	Volume = 2,
	Year = {1999}}

@inproceedings{Wood05a,
	Author = {Woods, E. and Hilliard, R.},
	Booktitle = {Software Architecture, 2005. WICSA 2005. 5th Working IEEE/IFIP Conference on},
	Doi = {10.1109/WICSA.2005.15},
	Pages = {243-246},
	Title = {Architecture Description Languages in Practice Session Report},
	Year = {2005},
	Bdsk-Url-1 = {http://dx.doi.org/10.1109/WICSA.2005.15}}

@article{Wood05b,
	Author = {Woods, Eoin},
	Journal = {Artechra white paper},
	Title = {Architecture description languages and information systems architects: Never the twain shall meet?},
	Year = {2005}}

@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,
	Acmid = {1615214},
	Address = {Berlin, Heidelberg},
	Author = {Wrigstad, Tobias and Pizlo, Filip and Meawad, Fadi and Zhao, Lei and Vitek, Jan},
	Booktitle = {Proceedings of the 23rd European Conference on ECOOP 2009 --- Object-Oriented Programming},
	Doi = {10.1007/978-3-642-03013-0_21},
	Isbn = {978-3-642-03012-3},
	Location = {Italy},
	Numpages = {25},
	Pages = {445--469},
	Publisher = {Springer-Verlag},
	Series = {Genoa},
	Title = {Loci: Simple Thread-Locality for Java},
	Year = {2009},
	Bdsk-Url-1 = {http://dx.doi.org/10.1007/978-3-642-03013-0_21}}

@inproceedings{Wrig09b,
	Abstract = {{This paper lays out the research agenda of the Thorn project, a collaboration between IBM Research and Purdue University with the goal of exploring how to incrementally transition rapid prototypes into robust programs. The project is in its early stages and we have more questions than answers. Out of 518 enterprises, 11\% reported using server scripting languages, which was higher than C/C++. ---The Forrester Wave: Dynamic Programming Languages Any doubt that a Perl-based application would be robust enough to handle a large, mission-critical, financial-batch system has been dispelled by Pluto's performance with the Swedish national pension since its launch in the fall of 2000. More than 5 million customers take part... accounts exceed 6 billion dollars. ---Perl Runs Sweden's Pension System}},
	Address = {New York, NY, USA},
	Author = {Wrigstad, Tobias and Eugster, Patrick and Field, John and Nystrom, Nate and Vitek, Jan},
	Booktitle = {Proceedings for the 1st workshop on Script to Program Evolution},
	Doi = {10.1145/1570506.1570513},
	Isbn = {978-1-60558-543-7},
	Keywords = {hardening, scripting language},
	Location = {Genova, Italy},
	Pages = {58--70},
	Publisher = {ACM},
	Series = {STOP '09},
	Title = {{Software hardening: a research agenda}},
	Year = {2009},
	Bdsk-Url-1 = {http://dx.doi.org/10.1145/1570506.1570513}}

@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},
	Doi = {10.1145/1706299.1706343},
	Pages = {377--388},
	Publisher = {ACM},
	Title = {Integrating typed and untyped code in a scripting language},
	Year = {2010},
	Bdsk-Url-1 = {http://dx.doi.org/10.1145/1706299.1706343}}

@inproceedings{Wrig10b,
  title={Validity concerns in software engineering research},
  author={Wright, Hyrum K and Kim, Miryung and Perry, Dewayne E},
  booktitle={Proceedings of the FSE/SDP workshop on Future of software engineering research},
  pages={411--414},
  year={2010},
  organization={ACM}
}

@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{Wu04d,
	title = {Automatic detecting code cooperation},
	author = {Wu, Lei and Sahraoui, Houari and Valtchev, Petko},
	booktitle = {Software Engineering Conference, 2004. 11th Asia-Pacific},
	pages = {204--211},
	year = {2004},
	organization = {IEEE}}

@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}}

@inproceedings{Wu15a,
 author = {Wu, Yu and Wu, Wei and Li, Zhoujun and Zhou, Ming},
 title = {Mining Query Subtopics from Questions in Community Question Answering},
 booktitle = {Proceedings of the Twenty-Ninth AAAI Conference on Artificial Intelligence},
 series = {AAAI'15},
 year = {2015},
 isbn = {0-262-51129-0},
 location = {Austin, Texas},
 pages = {339--345},
 numpages = {7},
 url = {http://dl.acm.org/citation.cfm?id=2887007.2887055},
 acmid = {2887055},
 publisher = {AAAI Press}}

@inproceedings{Wu15b,
  author    = {Yuhao Wu and
               Yuki Manabe and
               Tetsuya Kanda and
               Daniel M. Germ{\'{a}}n and
               Katsuro Inoue},
  editor    = {Massimiliano Di Penta and
               Martin Pinzger and
               Romain Robbes},
  title     = {A Method to Detect License Inconsistencies in Large-Scale Open Source
               Projects},
  booktitle = {12th {IEEE/ACM} Working Conference on Mining Software Repositories,
               {MSR} 2015, Florence, Italy, May 16-17, 2015},
  pages     = {324--333},
  publisher = {{IEEE} Computer Society},
  year      = {2015},
  url       = {https://doi.org/10.1109/MSR.2015.37},
  doi       = {10.1109/MSR.2015.37},
  keywords =  {comment-quality-slr},
  timestamp = {Wed, 16 Oct 2019 14:14:52 +0200},
  biburl    = {https://dblp.org/rec/conf/msr/WuMKGI15.bib},
  bibsource = {dblp computer science bibliography, https://dblp.org}
}

@article{Wu17a,
  author    = {Yuhao Wu and
               Yuki Manabe and
               Tetsuya Kanda and
               Daniel M. Germ{\'{a}}n and
               Katsuro Inoue},
  title     = {Analysis of license inconsistency in large collections of open source
               projects},
  journal   = {Empir. Softw. Eng.},
  volume    = {22},
  number    = {3},
  pages     = {1194--1222},
  year      = {2017},
  url       = {https://doi.org/10.1007/s10664-016-9487-8},
  doi       = {10.1007/s10664-016-9487-8},
  keywords =  {comment-quality-slr},
  timestamp = {Tue, 25 Aug 2020 16:58:40 +0200},
  biburl    = {https://dblp.org/rec/journals/ese/WuMKGI17.bib},
  bibsource = {dblp computer science bibliography, https://dblp.org}
}

@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,
	Author = {Michael W{\"u}rsch and Giacomo Ghezzi and Gerald Reif and Harald C. Gall},
	Booktitle = {Proceedings of the 32nd International Conference on Software Engineering (ICSE 2010)},
	Month = may,
	Publisher = {IEEE Computer Society},
	Title = {Supporting Developers with Natural Language Queries},
	Year = {2010}}

@article{Wues19a,
	author = {W\"{u}est, Dustin and Seyff, Norbert and Glinz, Martin},
	title = {{FlexiSketch}: A Lightweight Sketching and Metamodeling Approach for End-Users},
	year = {2019},
	issue_date = {April 2019},
	publisher = {Springer-Verlag},
	address = {Berlin, Heidelberg},
	volume = {18},
	number = {2},
	issn = {1619-1366},
	url = {https://link.springer.com/content/pdf/10.1007/s10270-017-0623-8.pdf},
	doi = {10.1007/s10270-017-0623-8},
	journal = {Softw. Syst. Model.},
	month = apr,
	pages = {1513-1541},
	numpages = {29},
	keywords = {End-user metamodeling, Evaluation, Lightweight metamodeling, Sketching, Notation definition, Tool, Ad hoc modeling, Requirements engineering, Collaborative metamodeling}
}

@techreport{Wuet18a,
	Title = {A Shape Grammar Interpreter Using Local Coordinates For Subshape Detection},
	Author = {Lars W\"uthrich},
	Abstract = {Shape Grammars allow us to create complex and intricate
	recursive images by applying geometric transformations.
	Instead of rewriting strings as in text based grammars,
	the production rules directly operate on the geometry of
	a shape. However, there can be several possibilities
	where a given rule could be applied to a shape. The
	existing implementations and theoretical approaches
	assume that the decision where to apply a rule has to be
	made manually by the designer. In this work, various
	heuristics are considered to let the shape grammar
	interpreter run by itself with minimal user input at the
	beginning. In addition, a new method of subshape
	detection is presented based on point comparison in local
	coordinates, which is needed for the shape grammar
	interpreter to find subshapes to apply the rules to. This
	novel detection algorithm and several of the heuristics
	are implemented in a proof of concept interpreter and
	editor. They are used to create various images that would
	have been tedious to do in this detail by manual
	interaction with the interpreter.},
	Institution = {University of Bern},
	Keywords = {scg-bp snf-none scg18 jb18},
	Type = {Bachelor's thesis},
	Url = {http://scg.unibe.ch/archive/projects/Wuet18a.pdf},
	Month = feb,
	Year = {2018}
}

@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{Wurs10a,
  title={Supporting developers with natural language queries},
  author={W{\"u}rsch, Michael and Ghezzi, Giacomo and Reif, Gerald and Gall, Harald C},
  booktitle={Proceedings of the 32nd ACM/IEEE International Conference on Software Engineering-Volume 1},
  pages={165--174},
  year={2010},
  organization={ACM}
}

@inproceedings{Wurt10a,
	Acmid = {1852764},
	Address = {New York, NY, USA},
	Author = {W\"{u}rthinger, Thomas and Wimmer, Christian and Stadler, Lukas},
	Booktitle = {Proceedings of the 8th International Conference on the Principles and Practice of Programming in Java},
	Doi = {10.1145/1852761.1852764},
	Isbn = {978-1-4503-0269-2},
	Keywords = {Java, class hierarchy, dynamic software updating, evolution, garbage collection, runtime evolution, virtual machine},
	Location = {Vienna, Austria},
	Numpages = {10},
	Pages = {10--19},
	Publisher = {ACM},
	Series = {PPPJ '10},
	Title = {Dynamic code evolution for {Java}},
	Year = {2010},
	Bdsk-Url-1 = {http://dx.doi.org/10.1145/1852761.1852764}}

@article{Wurt11a,
	Abstract = {Dynamic code evolution is a technique to update a program while it is running. In an object-oriented language such as Java, this can be seen as replacing a set of classes by new versions. We modified an existing high-performance virtual machine to allow arbitrary changes to the definition of loaded classes. Besides adding and deleting fields and methods, we also allow any kind of changes to the class and interface hierarchy. Our approach focuses on increasing developer productivity during debugging, but can also be applied for updating of long-running applications. Changes can be applied at any point at which a Java program can be suspended. Our virtual machine is able to continue execution of old changed or deleted methods and also to access deleted static fields. A dynamic verification of the current state of the program ensures type safety of complex class hierarchy changes. However, the programmer still has to ensure that the semantics of the modified program are correct and that the new program version can start running from the state left behind by the old program version. The evaluation section shows that our modifications to the virtual machine have no negative performance impact on normal program execution. The in-place instance update algorithm is in many cases faster than a full garbage collection. Standard Java development environments automatically use the code evolution features of our modified virtual machine, so no additional tools are required.},
	Author = {W\"{u}rthinger, Thomas and Wimmer, Christian and Stadler, Lukas},
	Citeulike-Article-Id = {9621033},
	Citeulike-Linkout-0 = {http://dx.doi.org/10.1016/j.scico.2011.06.005},
	Citeulike-Linkout-1 = {http://linkinghub.elsevier.com/retrieve/pii/S0167642311001456},
	Date-Added = {2011-10-28 16:50:50 +0200},
	Date-Modified = {2011-10-28 16:53:41 +0200},
	Doi = {10.1016/j.scico.2011.06.005},
	Issn = {01676423},
	Journal = {Science of Computer Programming},
	Keywords = {dsu; java;},
	Month = jul,
	Posted-At = {2011-08-07 03:25:23},
	Rating = {4},
	Title = {Unrestricted and safe dynamic code evolution for {Java}},
	Url = {http://dx.doi.org/10.1016/j.scico.2011.06.005},
	Year = {2011},
	Bdsk-Url-1 = {http://dx.doi.org/10.1016/j.scico.2011.06.005}}

@inproceedings{Wurt12,
	Acmid = {2384587},
	Address = {New York, NY, USA},
	Author = {W\"{u}rthinger, Thomas and W\"{o}\ss, Andreas and Stadler, Lukas and Duboscq, Gilles and Simon, Doug and Wimmer, Christian},
	Booktitle = {Proceedings of the 8th Symposium on Dynamic Languages},
	Doi = {10.1145/2384577.2384587},
	Isbn = {978-1-4503-1564-7},
	Keywords = {dynamic languages, java, javascript, language implementation, optimization, virtual machine},
	Location = {Tucson, Arizona, USA},
	Numpages = {10},
	Pages = {73--82},
	Publisher = {ACM},
	Series = {DLS '12},
	Title = {Self-optimizing AST Interpreters},
	Url = {http://doi.acm.org/10.1145/2384577.2384587},
	Year = {2012},
	Bdsk-Url-1 = {http://doi.acm.org/10.1145/2384577.2384587},
	Bdsk-Url-2 = {http://dx.doi.org/10.1145/2384577.2384587}}

@inproceedings{Wurt13,
	Acmid = {2509581},
	Address = {New York, NY, USA},
	Author = {W\"{u}rthinger, Thomas and Wimmer, Christian and W\"{o}\ss, Andreas and Stadler, Lukas and Duboscq, Gilles and Humer, Christian and Richards, Gregor and Simon, Doug and Wolczko, Mario},
	Booktitle = {Proceedings of the 2013 ACM International Symposium on New Ideas, New Paradigms, and Reflections on Programming \&\#38; Software},
	Doi = {10.1145/2509578.2509581},
	Isbn = {978-1-4503-2472-4},
	Keywords = {dynamic languages, java, javascript, language implementation, optimization, virtual machine},
	Location = {Indianapolis, Indiana, USA},
	Numpages = {18},
	Pages = {187--204},
	Publisher = {ACM},
	Series = {Onward! '13},
	Title = {One VM to Rule Them All},
	Url = {http://doi.acm.org/10.1145/2509578.2509581},
	Year = {2013},
	Bdsk-Url-1 = {http://doi.acm.org/10.1145/2509578.2509581},
	Bdsk-Url-2 = {http://dx.doi.org/10.1145/2509578.2509581}}

@inproceedings{Wurt14a,
	author = {Wuerthinger, Thomas},
	title = {Graal and Truffle: Modularity and Separation of Concerns As Cornerstones for Building a Multipurpose Runtime},
	booktitle = {Proceedings of the Companion Publication of the 13th International Conference on Modularity},
	series = {MODULARITY '14},
	year = {2014},
	isbn = {978-1-4503-2773-2},
	location = {Lugano, Switzerland},
	pages = {3--4},
	numpages = {2},
	url = {http://doi.acm.org/10.1145/2584469.2584663},
	doi = {10.1145/2584469.2584663},
	acmid = {2584663},
	publisher = {ACM},
	address = {New York, NY, USA},
	keywords = {dynamic languages, language implementation, multi-language, optimization, virtual machine}}

@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 scg-none 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 scg-none 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 scg-none 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 scg-none 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 scg-none 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 scg-none 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 scg-none 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 scg-none 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 = {Roel Wuyts and Holger Kienle and Kim Mens and Mark van den Brand and Adrian Kuhn},
	Booktitle = {Object-Oriented Technology. ECOOP 2008 Workshop Reader},
	Doi = {10.1007/978-3-642-02047-6_10},
	Keywords = {wasdett-pub akuhn},
	Pages = {87--103},
	Peerrievew = {no},
	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}}

@inbook{Wyss01a,
	author={Wyss, Catharine
	and Giannella, Chris
	and Robertson, Edward},
	editors={Kambayashi, Yahiko
	and Winiwarter, Werner
	and Arikawa, Masatoshi},
	chapter={{FastFDs}: A Heuristic-Driven, Depth-First Algorithm for Mining Functional Dependencies from Relation Instances Extended Abstract},
	title={Data Warehousing and Knowledge Discovery: Third International Conference, DaWaK 2001 Munich, Germany, September 5--7, 2001 Proceedings},
	year={2001},
	publisher={Springer Berlin Heidelberg},
	address={Berlin, Heidelberg},
	pages={101--110},
	isbn={978-3-540-44801-3},
	doi={10.1007/3-540-44801-2_11},
	keywords = {schema-inference, constraint discovery},
	url={ftp://ftp.cs.indiana.edu/pub/techreports/TR551.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 scg-none 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,
	Key = {X10},
	Keywords = {damiencbib},
	Title = {Standard and Extended X10 Code Protocol},
	Url = {http://software.x10.com/pub/manuals/xtdcode.pdf},
	Year = {1993},
	Bdsk-Url-1 = {http://software.x10.com/pub/manuals/xtdcode.pdf}}

@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{Xavi17a,
	author={Laerte Xavier and Aline Brito and Andre Hora and Marco Tulio Valente},
	booktitle={2017 IEEE 24th International Conference on Software Analysis, Evolution and Reengineering (SANER)},
	title={Historical and impact analysis of {API} breaking changes: A large-scale study},
	year={2017},
	pages={138-147},
	doi={10.1109/SANER.2017.7884616},
	month=feb
}

@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{Xi19a,
  title={Migrating Deprecated API to Documented Replacement: Patterns and Tool},
  author={Xi, Yaoguo and Shen, Liwei and Gui, Yukun and Zhao, Wenyun},
  booktitle={Proceedings of the 11th Asia-Pacific Symposium on Internetware},
  pages={1--10},
  keywords =  {comment-quality-slr},
  year={2019}
}

@article{Xia17a,
  title={What do developers search for on the web?},
  author={Xia, Xin and Bao, Lingfeng and Lo, David and Kochhar, Pavneet Singh and Hassan, Ahmed E and Xing, Zhenchang},
  journal={Empirical Software Engineering},
  volume={22},
  number={6},
  pages={3149--3185},
  year={2017},
  Keywords = {dev-questions},
  publisher={Springer}
}

@article{Xia18a,
  author    = {Xin Xia and
               Lingfeng Bao and
               David Lo and
               Zhenchang Xing and
               Ahmed E. Hassan and
               Shanping Li},
  title     = {Measuring Program Comprehension: {A} Large-Scale Field Study with
               Professionals},
  journal   = {{IEEE} Trans. Software Eng.},
  volume    = {44},
  number    = {10},
  pages     = {951--976},
  year      = {2018},
  url       = {https://doi.org/10.1109/TSE.2017.2734091},
  doi       = {10.1109/TSE.2017.2734091},
  keywords =  {comment-quality-slr},
  timestamp = {Fri, 02 Nov 2018 15:39:05 +0100},
  biburl    = {https://dblp.org/rec/journals/tse/XiaBLXHL18.bib},
  bibsource = {dblp computer science bibliography, https://dblp.org}
}

@inproceedings{Xiao11a,
 author = {Xiao, Xiao and Zhou, Jinguo and Zhang, Charles},
 title = {Tracking Data Structures for Postmortem Analysis (NIER Track)},
 booktitle = {Proceedings of the 33rd International Conference on Software Engineering},
 series = {ICSE '11},
 year = {2011},
 isbn = {978-1-4503-0445-0},
 location = {Waikiki, Honolulu, HI, USA},
 pages = {896--899},
 numpages = {4},
 url = {http://doi.acm.org/10.1145/1985793.1985938},
 doi = {10.1145/1985793.1985938},
 acmid = {1985938},
 publisher = {ACM},
 address = {New York, NY, USA},
 keywords = {data structure, debugging, program analysis, tracing}
}

@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{Xie06b,
	 author = {Xie, Xinrong and Poshyvanyk, Denys and Marcus, Andrian},
	 title = {3D Visualization for Concept Location in Source Code},
	 booktitle = {Proceedings of the 28th International Conference on Software Engineering},
	 series = {ICSE '06},
	 year = {2006},
	 isbn = {1-59593-375-1},
	 location = {Shanghai, China},
	 pages = {839--842},
	 numpages = {4},
	 url = {http://doi.acm.org/10.1145/1134285.1134428},
	 doi = {10.1145/1134285.1134428},
	 acmid = {1134428},
	 publisher = {ACM},
	 address = {New York, NY, USA},
	 keywords = {concept location, information retrieval, software visualization}
	}

@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}}

@article{Xu05a,
	Acmid = {1050865},
	Address = {New York, NY, USA},
	Author = {Xu, Baowen and Qian, Ju and Zhang, Xiaofang and Wu, Zhongqiang and Chen, Lin},
	Doi = {10.1145/1050849.1050865},
	Issn = {0163-5948},
	Issue_Date = {March 2005},
	Journal = {SIGSOFT Softw. Eng. Notes},
	Keywords = {debugging, dependence analysis, pointer analysis, program analysis, program slicing},
	Month = mar,
	Number = {2},
	Numpages = {36},
	Pages = {1--36},
	Publisher = {ACM},
	Title = {A brief survey of program slicing},
	Url = {http://doi.acm.org/10.1145/1050849.1050865},
	Volume = {30},
	Year = {2005},
	Bdsk-Url-1 = {http://doi.acm.org/10.1145/1050849.1050865},
	Bdsk-Url-2 = {http://dx.doi.org/10.1145/1050849.1050865}}

@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{Xu09a,
	title = {Classifying software visualization tools using the Bloom's taxonomy of cognitive domain},
	author = {Xu, Shaochun and Chen, Xuhui and Liu, Dapeng},
	booktitle = {Electrical and Computer Engineering, 2009. CCECE'09. Canadian Conference on},
	pages = {13--18},
	year = {2009},
	organization = {IEEE}
}

@techreport{Xu09b,
    Author = {Xu, Wei and Huang, Ling and Fox, Armando and Patterson, David A. and Jordan, Michael},
    Title = {Large-Scale System Problems Detection by Mining Console Logs},
    Institution = {EECS Department, University of California, Berkeley},
    Year = {2009},
    Month = {jul},
    URL = {http://www.eecs.berkeley.edu/Pubs/TechRpts/2009/EECS-2009-103.html},
    Number = {UCB/EECS-2009-103},
    Abstract = {Surprisingly, console logs rarely help operators detect
problems in large-scale datacenter services, for they often
consist of the voluminous intermixing of messages
from many software components written by independent
developers. We propose a general methodology to mine
this rich source of information to automatically detect
system runtime problems. We first parse console logs
by combining source code analysis with information retrieval
to create composite features. We then analyze
these features using machine learning to detect operational
problems. We show that our method enables analyses
that are impossible with previous methods because of
its superior ability to create sophisticated features. We
also show how to distill the results of our analysis to
an operator-friendly one-page decision tree showing the
critical messages associated with the detected problems.
We validate our approach using the Darkstar online game
server and the Hadoop File System, where we detect numerous
real problems with high accuracy and few false
positives. In the Hadoop case, we are able to analyze 24
million lines of console logs in 3 minutes. Our methodology
works on textual console logs of any size and requires
no changes to the service software, no human input,
and no knowledge of the software's internals.}}

@inproceedings{Xu12a,
	Acmid = {2384690},
	Address = {New York, NY, USA},
	Author = {Xu, Guoqing},
	Booktitle = {Proceedings of the ACM International Conference on Object Oriented Programming Systems Languages and Applications},
	Doi = {10.1145/2384616.2384690},
	Isbn = {978-1-4503-1561-6},
	Keywords = {data structure encoding, memory management, object reuse, performance optimization},
	Location = {Tucson, Arizona, USA},
	Numpages = {18},
	Pages = {1017--1034},
	Publisher = {ACM},
	Series = {OOPSLA '12},
	Title = {Finding Reusable Data Structures},
	Url = {http://doi.acm.org/10.1145/2384616.2384690},
	Year = {2012},
	Bdsk-Url-1 = {http://doi.acm.org/10.1145/2384616.2384690},
	Bdsk-Url-2 = {http://dx.doi.org/10.1145/2384616.2384690}}

@inproceedings{Xu12b,
	Acmid = {2367207},
	Address = {Berlin, Heidelberg},
	Author = {Xu, Guoqing and Yan, Dacong and Rountev, Atanas},
	Booktitle = {Proceedings of the 26th European Conference on Object-Oriented Programming},
	Doi = {10.1007/978-3-642-31057-7_32},
	Isbn = {978-3-642-31056-0},
	Location = {Beijing, China},
	Numpages = {26},
	Pages = {738--763},
	Publisher = {Springer-Verlag},
	Series = {ECOOP'12},
	Title = {Static Detection of Loop-invariant Data Structures},
	Url = {http://dx.doi.org/10.1007/978-3-642-31057-7_32},
	Year = {2012},
	Bdsk-Url-1 = {http://dx.doi.org/10.1007/978-3-642-31057-7_32}}

@inproceedings{Xu13a,
	Acmid = {2524986},
	Address = {Berlin, Heidelberg},
	Author = {Xu, Guoqing},
	Booktitle = {Proceedings of the 27th European Conference on Object-Oriented Programming},
	Doi = {10.1007/978-3-642-39038-8_1},
	Isbn = {978-3-642-39037-1},
	Location = {Montpellier, France},
	Numpages = {26},
	Pages = {1--26},
	Publisher = {Springer-Verlag},
	Series = {ECOOP'13},
	Title = {CoCo: Sound and Adaptive Replacement of Java Collections},
	Url = {http://dx.doi.org/10.1007/978-3-642-39038-8_1},
	Year = {2013},
	Bdsk-Url-1 = {http://dx.doi.org/10.1007/978-3-642-39038-8_1}}

@inproceedings{Xu13b,
 author = {Xu, Guoqing},
 title = {Resurrector: A Tunable Object Lifetime Profiling Technique for Optimizing Real-world Programs},
 booktitle = {Proceedings of the 2013 ACM SIGPLAN International Conference on Object Oriented Programming Systems Languages \&\#38; Applications},
 series = {OOPSLA '13},
 year = {2013},
 isbn = {978-1-4503-2374-1},
 location = {Indianapolis, Indiana, USA},
 pages = {111--130},
 numpages = {20},
 url = {http://doi.acm.org/10.1145/2509136.2509512},
 doi = {10.1145/2509136.2509512},
 acmid = {2509512},
 publisher = {ACM},
 address = {New York, NY, USA},
 keywords = {memory management, object lifetime information, performance optimization}
}

@inproceedings{Xu16a,
 author = {Xu, Zhaogui and Zhang, Xiangyu and Chen, Lin and Pei, Kexin and Xu, Baowen},
 title = {Python Probabilistic Type Inference with Natural Language Support},
 booktitle = {Proceedings of the 2016 24th ACM SIGSOFT International Symposium on Foundations of Software Engineering},
 series = {FSE 2016},
 year = {2016},
 isbn = {978-1-4503-4218-6},
 location = {Seattle, WA, USA},
 pages = {607--618},
 numpages = {12},
 url = {http://doi.acm.org/10.1145/2950290.2950343},
 doi = {10.1145/2950290.2950343},
 acmid = {2950343},
 publisher = {ACM},
 address = {New York, NY, USA},
 keywords = {Dynamic Languages, Probabilistic Inference, Python, Type Inference}
}

@misc{YAML,
	Key = {YAML 1.2},
	Note = {http://www.yaml.org/spec/1.2/spec.html},
	Title = {{YAML 1.2 Specification}}}

@inproceedings{Yagh00a,
	Acmid = {1267726},
	Address = {Berkeley, CA, USA},
	Author = {Yaghmour, Karim and Dagenais, Michel R.},
	Booktitle = {Proceedings of the annual conference on USENIX Annual Technical Conference},
	Location = {San Diego, California},
	Numpages = {1},
	Pages = {2--2},
	Publisher = {USENIX Association},
	Series = {ATEC '00},
	Title = {Measuring and characterizing system behavior using kernel-level event logging},
	Url = {http://www.usenix.org/event/usenix2000/general/full_papers/yaghmour/yaghmour.pdf},
	Year = {2000},
	Bdsk-Url-1 = {http://www.usenix.org/event/usenix2000/general/full_papers/yaghmour/yaghmour.pdf}}

@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{Yama12a,
	author={Yamashita, Aiko and Moonen, Leon},
	booktitle={Software Maintenance (ICSM), 2012 28th IEEE International Conference on},
	title={Do code smells reflect important maintainability aspects?},
	year={2012},
	month=sep,
	pages={306-315},
	keywords={Java;expert systems;software maintenance;Java systems;code maintainability;code smells;design flaws;expert-based maintainability assessments;Encoding;Interviews;Java;Maintenance engineering;Measurement;Software maintenance;code smells;maintainability evaluation},
	doi={10.1109/ICSM.2012.6405287},
	ISSN={1063-6773}
}

@article{Yama13a,
abstract = {Code smells are a well-known metaphor to describe symptoms of code decay or other issues with code quality which can lead to a variety of maintenance problems. Even though code smell detection and removal has been well-researched over the last decade, it remains open to debate whether or not code smells should be considered meaningful conceptualizations of code quality issues from the developer's perspective. To some extend, this question applies as well to the results provided by current code smell detection tools. Are code smells really important for developers? If they are not, is this due to the lack of relevance of the underlying concepts, due to the lack of awareness about code smells on the developers' side, or due to the lack of appropriate tools for code smell analysis or removal? In order to align and direct research efforts to address actual needs and problems of professional developers, we need to better understand the knowledge about, and interest in code smells, together with their perceived criticality. This paper reports on the results obtained from an exploratory survey involving 85 professional software developers.},
author = {Yamashita, Aiko and Moonen, Leon},
doi = {10.1109/WCRE.2013.6671299},
isbn = {9781479929313},
issn = {10951350},
journal = {WCRE'13},
keywords = {code analysis tools,code smell detection,code smells,maintainability,refactoring,survey,usability},
pages = {242--251},
title = {Do developers care about code smells? An exploratory survey},
year = {2013}
}

@inproceedings{Yamau98a,
	Address = {Minneapolis, MN, USA},
	Author = {Yamauchi, Brian},
	Booktitle = {AGENTS'98: Proceedings of the 2nd International Conference on Autonomous agents},
	Doi = {10.1145/280765.280773},
	Keywords = {exploration, map-building, mobile robots, multi-agent coordination, multi-robot teams damiencbib},
	Pages = {47--53},
	Publisher = {ACM},
	Title = {Frontier-based exploration using multiple robots},
	Year = {1998},
	Bdsk-Url-1 = {http://dx.doi.org/10.1145/280765.280773}}

@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}}

@article{Yan18a,
  title={A retrospective of knowledge graphs},
  author={Yan, Jihong and Wang, Chengyu and Cheng, Wenliang and Gao, Ming and Zhou, Aoying},
  journal={Frontiers of Computer Science},
  volume={12},
  number={1},
  pages={55--74},
  year={2018},
  publisher={Springer},
  url={https://link.springer.com/content/pdf/10.1007/s11704-016-5228-9.pdf},
  doi={10.1007/s11704-016-5228-9},
  keywords = {knowledge-graphs}
}

@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}}

@inproceedings{Yang06a,
	Acmid = {1134325},
	Address = {New York, NY, USA},
	Author = {Yang, Jinlin and Evans, David and Bhardwaj, Deepali and Bhat, Thirumalesh and Das, Manuvir},
	Booktitle = {Proceedings of the 28th International Conference on Software Engineering},
	Doi = {10.1145/1134285.1134325},
	Isbn = {1-59593-375-1},
	Keywords = {dynamic analysis, specification inference, temporal properties},
	Location = {Shanghai, China},
	Numpages = {10},
	Pages = {282--291},
	Publisher = {ACM},
	Series = {ICSE '06},
	Title = {Perracotta: Mining Temporal {API} Rules from Imperfect Traces},
	Url = {http://doi.acm.org/10.1145/1134285.1134325},
	Year = {2006},
	Bdsk-Url-1 = {http://doi.acm.org/10.1145/1134285.1134325},
	Bdsk-Url-2 = {http://dx.doi.org/10.1145/1134285.1134325}}

@article{Yang07a,
	author={Z. Yang and M. Jiang},
	journal={IEEE Software},
	title={Using Eclipse as a Tool-Integration Platform for Software Development},
	year={2007},
	volume={24},
	number={2},
	pages={87-89},
	abstract={Eclipse is an open source software project dedicated to providing a robust, full-featured, and commercial-quality platform for developing and supporting highly integrated software engineering tools. Excepting the small Eclipse runtime kernel, all the platform components are plug-in tools integrated seamlessly through predefined extension points. The platform supports deliverables throughout the development and maintenance life cycle},
	doi={10.1109/MS.2007.58},
	ISSN={0740-7459},
	month= mar}

@article{Yang09a,
	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.},
	Author = {Yang, Qian and Li, J. Jenny and Weiss, David M.},
	Doi = {10.1093/comjnl/bxm021},
	Eprint = {http://comjnl.oxfordjournals.org/content/52/5/589.full.pdf+html},
	Journal = {The Computer Journal},
	Number = {5},
	Pages = {589-597},
	Title = {{A Survey of Coverage-Based Testing Tools}},
	Url = {http://comjnl.oxfordjournals.org/content/52/5/589.abstract},
	Volume = {52},
	Year = {2009},
	Bdsk-Url-1 = {http://comjnl.oxfordjournals.org/content/52/5/589.abstract},
	Bdsk-Url-2 = {http://dx.doi.org/10.1093/comjnl/bxm021}}

@inproceedings{Yang10a,
 author = {Yang, Wuu},
 title = {A Fast General Parser for Automatic Code Generation},
 booktitle = {Proceedings of the Second Russia-Taiwan Conference on Methods and Tools of Parallel Programming Multicomputers},
 series = {MTPP'10},
 year = {2010},
 isbn = {3-642-14821-2, 978-3-642-14821-7},
 location = {Vladivostok, Russia},
 pages = {30--39},
 numpages = {10},
 url = {http://dl.acm.org/citation.cfm?id=1927517.1927523},
 acmid = {1927523},
 publisher = {Springer-Verlag},
 address = {Berlin, Heidelberg},
 keywords = {ambiguous grammar, code generator, compiler, context-free grammar, general parsing, parsing, pattern matching, tree pattern, tree pattern matching}}

@article{Yang16a,
author={Yang, Xin-Li and Lo, David and Xia, Xin and Wan, Zhi-Yuan and Sun, Jian-Ling},
title={What Security Questions Do Developers Ask? {A} Large-Scale Study of {Stack Overflow} Posts},
journal={Journal of Computer Science and Technology},
year={2016},
volume={31},
number={5},
pages={910--924},
Keywords = {dev-questions},
abstract={Security has always been a popular and critical topic. With the rapid development of information technology, it is always attracting people's attention. However, since security has a long history, it covers a wide range of topics which change a lot, from classic cryptography to recently popular mobile security. There is a need to investigate security-related topics and trends, which can be a guide for security researchers, security educators and security practitioners. To address the above-mentioned need, in this paper, we conduct a large-scale study on security-related questions on Stack Overflow. Stack Overflow is a popular on-line question and answer site for software developers to communicate, collaborate, and share information with one another. There are many different topics among the numerous questions posted on Stack Overflow and security-related questions occupy a large proportion and have an important and significant position. We first use two heuristics to extract from the dataset the questions that are related to security based on the tags of the posts. And then we use an advanced topic model, Latent Dirichlet Allocation (LDA) tuned using Genetic Algorithm (GA), to cluster different security-related questions based on their texts. After obtaining the different topics of security-related questions, we use their metadata to make various analyses. We summarize all the topics into five main categories, and investigate the popularity and difficulty of different topics as well. Based on the results of our study, we conclude several implications for researchers, educators and practitioners.},
issn={1860-4749},
doi={10.1007/s11390-016-1672-0},
url={https://doi.org/10.1007/s11390-016-1672-0}}

@inproceedings{Yang17a,
  title={Stack overflow in github: any snippets there?},
  author={Yang, Di and Martins, Pedro and Saini, Vaibhav and Lopes, Cristina},
  booktitle={2017 IEEE/ACM 14th International Conference on Mining Software Repositories (MSR)},
  pages={280--290},
  year={2017},
  organization={IEEE}
}

@inproceedings{Yang19a,
 author = {Yang, Bai and Liping, Zhang and Fengrong, Zhao},
 title = {A Survey on Research of Code Comment},
 booktitle = {Proceedings of the 2019 3rd International Conference on Management Engineering, Software Engineering and Service Sciences},
 series = {ICMSS 2019},
 year = {2019},
 isbn = {978-1-4503-6189-7},
 location = {Wuhan, China},
 pages = {45--51},
 numpages = {7},
 url = {http://doi.acm.org/10.1145/3312662.3312710},
 doi = {10.1145/3312662.3312710},
 acmid = {3312710},
 publisher = {ACM},
 address = {New York, NY, USA},
 keywords = {comment-analysis, Automatic generation of code comments, Code Comment, Code comment classification, Consistency changes, Quality evaluation, Software maintenance}
}

@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{Yasu05,
	 author = {Saito, Yasushi},
	 title = {Jockey: A User-space Library for Record-replay Debugging},
	 booktitle = {Proceedings of the Sixth International Symposium on Automated Analysis-driven Debugging},
	 series = {AADEBUG'05},
	 year = {2005},
	 isbn = {1-59593-050-7},
	 location = {Monterey, California, USA},
	 pages = {69--76},
	 numpages = {8},
	 url = {http://doi.acm.org/10.1145/1085130.1085139},
	 doi = {10.1145/1085130.1085139},
	 acmid = {1085139},
	 publisher = {ACM},
	 address = {New York, NY, USA},
	 keywords = {Linux, checkpointing, debugging, execution record and replay, jockey, keywords, x86}
}

@inproceedings{Yate10a,
	title = {Studying onboarding to improve program comprehension tool support},
	author = {Yates, Rebecca},
	booktitle = {Visual Languages and Human-Centric Computing (VL/HCC), 2010 IEEE Symposium on},
	pages = {257--258},
	year = {2010},
	organization = {IEEE}}

@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}}

@inproceedings{Yazd11a,
	Acmid = {2119713},
	Address = {Washington, DC, USA},
	Author = {Yazdanshenas, Amir Reza and Moonen, Leon},
	Booktitle = {Proceedings of the 2011 27th IEEE International Conference on Software Maintenance},
	Doi = {10.1109/ICSM.2011.6080786},
	Isbn = {978-1-4577-0663-9},
	Numpages = {10},
	Pages = {193--202},
	Publisher = {IEEE Computer Society},
	Series = {ICSM '11},
	Title = {Crossing the boundaries while analyzing heterogeneous component-based software systems},
	Url = {http://dx.doi.org/10.1109/ICSM.2011.6080786},
	Year = {2011},
	Bdsk-Url-1 = {http://dx.doi.org/10.1109/ICSM.2011.6080786}}

@inproceedings{Yazd12a,
	Abstract = {Component-based software engineering is aimed at managing the complexity of large-scale software
				development by composing systems from reusable parts. In order to understand or validate the behavior
				of a given system, one needs to acquire understanding of the components involved in combination
				with understanding how these components are instantiated, initialized and interconnected in the
				particular system. In practice, this task is often hindered by the heterogeneous nature of source
				and configuration artifacts and there is little to no tool support to help software engineers with
				such a system-wide analysis. This paper contributes a method to track and visualize information flow
				in a component-based system at various levels of abstraction. We propose a hierarchy of 5 interconnected
				views to support the comprehension needs of both safety domain experts and developers from our industrial
				partner. We discuss the implementation of our approach in a prototype tool, and present an initial qualitative
				evaluation of the effectiveness and usability of the proposed views for software development and software
				certification. The prototype was already found to be very useful and a number of directions for further
				improvement were suggested. We conclude by discussing these improvements and lessons learned.},
	Author = {Yazdanshenas, A.R. and Moonen, L.},
	Booktitle = {Program Comprehension (ICPC), 2012 IEEE 20th International Conference on},
	Doi = {10.1109/ICPC.2012.6240482},
	Issn = {1092-8138},
	Keywords = {component-based software engineering;component-based systems;configuration artifacts;information flow tracking;information flow visualization;large-scale software development;software certification;source artifacts;system-wide analysis;certification;data visualisation;object-oriented programming;software engineering;},
	Month = jun,
	Pages = {143 -152},
	Title = {Tracking and visualizing information flow in component-based systems},
	Year = {2012},
	Bdsk-Url-1 = {http://dx.doi.org/10.1109/ICPC.2012.6240482}}

@inproceedings{Yazd12b,
	Abstract = {Developing software product-lines based on a set of shared components is a proven tactic to enhance
				reuse, quality, and time to market in producing a portfolio of products. Large-scale product families
				face rapidly increasingly maintenance challenges as their evolution can happen both as a result of
				collective domain engineering activities, and as a result of product-specific developments. To make
				informed decisions about prospective modifications, developers need to estimate what other sections
				of the system will be affected and need attention, which is known as change impact analysis.
				This paper contributes a method to carry out change impact analysis in a component-based product
				family, based on systemwide information flow analysis. We use static program slicing as the underlying
				analysis technique, and use model-driven engineering (MDE) techniques to propagate the ripple effects
				from a source code modification into all members of the product family. In addition, our approach ranks
				results based on an approximation of the scale of their impact. We have implemented our approach in a
				prototype tool, called Richter, which was evaluated on a real-world product family.},
	Author = {Yazdanshenas, Amir Reza and Moonen, Leon},
	Booktitle = {International Conference on Software Maintenance (ICSM)},
	Keywords = {component-based software development, software product-lines, change impact analysis, information flow},
	Month = sep,
	Publisher = {IEEE},
	Title = {Fine-Grained Change Impact Analysis for Component-Based Product Families},
	Year = {2012}}

@inproceedings{Yazd12c,
	Author = {Yazdanshenas, A.R. and Moonen, L.},
	Booktitle = {Program Comprehension (ICPC), 2012 IEEE 20th International Conference on},
	Doi = {10.1109/ICPC.2012.6240482},
	Issn = {1092-8138},
	Month = jun,
	Pages = {143-152},
	Title = {Tracking and visualizing information flow in component-based systems},
	Year = {2012},
	Bdsk-Url-1 = {http://dx.doi.org/10.1109/ICPC.2012.6240482}}

@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},
	Bdsk-Url-1 = {http://www.webcitation.org/5wLbsQ4ft}}

@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}}

@inproceedings{Yerm09a,
	Acmid = {1640147},
	Address = {New York, NY, USA},
	Author = {Yermolovich, Alexander and Wimmer, Christian and Franz, Michael},
	Booktitle = {Proceedings of the 5th symposium on Dynamic languages},
	Doi = {10.1145/1640134.1640147},
	Isbn = {978-1-60558-769-1},
	Keywords = {actionscript, dynamic languages, hierarchical virtual machines, lua, trace compilation},
	Location = {Orlando, Florida, USA},
	Numpages = {10},
	Pages = {79--88},
	Publisher = {ACM},
	Series = {DLS '09},
	Title = {Optimization of dynamic languages using hierarchical layering of virtual machines},
	Year = {2009},
	Bdsk-Url-1 = {http://dx.doi.org/10.1145/1640134.1640147}}

@inproceedings{Yin11a,
        Address = {Snowbird, Utah},
        Author = {Yin, Zuoning and Ma, Xiao and Zheng, Jing and Zhou, Yuanyuan and Bairavasundaram, Lakshmi N. and Pasupathy, Shankar},
        Booktitle = {Proceedings of the 23rd ACM Symposium on Operating Systems Principles},
        Series = {SOSP '11},
        Keywords = {characteristic study, misconfigurations},
        Pages = {159--172},
        Title = {An Empirical Study on Configuration Errors in Commercial and Open Source Systems},
        Isbn = {978-1-4503-0977-6},
        Location = {Cascais, Portugal},
        Url = {http://doi.acm.org/10.1145/2043556.2043572},
        Doi = {10.1145/2043556.2043572},
        Acmid = {2043572},
        Publisher = {ACM},
        Year = {2011}}

@inproceedings{Yin12a,
	Acmid = {2162057},
	Address = {New York, NY, USA},
	Author = {Yin, Haihan and Bockisch, Christoph and Aksit, Mehmet},
	Booktitle = {Proceedings of the 11th annual international conference on Aspect-oriented Software Development},
	Doi = {2162049.2162057},
	Isbn = {978-1-4503-1092-5},
	Keywords = {AOP, advanced dispatching, debugger, fine-grained intermediate representation, visualization},
	Location = {Potsdam, Germany},
	Numpages = {12},
	Pages = {59--70},
	Publisher = {ACM},
	Series = {AOSD '12},
	Title = {A fine-grained debugger for aspect-oriented programming},
	Url = {http://doi.acm.org/10.1145/2162049.2162057},
	Year = {2012},
	Bdsk-Url-1 = {http://doi.acm.org/10.1145/2162049.2162057},
	Bdsk-Url-2 = {http://dx.doi.org/2162049.2162057}}

@article{Yin17a,
  title={A syntactic neural model for general-purpose code generation},
  author={Yin, Pengcheng and Neubig, Graham},
  journal={arXiv preprint arXiv:1704.01696},
  year={2017}}

@article{Ying04a,
	Abstract = {Software developers are often faced with modification tasks that involve
			source which is spread across a code base. Some dependencies between source
			code, such as those between source code written in different languages, are
			difficult to determine using existing static and dynamic analyses. To augment
			existing analyses and to help developers identify relevant source code during a
			modification task, we have developed an approach that applies data mining techniques
			to determine change patterns - sets of files that were changed together frequently
			in the past - from the change history of the code base. Our hypothesis is that the
			change patterns can be used to recommend potentially relevant source code to a developer
			performing a modification task. We show that this approach can reveal valuable
			dependencies by applying the approach to the Eclipse and Mozilla open source projects
			and by evaluating the predictability and interestingness of the recommendations produced
			for actual modification tasks on these systems.},
	Author = {Ying, A.T.T. and Murphy, G.C. and Ng, R. and Chu-Carroll, M.C.},
	Doi = {10.1109/TSE.2004.52},
	Issn = {0098-5589},
	Journal = {Software Engineering, IEEE Transactions on},
	Keywords = {Eclipse open source project; Mozilla open source project; association rules; change history; code base; data mining technique; modification task; pattern classification; pattern clustering; software developers; software maintainability; source code changes prediction; configuration management; data mining; program verification; software maintenance; software tools;},
	Month = sep,
	Number = {9},
	Pages = {574 - 586},
	Title = {Predicting source code changes by mining change history},
	Volume = {30},
	Year = {2004},
	Bdsk-Url-1 = {http://dx.doi.org/10.1109/TSE.2004.52}}

@article{Ying05a,
 author = {Ying, Annie T. T. and Wright, James L. and Abrams, Steven},
 title = {Source Code That Talks: An Exploration of {Eclipse} Task Comments and {Their Implication} to Repository Mining},
 journal = {SIGSOFT Softw. Eng. Notes},
 issue_date = {July 2005},
 volume = {30},
 number = {4},
 month = may,
 year = {2005},
 issn = {0163-5948},
 pages = {1--5},
 numpages = {5},
 url = {http://doi.acm.org/10.1145/1082983.1083152},
 doi = {10.1145/1082983.1083152},
 acmid = {1083152},
 publisher = {ACM},
 address = {New York, NY, USA}
}

@inproceedings{Ying14a,
  title={Selection and presentation practices for code example summarization},
  author={Ying, Annie TT and Robillard, Martin P},
  booktitle={Proceedings of the 22nd ACM SIGSOFT International Symposium on Foundations of Software Engineering},
  pages={460--471},
  year={2014}
}

@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{Yoko07a,
	Abstract = {A reversible programming language supports deterministic forward and backward computation. We formalize the programming language Janus and prove its reversibility. We provide a program inverter for the language and implement a self-interpreter that achieves deterministic forward and backward interpretation of Janus programs without using a computation history. As the self-interpreter is implemented in a reversible language, it is invertible using local program inversion. Many physical phenomena are reversible and we demonstrate the power of Janus by implementing a reversible program for discrete simulation of the Schr\&ouml;dinger wave equation that can be inverted as well as run forward and backward.},
	Address = {New York, NY, USA},
	Author = {Yokoyama, Tetsuo and Gl\"{u}ck, Robert},
	Booktitle = {PEPM '07: Proceedings of the 2007 ACM SIGPLAN symposium on Partial evaluation and semantics-based program manipulation},
	Date-Added = {2011-11-28 10:38:22 +0100},
	Date-Modified = {2011-11-28 10:39:21 +0100},
	Doi = {10.1145/1244381.1244404},
	Isbn = {978-1-59593-620-2},
	Keywords = {transformation; bx; programming-language;},
	Location = {Nice, France},
	Pages = {144--153},
	Posted-At = {2010-01-13 17:34:43},
	Priority = {2},
	Publisher = {ACM},
	Rating = {4},
	Title = {A reversible programming language and its invertible self-interpreter},
	Url = {10.1145/1244381.1244404},
	Year = {2007},
	Bdsk-Url-1 = {10.1145/1244381.1244404},
	Bdsk-Url-2 = {http://dx.doi.org/10.1145/1244381.1244404}}

@inproceedings{Yoko08a,
	Acmid = {1366239},
	Address = {New York, NY, USA},
	Author = {Yokoyama, Tetsuo and Axelsen, Holger Bock and Gl\"{u}ck, Robert},
	Booktitle = {Proceedings of the 5th conference on Computing frontiers},
	Date-Added = {2011-11-28 10:37:50 +0100},
	Date-Modified = {2011-11-28 10:39:20 +0100},
	Doi = {10.1145/1366230.1366239},
	Isbn = {978-1-60558-077-7},
	Keywords = {transformation; bx; programming-language},
	Location = {Ischia, Italy},
	Numpages = {12},
	Pages = {43--54},
	Publisher = {ACM},
	Rating = {4},
	Series = {CF '08},
	Title = {Principles of a reversible programming language},
	Url = {10.1145/1366230.1366239},
	Year = {2008},
	Bdsk-Url-1 = {10.1145/1366230.1366239},
	Bdsk-Url-2 = {http://dx.doi.org/10.1145/1366230.1366239}}

@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}}

@article{Yoo07a,
	Author = {S. Yoo and M. Harman},
	Doi = {10.1002/000},
	Journal = {Software Testing, Verification and Reliability},
	Month = jun,
	Publisher = {Wiley},
	Title = {Regression Testing Minimisation, Selection and Prioritisation : A Survey},
	Year = {2010},
	Bdsk-Url-1 = {http://dx.doi.org/10.1002/000}}

@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}}

@inproceedings{Yosh12a,
	title = {Visualizing code clone outbreak: An industrial case study},
	author = {Yoshimura, Kentaro and Mibe, Ryota},
	booktitle = {Software Clones (IWSC), 2012 6th International Workshop on},
	pages = {96--97},
	year = {2012},
	organization = {IEEE}}

@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}}

@article{Youn67a,
title = {Recognition and parsing of context-free languages in time $n^3$},
journal = {Information and Control},
volume = {10},
number = {2},
pages = {189 - 208},
year = {1967},
issn = {0019-9958},
doi = {10.1016/S0019-9958(67)80007-X},
url = {http://www.sciencedirect.com/science/article/pii/S001999586780007X},
author = {Daniel H. Younger},
abstract = {A recognition algorithm is exhibited whereby an arbitrary string over a given vocabulary can be tested for containment in a given context-free language. A special merit of this algorithm is that it is completed in a number of steps proportional to the 'cube' of the number of symbols in the tested string. As a byproduct of the grammatical analysis, required by the recognition algorithm, one can obtain, by some additional processing not exceeding the 'cube' factor of computational complexity, a parsing matrix-a complete summary of the grammatical structure of the sentence. It is also shown how, by means of a minor modification of the recognition algorithm, one can obtain an integer representing the ambiguity of the sentence, i.e., the number of distinct ways in which that sentence can be generated by the grammar. The recognition algorithm is then simulated on a Turing Machine. It is shown that this simulation likewise requires a number of steps proportional to only the 'cube' of the test string length.}
}

@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}}

@article{Youn17a,
  title={Recent trends in deep learning based natural language processing},
  author={Young, Tom and Hazarika, Devamanyu and Poria, Soujanya and Cambria, Erik},
  journal={arXiv preprint arXiv:1708.02709},
  year={2017}
}

@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{Yozg14a,
  title={A proposal for a requirements elicitation tool to increase stakeholder involvement},
  author={Yozgyur, Kadir},
  booktitle={Software Engineering and Service Science (ICSESS), 2014 5th IEEE International Conference on},
  pages={145--148},
  year={2014},
  organization={IEEE}
}

@techreport{Ytre18a,
	Title = {Smelly {APIs} in {Android} {ICC} Analysis of source code and relevant metadata},
	Author = {Astrid Ytrehorn},
	Abstract = {The Android ecosystem allows development of apps with relative ease
		through the extensive Android API. When developing the apps,
		security issues are often overlooked by the developers. This thesis
		is based on a previous work which identified 12 such Inter
		Component Communication (ICC) security smells that can lead to
		numerous security breaches in the system. A static code analysis
		tool based on Android Lint was developed to identify them. To
		further understand why some of these smells are so prominent, this
		thesis evaluated their appearances based on several aspects. First
		the influence of developers in the projects was examined. The
		association of developers to different apps was cross-referenced
		with the occurrence of smells per project and we found that for
		most smells the developers have a tendency to make the mistake over
		more than one project. We also examined how updates affect smells.
		The updates rarely brought a change in smells and if they did they
		tended to have a negative impact. We performed a manual analysis of
		100 apps with the most smells. The lint-based tool was found to
		have a good and correct detection rate. In the next study we
		examined if the smells that went unreported by the tool were
		correctly labeled as such and the reason for not them not being
		detected. In most cases this was due to the relevant Android API
		not being used. Finally, we did a study on the location of smells
		in the code base. We expanded the existing linting tool to include
		more metadata and analyzed all the apps once more. The different
		smell categories tended to have a varying degree of displacement of
		individual smells in the code base. The average number of distinct
		locations grew in the order of Java package, containing class and
		surrounding method for most of the smells. This thesis aims to help
		spread awareness abut ICC security smells and thereby fundamentally
		reduce the attack surface in Android.},
	Institution = {University of Bern},
	Keywords = {scg-bp snf-asa2 scg18 jb19},
	Type = {Bachelor's thesis},
	Url = {http://scg.unibe.ch/archive/projects/Ytre18a.pdf},
	Month = sep,
	Year = {2018}
}

@inbook{Yu97a,
	author={Yu, Sheng},
	chapter={Regular Languages},
	title={Handbook of Formal Languages: Volume 1 Word, Language, Grammar},
	year={1997},
	publisher={Springer Berlin Heidelberg},
	address={Berlin, Heidelberg},
	pages={41--110},
	isbn={978-3-642-59136-5},
	doi={10.1007/978-3-642-59136-5_2},
	url={http://dx.doi.org/10.1007/978-3-642-59136-5_2}
}

@inproceedings{Yu01a,
	Acmid = {881279},
	Address = {Washington, DC, USA},
	Author = {Zhifeng Yu, V\'aclav Rajlich},
	Booktitle = {Proceedings of the 9th International Workshop on Program Comprehension},
	Doi = {10.1109/WPC.2001.921739},
	Pages = {293--299},
	Publisher = {IEEE Computer Society},
	Title = {Hidden Dependencies in Program Comprehension and Change Propagation},
	Url = {http://portal.acm.org/citation.cfm?id=876902.881279},
	Year = {2001},
	Bdsk-Url-1 = {http://portal.acm.org/citation.cfm?id=876902.881279},
	Bdsk-Url-2 = {http://dx.doi.org/10.1109/WPC.2001.921739}}

@inproceedings{Yu01b,
author={Y. Yu and K. Beyls and E. H. D'Hollander},
booktitle={Proceedings Fifth International Conference on Information Visualisation},
title={Visualizing the impact of the cache on program execution},
year={2001},
pages={336-341},
doi={10.1109/IV.2001.942079},
month=jul
}

@incollection{Yu05a,
	Affiliation = {Department of Computer Science and Engineering},
	Author = {Yu, Jia and Yang, Jun and Chen, Shaojie and Luo, Yan and Bhuyan, Laxmi},
	Booktitle = {High Performance Embedded Architectures and Compilers},
	Editor = {Conte, Tom and Navarro, Nacho and Hwu, Wen-mei and Valero, Mateo and Ungerer, Theo},
	Pages = {68-83},
	Publisher = {Springer Berlin / Heidelberg},
	Series = {Lecture Notes in Computer Science},
	Title = {Enhancing Network Processor Simulation Speed with Statistical Input Sampling},
	Url = {http://dx.doi.org/10.1007/11587514_6},
	Volume = {3793},
	Year = {2005},
	Bdsk-Url-1 = {http://dx.doi.org/10.1007/11587514_6}}

@article{Yu16a,
  title={Source code comments quality assessment method based on aggregation of classification algorithms},
  author={Yu, Hai and Li, Bin and Wang, Peixia and Jia, Di and Wang, Yongji},
  journal={J. Comput. Appl.},
  volume={36},
  number={12},
  pages={3448--3453},
  year={2016}
}

@article{Yu19a,
  title={Characterizing the Usage, Evolution and Impact of Java Annotations in Practice},
  author={Yu, Zhongxing and Bai, Chenggang and Seinturier, Lionel and Monperrus, Martin},
  journal={IEEE Transactions on Software Engineering},
  year={2019},
  publisher={IEEE}
}

@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/}}

@article{Yuan10a,
 author = {Yuan, Ding and Mai, Haohui and Xiong, Weiwei and Tan, Lin and Zhou, Yuanyuan and Pasupathy, Shankar},
 title = {SherLog: Error Diagnosis by Connecting Clues from Run-time Logs},
 journal = {SIGARCH Comput. Archit. News},
 issue_date = {March 2010},
 volume = {38},
 number = {1},
 month = mar,
 year = {2010},
 issn = {0163-5964},
 pages = {143--154},
 numpages = {12},
 url = {http://doi.acm.org/10.1145/1735970.1736038},
 doi = {10.1145/1735970.1736038},
 acmid = {1736038},
 publisher = {ACM},
 address = {New York, NY, USA},
 keywords = {failure diagnostics, log, static analysis}
}

@article{Yuan11a,
 author = {Yuan, Ding and Zheng, Jing and Park, Soyeon and Zhou, Yuanyuan and Savage, Stefan},
 title = {Improving Software Diagnosability via Log Enhancement},
 journal = {SIGPLAN Not.},
 issue_date = {March 2011},
 volume = {46},
 number = {3},
 month = mar,
 year = {2011},
 issn = {0362-1340},
 pages = {3--14},
 numpages = {12},
 url = {http://doi.acm.org/10.1145/1961296.1950369},
 doi = {10.1145/1961296.1950369},
 acmid = {1950369},
 publisher = {ACM},
 address = {New York, NY, USA},
 keywords = {log, software diagnosability, static analysis}}

@inproceedings{Yuso16a,
 author = {Yusop, Nor Shahida Mohamad and Grundy, John and Vasa, Rajesh},
 title = {Reporting Usability Defects: Do Reporters Report What Software Developers Need?},
 booktitle = {Proceedings of the 20th International Conference on Evaluation and Assessment in Software Engineering},
 series = {EASE '16},
 year = {2016},
 isbn = {978-1-4503-3691-8},
 location = {Limerick, Ireland},
 pages = {38:1--38:10},
 articleno = {38},
 numpages = {10},
 url = {http://doi.acm.org/10.1145/2915970.2915995},
 doi = {10.1145/2915970.2915995},
 acmid = {2915995},
 publisher = {ACM},
 address = {New York, NY, USA},
 keywords = {defect repository, software quality, usability defect reporting, dev-questions}
}

@misc{ZOPE,
	Key = {ZOPE},
	Note = {http://www.zope.org},
	Title = {{Zope}}}

@inproceedings{Zaga16a,
 author = {Zagalsky, Alexey and Teshima, Carlos G\'{o}mez and German, Daniel M. and Storey, Margaret-Anne and Poo-Caama\~{n}o, Germ\'{a}n},
 title = {How the {R} Community Creates and Curates Knowledge: A Comparative Study of {Stack Overflow} and Mailing Lists},
 booktitle = {Proceedings of the 13th International Conference on Mining Software Repositories},
 series = {MSR '16},
 year = {2016},
 isbn = {978-1-4503-4186-8},
 location = {Austin, Texas},
 pages = {441--451},
 numpages = {11},
 url = {http://doi.acm.org/10.1145/2901739.2901772},
 doi = {10.1145/2901739.2901772},
 acmid = {2901772},
 publisher = {ACM},
 keywords = {case study, dev-questions},
 address = {New York, NY, USA}}

@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 scg-none 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/pcoda2006proceedings.pdf},
	Year = {2006},
	Bdsk-Url-1 = {http://www.lore.ua.ac.be/Events/PCODA2006/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,
	Address = {Los Alamitos, CA, USA},
	Author = {Andy Zaidman},
	Doi = {10.1109/CSMR.2006.46},
	Issn = {1052-8725},
	Journal = {Software Maintenance and Reengineering, European Conference on},
	Pages = {327--330},
	Publisher = {IEEE Computer Society},
	Title = {Scalability Solutions for Program Comprehension through Dynamic Analysis},
	Volume = {0},
	Year = {2006},
	Bdsk-Url-1 = {http://dx.doi.org/10.1109/CSMR.2006.46}}

@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},
	Doi = {10.1002/smr.376},
	Issn = {1532-0618},
	Journal = {Journal of Software Maintenance and Evolution: Research and Practice},
	Number = {4},
	Pages = {223--225},
	Publisher = {John Wiley & Sons, Ltd.},
	Title = {Introduction to the special issue on program comprehension through dynamic analysis (PCODA)},
	Volume = {20},
	Year = {2008},
	Bdsk-Url-1 = {http://dx.doi.org/10.1002/smr.376}}

@inproceedings{Zaid08c,
	Author = {Zaidman, A. and Van Rompaey, B. and Demeyer, S. and van Deursen, A.},
	Booktitle = {Software Testing, Verification, and Validation, 2008 1st International Conference on},
	Doi = {10.1109/ICST.2008.47},
	Keyword = {testing-practices},
	Month = apr,
	Pages = {220 -229},
	Title = {Mining Software Repositories to Study Co-Evolution of Production and Test Code},
	Year = {2008},
	Bdsk-Url-1 = {http://dx.doi.org/10.1109/ICST.2008.47}}

@inproceedings{Zaid15a,
  Author = {Moritz Beller and Georgios Gousios and Andy Zaidman},
  Booktitle = {Proceedings of the 37th International Conference on Software Engineering (ICSE - volume 2)},
  Pages = {559--562},
  Title = {How (Much) Do Developers Test},
  Year = {2015}
}

@inproceedings{Zama12a,
 author = {Zaman, Shahed and Adams, Bram and Hassan, Ahmed E.},
 title = {A Qualitative Study on Performance Bugs},
 booktitle = {Proceedings of the 9th IEEE Working Conference on Mining Software Repositories},
 series = {MSR '12},
 year = {2012},
 isbn = {978-1-4673-1761-0},
 location = {Zurich, Switzerland},
 pages = {199--208},
 numpages = {10},
 url = {http://dl.acm.org/citation.cfm?id=2664446.2664477},
 acmid = {2664477},
 publisher = {IEEE Press},
 address = {Piscataway, NJ, USA},
 keywords = {Mozilla Firefox, chromium, performance bugs, qualitative study}
}

@book{Zand13a,
 author = {Zandstra, Matt},
 title = {PHP Objects, Patterns, and Practice},
 year = {2013},
 isbn = {1430260319, 9781430260318},
 edition = {4th},
 publisher = {Apress},
 address = {Berkely, CA, USA}
}

@techreport{Zaug15a,
	Abstract = {Today's software architecture for mobile applications is
	strongly bound to one specific operating system and its software
	development environment. Consequently, developers need to maintain at least
	two code bases for Android and iOS to reach a large share of smartphone users.
	In the last few years, driven by the increasing calculation power of mobile
	phones, a new approach emerged and Apache Cordova, a set of device APIs in
	JavaScript which allows developers to build mobile applications without
	writing any native code, was born. This thesis is about how to develop an
	application with Apache Cordova. It focuses on the use of technologies like
	Mercurial, Ionic and Calabash for Android with the aim to create reliable and
	well-tested mobile applications. An app for cognitive defusion exercises,
	formerly done with pen and paper, was developed as part of a master thesis by
	Alexandra Barth at the Institute of Psychology of the University of Berne. In
	a first step the development process is documented and technologies are
	explained so that, in a second part readers are asked to develop their own
	application by following an elaborated tutorial. As a result this paper shows
	that it is possible, with a certain amount of effort and the will to learn to
	handle different frameworks, to create cross-operating-system applications
	with the above mentioned goals.},
	Author = {Pascal Zaugg},
	Institution = {University of Bern},
	Keywords = {snf-none scg-bp scg15 jb16},
	Month = aug,
	Title = {Cognitive defusion mobile application --- Developing a single page application for cognitive defusion exercises},
	Type = {Bachelor's thesis},
	Url = {http://scg.unibe.ch/archive/projects/Zaug15a.pdf},
	Year = {2015}
}

@inproceedings{Zawa10a,
author={Zawawy, H. and Kontogiannis, Kostas and Mylopoulos, J.},
booktitle={Software Maintenance (ICSM), 2010 IEEE International Conference on},
title={Log filtering and interpretation for root cause analysis},
year={2010},
month={sep},
pages={1-5},
abstract={Problem diagnosis in large software systems is a challenging and complex task. The sheer complexity and size of the logged data make it often difficult for human operators and administrators to perform problem diagnosis and root cause analysis. A challenge in this area is to provide the necessary means, tools, and techniques for the operators to focus their attention to specific parts of the logged data reducing thus the complexity of the diagnostic process. In this paper, we propose a framework for filtering logs according to specific analysis goals and diagnostic hypotheses set by the user or by an automated process. More specifically, the proposed framework uses annotated goal trees to model the constraints and the conditions by which the functionality of a particular system is being delivered. Next, a transformation process maps such constraints and conditions to a collection of queries that can be either applied to a relational database that stores the logged data or use Latent Semantic Indexing to identify the most relevant log entries for the given query. The results of such queries provide a subset of the logged data that is compliant with the goal tree and can be used by a diagnostic SAT-solver based algorithm. Experimental results show that the filtering process can reduce the time and complexity of the diagnosis when applied to multi-tier heterogeneous service oriented systems.},
keywords={constraint handling;database indexing;decision trees;information filtering;program diagnostics;relational databases;Log Filtering;SAT-solver based algorithm;annotated goal tree;diagnostic hypotheses set;latent semantic indexing;log entry;relational database;root cause analysis;service oriented system;sheer complexity;software diagnosis;transformation process map;Business;Data models;Indexing;Large scale integration;Monitoring;Semantics;Unified modeling language;Log analysis;goal model;latent semantic indexing;performance;root cause analysis},
doi={10.1109/ICSM.2010.5609556},
ISSN={1063-6773}}

@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{Zayt12a,
 author = {Zaytsev, Vadim},
 title = {Notation-parametric Grammar Recovery},
 booktitle = {Proceedings of the Twelfth Workshop on Language Descriptions, Tools, and Applications},
 series = {LDTA '12},
 year = {2012},
 isbn = {978-1-4503-1536-4},
 location = {Tallinn, Estonia},
 pages = {9:1--9:8},
 articleno = {9},
 numpages = {8},
 url = {http://doi.acm.org/10.1145/2427048.2427057},
 doi = {10.1145/2427048.2427057},
 acmid = {2427057},
 publisher = {ACM},
 address = {New York, NY, USA},
 keywords = {grammar recovery},
 url = {http://grammarware.net/text/2012/npgr-pre.pdf}
}

@inproceedings{Zayt14a,
	author={Zaytsev, Vadim},
	booktitle={Software Maintenance, Reengineering and Reverse Engineering (CSMR-WCRE), 2014 Software Evolution Week - IEEE Conference on},
	title={Formal foundations for semi-parsing},
	year={2014},
	month= feb,
	pages={313-317},
	keywords={parsing},
	doi={10.1109/CSMR-WCRE.2014.6747184},
	url ={http://grammarware.net/text/2014/semiparsing.pdf}
}

@article{Zazw14a,
	year={2014},
	issn={0963-9314},
	journal={Software Quality Journal},
	volume={22},
	number={3},
	doi={10.1007/s11219-013-9200-8},
	title={Comparing four approaches for technical debt identification},
	url={http://dx.doi.org/10.1007/s11219-013-9200-8},
	publisher={Springer US},
	keywords={Technical debt; Software maintenance; Software quality; Source code analysis; Modularity violations; Grime; Code smells; ASA},
	author={Zazworka, Nico and Vetro, Antonio and Izurieta, Clemente and Wong, Sunny and Cai, Yuanfang and Seaman, Carolyn and Shull, Forrest},
	pages={403-426},
	language={English}
}

@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}}

@inbook{Zell08a,
	Author = {Andreas Zeller},
	Booktitle = {Beautiful Code},
	Chapter = {28},
	Editors = {Andy Oram and Greg Wilson},
	Isbn = {0596510047},
	Month = jun,
	Publisher = {O'Reilly Media, Inc.},
	Title = {Beautiful Debugging},
	Year = {2007}}

@inproceedings{Zell11a,
 author = {Zeller, Andreas and Zimmermann, Thomas and Bird, Christian},
 title = {Failure is a Four-letter Word: A Parody in Empirical Research},
 booktitle = {Proceedings of the 7th International Conference on Predictive Models in Software Engineering},
 series = {Promise '11},
 year = {2011},
 isbn = {978-1-4503-0709-3},
 location = {Banff, Alberta, Canada},
 pages = {5:1--5:7},
 articleno = {5},
 numpages = {7},
 url = {http://cabird.com/pubs/zeller2011ffl.pdf},
 doi = {10.1145/2020390.2020395},
 acmid = {2020395},
 publisher = {ACM},
 address = {New York, NY, USA},
 keywords = {empirical research, parody}
}

@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}}

@article{Zeng02c,
	Acmid = {605411},
	Address = {New York, NY, USA},
	Author = {Zeng, Heng and Ellis, Carla S. and Lebeck, Alvin R. and Vahdat, Amin},
	Doi = {10.1145/635508.605411},
	Issn = {0163-5980},
	Issue_Date = {December 2002},
	Journal = {SIGOPS Oper. Syst. Rev.},
	Month = oct,
	Number = {5},
	Numpages = {10},
	Pages = {123--132},
	Publisher = {ACM},
	Title = {ECOSystem: managing energy as a first class operating system resource},
	Url = {http://doi.acm.org/10.1145/635508.605411},
	Volume = {36},
	Year = {2002},
	Bdsk-Url-1 = {http://doi.acm.org/10.1145/635508.605411},
	Bdsk-Url-2 = {http://dx.doi.org/10.1145/635508.605411}}

@phdthesis{Zeng03a,
	Author = {Matthias Zenger},
	Keywords = {keris virtual class},
	School = {University of Lausanne, EPFL},
	Title = {Programming Language Abstractions for Extensible Software Components},
	Year = {2003}}

@inproceedings{Zhai20a,
  author    = {Juan Zhai and
               Xiangzhe Xu and
               Yu Shi and
               Guanhong Tao and
               Minxue Pan and
               Shiqing Ma and
               Lei Xu and
               Weifeng Zhang and
               Lin Tan and
               Xiangyu Zhang},
  editor    = {Gregg Rothermel and
               Doo{-}Hwan Bae},
  title     = {{CPC:} automatically classifying and propagating natural language
               comments via program analysis},
  booktitle = {{ICSE} '20: 42nd International Conference on Software Engineering,
               Seoul, South Korea, 27 June - 19 July, 2020},
  pages     = {1359--1371},
  publisher = {{ACM}},
  year      = {2020},
  url       = {https://doi.org/10.1145/3377811.3380427},
  doi       = {10.1145/3377811.3380427},
  keywords =  {comment-quality-slr},
  timestamp = {Fri, 08 Jan 2021 14:47:26 +0100},
  biburl    = {https://dblp.org/rec/conf/icse/ZhaiXSTPMXZTZ20.bib},
  bibsource = {dblp computer science bibliography, https://dblp.org}
}

@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}}

@article{Zhan04a,
	title = {MFV-Class: a multi-faceted visualization tool of object classes},
	author = {Zhang, Zhi-meng and Pan, Yun-he and Zhuang, Yue-ting},
	journal = {Journal of Zhejiang University Science},
	volume = {5},
	number = {11},
	pages = {1374--1381},
	year = {2004},
	publisher = {Springer}}

@inproceedings{Zhan05a,
	Address = {New York, NY, USA},
	Author = {Zhang, Xiangyu and Gupta, Rajiv},
	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},
	Doi = {10.1145/1081706.1081738},
	Isbn = {1-59593-014-0},
	Location = {Lisbon, Portugal},
	Pages = {197--206},
	Publisher = {ACM},
	Title = {Matching execution histories of program versions},
	Year = {2005},
	Bdsk-Url-1 = {http://dx.doi.org/10.1145/1081706.1081738}}

@article{Zhan07a,
 author = {Zhang, Hongyu and Zhang, Xiuzhen},
 title = {Comments on ``Data Mining Static Code Attributes to Learn Defect Predictors''},
 journal = {IEEE Trans. Softw. Eng.},
 issue_date = {September 2007},
 volume = {33},
 number = {9},
 month = sep,
 year = {2007},
 issn = {0098-5589},
 pages = {635--637},
 numpages = {3},
 url = {http://dx.doi.org/10.1109/TSE.2007.70706},
 doi = {10.1109/TSE.2007.70706},
 acmid = {1314089},
 publisher = {IEEE Press},
 address = {Piscataway, NJ, USA},
 keywords = {accuracy measures, defect prediction, defect prediction, accuracy measures, static code attributes, empirical, empirical, static code attributes}
}

@inproceedings{Zhan07b,
 author = {Zhang, Lingli and Krintz, Chandra and Nagpurkar, Priya},
 title = {Supporting Exception Handling for Futures in {Java}},
 booktitle = {Proceedings of the 5th International Symposium on Principles and Practice of Programming in Java},
 series = {PPPJ '07},
 year = {2007},
 isbn = {978-1-59593-672-1},
 location = {Lisboa, Portugal},
 pages = {175--184},
 numpages = {10},
 url = {http://doi.acm.org/10.1145/1294325.1294349},
 doi = {10.1145/1294325.1294349},
 acmid = {1294349},
 publisher = {ACM},
 address = {New York, NY, USA},
 keywords = {Java, concurrent programming, exception handling, future}}

@article{Zhan07c,
	author = {Zhang, Zheying},
	journal = {Tampere, Finland, INSPIRE},
	pages = {9},
	title = {{Effective Requirements Development-A Comparison of Requirements Elicitation techniques}},
	year = {2007}
}

@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{Zhan10a,
	Acmid = {1810351},
	Address = {New York, NY, USA},
	Author = {Zhang, Cheng and Yan, Dacong and Zhao, Jianjun and Chen, Yuting and Yang, Shengqian},
	Booktitle = {Proceedings of the 32nd ACM/IEEE International Conference on Software Engineering - Volume 2},
	Doi = {10.1145/1810295.1810351},
	Isbn = {978-1-60558-719-6},
	Keywords = {breakpoint, debugging},
	Location = {Cape Town, South Africa},
	Numpages = {4},
	Pages = {271--274},
	Publisher = {ACM},
	Series = {ICSE '10},
	Title = {BPGen: an automated breakpoint generator for debugging},
	Year = {2010},
	Bdsk-Url-1 = {http://dx.doi.org/10.1145/1810295.1810351}}

@article{Zhan10b,
	Acmid = {1750609},
	Address = {New York, NY, USA},
	Author = {Zhang, Pengcheng and Muccini, Henry and Li, Bixin},
	Doi = {10.1016/j.jss.2009.11.709},
	Issn = {0164-1212},
	Issue = {5},
	Journal = {J. Syst. Softw.},
	Keywords = {Model checking, Software architecture},
	Month = may,
	Numpages = {22},
	Pages = {723--744},
	Publisher = {Elsevier Science Inc.},
	Title = {A classification and comparison of model checking software architecture techniques},
	Volume = {83},
	Year = {2010},
	Bdsk-Url-1 = {http://dx.doi.org/10.1016/j.jss.2009.11.709}}

@article{Zhan10c,
 author = {Zhang, Meihui and Hadjieleftheriou, Marios and Ooi, Beng Chin and Procopiuc, Cecilia M. and Srivastava, Divesh},
 title = {On Multi-column Foreign Key Discovery},
 journal = {Proc. VLDB Endow.},
 issue_date = {September 2010},
 volume = {3},
 number = {1-2},
 month = sep,
 year = {2010},
 issn = {2150-8097},
 pages = {805--814},
 numpages = {10},
 url = {http://hadjieleftheriou.com/papers/vldb10.pdf},
 doi = {10.14778/1920841.1920944},
 acmid = {1920944},
 publisher = {VLDB Endowment},
 keywords = {schema-inference, inclusion dependencies}
}

@inproceedings{Zhan11a,
	Acmid = {2032532},
	Address = {Berlin, Heidelberg},
	Author = {Zhang, Cheng and Xu, Hao and Zhang, Sai and Zhao, Jianjun and Chen, Yuting},
	Booktitle = {Proceedings of the 25th European conference on Object-oriented programming},
	Isbn = {978-3-642-22654-0},
	Location = {Lancaster, UK},
	Numpages = {23},
	Pages = {510--532},
	Publisher = {Springer-Verlag},
	Series = {ECOOP'11},
	Title = {Frequency estimation of virtual call targets for object-oriented programs},
	Url = {http://dl.acm.org/citation.cfm?id=2032497.2032532},
	Year = {2011},
	Bdsk-Url-1 = {http://dl.acm.org/citation.cfm?id=2032497.2032532}}

@inproceedings{Zhan11b,
	Author = {Sai Zhang and Cheng Zhang and Ernst, Michael D.},
	Booktitle = {Automated Software Engineering (ASE), 2011 26th IEEE/ACM International Conference on},
	Doi = {10.1109/ASE.2011.6100145},
	Month = nov,
	Pages = {63--72},
	Title = {Automated documentation inference to explain failed tests},
	Year = {2011},
	Bdsk-Url-1 = {http://dx.doi.org/10.1109/ASE.2011.6100145}}

@article{Zhan11c,
  title={Identifying relevant studies in software engineering},
  author={Zhang, He and Babar, Muhammad Ali and Tell, Paolo},
  journal={Information and Software Technology},
  volume={53},
  number={6},
  pages={625--637},
  year={2011},
  publisher={Elsevier}
}

@inproceedings{Zhan12a,
 author = {Zhang, Cheng and Yang, Juyuan and Zhang, Yi and Fan, Jing and Zhang, Xin and Zhao, Jianjun and Ou, Peizhao},
 title = {Automatic Parameter Recommendation for Practical API Usage},
 booktitle = {Proceedings of the 34th International Conference on Software Engineering},
 series = {ICSE '12},
 year = {2012},
 isbn = {978-1-4673-1067-3},
 location = {Zurich, Switzerland},
 pages = {826--836},
 numpages = {11},
 url = {http://dl.acm.org/citation.cfm?id=2337223.2337321},
 acmid = {2337321},
 publisher = {IEEE Press},
 address = {Piscataway, NJ, USA}
}

@inproceedings{Zhan13a,
 author = {Zhang, Sai and Ernst, Michael D.},
 title = {Automated Diagnosis of Software Configuration Errors},
 booktitle = {Proceedings of the 2013 International Conference on Software Engineering},
 series = {ICSE '13},
 year = {2013},
 isbn = {978-1-4673-3076-3},
 location = {San Francisco, CA, USA},
 pages = {312--321},
 numpages = {10},
 url = {http://dl.acm.org/citation.cfm?id=2486788.2486830},
 acmid = {2486830},
 publisher = {IEEE Press},
 address = {Piscataway, NJ, USA}
}

@inproceedings{Zhan14a,
  title={Towards building a universal defect prediction model},
  author={Zhang, Feng and Mockus, Audris and Keivanloo, Iman and Zou, Ying},
  booktitle={Proceedings of the 11th Working Conference on Mining Software Repositories},
  pages={182--191},
  year={2014},
  organization={ACM}
}

@article{Zhan14b,
  title={The impact of user choice on energy consumption},
  author={Zhang, Chenlei and Hindle, Abram and German, Daniel M},
  journal={IEEE software},
  volume={31},
  number={3},
  pages={69--75},
  year={2014},
  publisher={IEEE}
}

@inproceedings{Zhan14c,
  title={Mining developer mailing list to predict software defects},
  author={Zhang, Yu and Shen, Beijun and Chen, Yuting},
  booktitle={2014 21st Asia-Pacific Software Engineering Conference},
  volume={1},
  pages={383--390},
  year={2014},
  organization={IEEE}
}

@inproceedings{Zhan18a,
  author    = {Jingyi Zhang and
               Lei Xu and
               Yanhui Li},
  editor    = {Xiaofeng Meng and
               Ruixuan Li and
               Kanliang Wang and
               Baoning Niu and
               Xin Wang and
               Gansen Zhao},
  title     = {Classifying Python Code Comments Based on Supervised Learning},
  booktitle = {Web Information Systems and Applications - 15th International Conference,
               {WISA} 2018, Taiyuan, China, September 14-15, 2018, Proceedings},
  series    = {Lecture Notes in Computer Science},
  volume    = {11242},
  pages     = {39--47},
  publisher = {Springer},
  year      = {2018},
  url       = {https://doi.org/10.1007/978-3-030-02934-0\_4},
  doi       = {10.1007/978-3-030-02934-0\_4},
  keywords =  {comment-quality-slr},
  timestamp = {Tue, 25 Feb 2020 17:21:35 +0100},
  biburl    = {https://dblp.org/rec/conf/IEEEwisa/Zhang0L18.bib},
  bibsource = {dblp computer science bibliography, https://dblp.org}
}

@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{Zhao06a,
 author = {Zhao, Wei and Zhang, Lu and Liu, Yin and Sun, Jiasu and Yang, Fuqing},
 title = {SNIAFL: Towards a Static Noninteractive Approach to Feature Location},
 journal = {ACM Trans. Softw. Eng. Methodol.},
 issue_date = {April 2006},
 volume = {15},
 number = {2},
 month = apr,
 year = {2006},
 issn = {1049-331X},
 pages = {195--226},
 numpages = {32},
 url = {http://doi.acm.org/10.1145/1131421.1131424},
 doi = {10.1145/1131421.1131424},
 acmid = {1131424},
 publisher = {ACM},
 address = {New York, NY, USA},
 keywords = {BRCG, Program comprehension, feature location, information retrieval, static analysis, traceability}
}

@article{Zhao14a,
  title={Expert finding for question answering via graph regularized matrix completion},
  author={Zhao, Zhou and Zhang, Lijun and He, Xiaofei and Ng, Wilfred},
  journal={IEEE Transactions on Knowledge and Data Engineering},
  volume={27},
  number={4},
  pages={993--1004},
  year={2014},
  publisher={IEEE}
}

@inproceedings{Zhen11a,
	Abstract = {A new approach is presented to maintain the conformance between software architecture and code in the presence of changes to both artifacts. Its novel features include suppression of mistaken changes of architecture-prescribed code, explicit recording of architecture changes, and automatic mapping of specific kinds of architecture changes to code in specific ways. In particular, a new code separation mechanism is presented to decouple architecture-prescribed code from user-defined details. It is supported by three important technologies developed in this study to manage architecture changes, including an architecture change model, architecture-based code regeneration, and architecture change notification. The approach is implemented and integrated in ArchStudio, an Eclipse-based architecture development environment.},
	Author = {Yongjie Zheng and Taylor, R.N.},
	Booktitle = {Automated Software Engineering (ASE), 2011 26th IEEE/ACM International Conference on},
	Doi = {10.1109/ASE.2011.6100081},
	Month = nov,
	Pages = {396 -399},
	Title = {Taming changes With 1.x-Way architecture-implementation mapping},
	Year = {2011},
	Bdsk-Url-1 = {http://dx.doi.org/10.1109/ASE.2011.6100081}}

@inproceedings{Zhen12a,
	Acmid = {2367012},
	Address = {Berlin, Heidelberg},
	Author = {Zheng, Yudi and Ansaloni, Danilo and Marek, Lukas and Sewe, Andreas and Binder, Walter and Villaz\'{o}n, Alex and Tuma, Petr and Qi, Zhengwei and Mezini, Mira},
	Booktitle = {Proceedings of the 50th international conference on Objects, Models, Components, Patterns},
	Doi = {10.1007/978-3-642-30561-0_24},
	Isbn = {978-3-642-30560-3},
	Keywords = {Java virtual machine, aspect-oriented programming, bytecode instrumentation, domain-specific languages, partial evaluation},
	Location = {Prague, Czech Republic},
	Numpages = {16},
	Pages = {353--368},
	Publisher = {Springer-Verlag},
	Series = {TOOLS'12},
	Title = {Turbo {DiSL}: partial evaluation for high-level bytecode instrumentation},
	Url = {http://d3s.mff.cuni.cz/publications/download/MarekTuma-tools2012.pdf},
	Year = {2012},
	Bdsk-Url-1 = {http://d3s.mff.cuni.cz/publications/download/MarekTuma-tools2012.pdf},
	Bdsk-Url-2 = {http://dx.doi.org/10.1007/978-3-642-30561-0_24}}

@article{Zhi15a,
  title={Cost, benefits and quality of software development documentation: A systematic mapping},
  author={Zhi, Junji and Garousi-Yusifo{\u{g}}lu, Vahid and Sun, Bo and Garousi, Golara and Shahnewaz, Shawn and Ruhe, Guenther},
  journal={Journal of Systems and Software},
  volume={99},
  pages={175--198},
  year={2015},
  publisher={Elsevier}
}

@incollection{Zhon09a,
	Author = {Zhong, Hao and Xie, Tao and Zhang, Lu and Pei, Jian and Mei, Hong},
	Booktitle = {ECOOP 2009 - Object-Oriented Programming},
	Doi = {10.1007/978-3-642-03013-0_15},
	Editor = {Drossopoulou, Sophia},
	Isbn = {978-3-642-03012-3},
	Pages = {318-343},
	Publisher = {Springer Berlin Heidelberg},
	Series = {Lecture Notes in Computer Science},
	Title = {{MAPO}: Mining and Recommending {API} Usage Patterns},
	Url = {http://dx.doi.org/10.1007/978-3-642-03013-0_15},
	Volume = {5653},
	Year = {2009},
	Bdsk-Url-1 = {http://dx.doi.org/10.1007/978-3-642-03013-0_15}}

@inproceedings{Zhon13a,
  author    = {Hao Zhong and
               Zhendong Su},
  editor    = {Antony L. Hosking and
               Patrick Th. Eugster and
               Cristina V. Lopes},
  title     = {Detecting {API} documentation errors},
  booktitle = {Proceedings of the 2013 {ACM} {SIGPLAN} International Conference on
               Object Oriented Programming Systems Languages {\&} Applications,
               {OOPSLA} 2013, part of {SPLASH} 2013, Indianapolis, IN, USA, October
               26-31, 2013},
  pages     = {803--816},
  publisher = {{ACM}},
  year      = {2013},
  url       = {https://doi.org/10.1145/2509136.2509523},
  doi       = {10.1145/2509136.2509523},
  keywords =  {comment-quality-slr},
  timestamp = {Tue, 06 Nov 2018 16:57:16 +0100},
  biburl    = {https://dblp.org/rec/conf/oopsla/ZhongS13.bib},
  bibsource = {dblp computer science bibliography, https://dblp.org}
}

@inproceedings{Zhon15a,
  title={An empirical study on real bug fixes},
  author={Zhong, Hao and Su, Zhendong},
  booktitle={Proceedings of the 37th International Conference on Software Engineering-Volume 1},
  pages={913--923},
  year={2015},
  organization={IEEE Press}
}

@inproceedings{Zhou06a,
  title={SafeDrive: Safe and recoverable extensions using language-based techniques},
  author={Zhou, Feng and Condit, Jeremy and Anderson, Zachary and Bagrak, Ilya and Ennals, Rob and Harren, Matthew and Necula, George and Brewer, Eric},
  booktitle={Proceedings of the 7th symposium on Operating systems design and implementation},
  pages={45--60},
  year={2006},
  organization={USENIX Association}}

@article{Zhou10a,
  title={On the ability of complexity metrics to predict fault-prone classes in object-oriented systems},
  author={Zhou, Yuming and Xu, Baowen and Leung, Hareton},
  journal={Journal of Systems and Software},
  volume={83},
  number={4},
  pages={660--674},
  year={2010},
  publisher={Elsevier}
}

@inproceedings{Zhou17a,
  title={Analyzing {APIs} Documentation and Code to Detect Directive Defects},
  author={Zhou, Yu and Gu, Ruihang and Chen, Taolue and Huang, Zhiqiu and Panichella, Sebastiano and Gall, Harald},
  booktitle={Proceedings of the 39th International Conference on Software Engineering},
  pages={27--37},
  year={2017},
  Keywords =  {comment-quality-slr},
  organization={IEEE Press}
}

@article{Zhou18a,
  title={Automatic detection and repair recommendation of directive defects in Java API documentation},
  author={Zhou, Yu and Wang, Changzhi and Yan, Xin and Chen, Taolue and Panichella, Sebastiano and Gall, Harald C},
  journal={IEEE Transactions on Software Engineering},
  year={2018},
  publisher={IEEE}
}

@article{Zhou19a,
  author    = {Yu Zhou and
               Xin Yan and
               Wenhua Yang and
               Taolue Chen and
               Zhiqiu Huang},
  title     = {Augmenting Java method comments generation with context information
               based on neural networks},
  journal   = {J. Syst. Softw.},
  volume    = {156},
  pages     = {328--340},
  year      = {2019},
  url       = {https://doi.org/10.1016/j.jss.2019.07.087},
  doi       = {10.1016/j.jss.2019.07.087},
  keywords =  {comment-quality-slr},
  timestamp = {Mon, 24 Feb 2020 15:59:25 +0100},
  biburl    = {https://dblp.org/rec/journals/jss/ZhouYYCH19.bib},
  bibsource = {dblp computer science bibliography, https://dblp.org}
}

@article{Zhou20a,
  author    = {Yu Zhou and
               Changzhi Wang and
               Xin Yan and
               Taolue Chen and
               Sebastiano Panichella and
               Harald C. Gall},
  title     = {Automatic Detection and Repair Recommendation of Directive Defects
               in Java {API} Documentation},
  journal   = {{IEEE} Trans. Software Eng.},
  volume    = {46},
  number    = {9},
  pages     = {1004--1023},
  year      = {2020},
  url       = {https://doi.org/10.1109/TSE.2018.2872971},
  doi       = {10.1109/TSE.2018.2872971},
  keywords =  {comment-quality-slr},
  timestamp = {Tue, 29 Dec 2020 18:26:33 +0100},
  biburl    = {https://dblp.org/rec/journals/tse/ZhouWYCPG20.bib},
  bibsource = {dblp computer science bibliography, https://dblp.org}
}

@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,
	Address = {Washington, DC, USA},
	Author = {Zhu, Angela Yun and Inoue, Jun and Peralta, Marisa Linnea and Taha, Walid and O'Malley, Marcia K. and Powell, Dane},
	Booktitle = {ICESS'09: Proceedings of the 6th International Conference on Embedded Software and Systems},
	Doi = {10.1109/ICESS.2009.90},
	Keywords = {haptic feedback systems, simulation, virtual environments damiencbib acumen iacumen},
	Numpages = {8},
	Pages = {482--489},
	Publisher = {IEEE Computer Society},
	Title = {Implementing Haptic Feedback Environments from High-Level Descriptions},
	Year = {2009},
	Bdsk-Url-1 = {http://dx.doi.org/10.1109/ICESS.2009.90}}

@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},
	Booktitle = {ICCPS'10: Proceedings of the 1st International Conference on Cyber-Physical Systems},
	Keywords = {damiencbib acumen},
	Title = {Mathematical Equations as Executable Models of Mechnical Systems},
	Year = {2010}}

@inproceedings{Zhua06a,
 author = {Zhuang, Xiaotong and Serrano, Mauricio J. and Cain, Harold W. and Choi, Jong-Deok},
 title = {Accurate, efficient, and adaptive calling context profiling},
 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 = {263--271},
 numpages = {9},
 url = {http://doi.acm.org/10.1145/1133981.1134012},
 doi = {10.1145/1133981.1134012},
 acmid = {1134012},
 publisher = {ACM},
 address = {New York, NY, USA},
 keywords = {adaptive, call graph, calling context, calling context tree, java virtual machine, profiling}
}

@inproceedings{Zhua08a,
	Address = {New York, NY, USA},
	Author = {Zhuang, Xiaotong and Kim, Suhyun and Serrano, Mauri io and Choi, Jong-Deok},
	Booktitle = {CGO '08: Proceedings of the 6th annual IEEE/ACM international symposium on Code generation and optimization},
	Doi = {10.1145/1356058.1356060},
	Isbn = {978-1-59593-978-4},
	Location = {Boston, MA, USA},
	Pages = {4--13},
	Publisher = {ACM},
	Title = {Perfdiff: a framework for performance difference analysis in a virtual machine environment},
	Year = {2008},
	Bdsk-Url-1 = {http://dx.doi.org/10.1145/1356058.1356060}}

@inproceedings{Ziar08a,
	Author = {L. Ziarek and S. Jagannathan},
	Booktitle = {Proceedings of the Workshop on Declarative Aspects of Multicore Programming},
	Title = {Memoizing multi-threaded transactions},
	Year = {2008}}

@inproceedings{Ziar09a,
	Acmid = {1596575},
	Address = {New York, NY, USA},
	Author = {Ziarek, Lukasz and Sivaramakrishnan, KC and Jagannathan, Suresh},
	Booktitle = {Proceedings of the 14th ACM SIGPLAN international conference on Functional programming},
	Doi = {10.1145/1596550.1596575},
	Isbn = {978-1-60558-332-7},
	Keywords = {concurrent ml, concurrent programming, multicore systems, partial memoization, software transactions},
	Location = {Edinburgh, Scotland},
	Numpages = {12},
	Pages = {161--172},
	Publisher = {ACM},
	Series = {ICFP '09},
	Title = {Partial memoization of concurrency and communication},
	Year = {2009},
	Bdsk-Url-1 = {http://dx.doi.org/10.1145/1596550.1596575}}

@inproceedings{Zibi07a,
	Acmid = {1287637},
	Address = {New York, NY, USA},
	Author = {Zibin, Yoav and Potanin, Alex and Ali, Mahmood and Artzi, Shay and Kie, un, Adam and Ernst, Michael D.},
	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},
	Date-Added = {2012-08-07 12:26:26 +0000},
	Date-Modified = {2012-08-07 12:29:25 +0000},
	Doi = {10.1145/1287624.1287637},
	Isbn = {978-1-59593-811-4},
	Keywords = {aliasing},
	Location = {Dubrovnik, Croatia},
	Numpages = {10},
	Pages = {75--84},
	Publisher = {ACM},
	Series = {ESEC-FSE '07},
	Title = {Object and reference immutability using Java generics},
	Url = {http://doi.acm.org/10.1145/1287624.1287637},
	Year = {2007},
	Bdsk-Url-1 = {http://doi.acm.org/10.1145/1287624.1287637},
	Bdsk-Url-2 = {http://dx.doi.org/10.1145/1287624.1287637}}

@inproceedings{Ziem07a,
	Author = {P. Ziemniak and B. Sakowicz and A. Napieralski},
	Title = {Object Oriented Application Cooperation Methods with Relational Database (ORM) based on J2EE Technology},
	Booktitle = {Proceedings of the. 9th International Conference on CAD Systems in Microelectronics},
	Series = {CADSM '07},
	Year = {2007},
	Pages = {327-330},
	Doi = {10.1109/CADSM.2007.4297568}}

@inproceedings{Zim02a,
 author = {Zimmermann, Thomas and Zeller, Andreas},
 title = {Visualizing Memory Graphs},
 booktitle = {Revised Lectures on Software Visualization, International Seminar},
 year = {2002},
 isbn = {3-540-43323-6},
 pages = {191--204},
 numpages = {14},
 url = {http://dl.acm.org/citation.cfm?id=647382.724787},
 acmid = {724787},
 publisher = {Springer-Verlag},
 address = {London, UK, UK}
}

@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)},
	Isbn = {0-7695-2163-0},
	Keywords = {evolution clustering},
	Pages = {563--572},
	Publisher = {IEEE Computer Society Press},
	Title = {Mining Version Histories to Guide Software Changes},
	Url = {http://dl.acm.org/citation.cfm?id=998675.999460},
	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,
	Acmid = {1269057},
	Address = {Washington, DC, USA},
	Author = {Zimmermann, Thomas and Premraj, Rahul and Zeller, Andreas},
	Booktitle = {Proceedings of the Third International Workshop on Predictor Models in Software Engineering},
	Doi = {10.1109/PROMISE.2007.10},
	Isbn = {0-7695-2954-2},
	Pages = {9--},
	Publisher = {IEEE Computer Society},
	Series = {PROMISE '07},
	Title = {Predicting Defects for Eclipse},
	Url = {http://dx.doi.org/10.1109/PROMISE.2007.10},
	Year = {2007},
	Bdsk-Url-1 = {http://dx.doi.org/10.1109/PROMISE.2007.10}}

@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}}

@inproceedings{Zimm08b,
	Acmid = {1368161},
	Address = {New York, NY, USA},
	Author = {Zimmermann, Thomas and Nagappan, Nachiappan},
	Booktitle = {Proceedings of the 30th international conference on Software engineering},
	Doi = {10.1145/1368088.1368161},
	Isbn = {978-1-60558-079-1},
	Keywords = {defect prediction, dependency graph, network analysis, windows server 2003},
	Location = {Leipzig, Germany},
	Numpages = {10},
	Pages = {531--540},
	Publisher = {ACM},
	Series = {ICSE '08},
	Title = {Predicting defects using network analysis on dependency graphs},
	Url = {http://doi.acm.org/10.1145/1368088.1368161},
	Year = {2008},
	Bdsk-Url-1 = {http://doi.acm.org/10.1145/1368088.1368161},
	Bdsk-Url-2 = {http://dx.doi.org/10.1145/1368088.1368161}}

@inproceedings{Zimm09a,
	Acmid = {1595713},
	Address = {New York, NY, USA},
	Author = {Zimmermann, Thomas and Nagappan, Nachiappan and Gall, Harald and Giger, Emanuel and Murphy, Brendan},
	Booktitle = {Proceedings of the the 7th Joint Meeting of the European Software Engineering Conference and the ACM SIGSOFT Symposium on The Foundations of Software Engineering},
	Doi = {10.1145/1595696.1595713},
	Isbn = {978-1-60558-001-2},
	Keywords = {churn, cross-project, decision trees, defect prediction, logistic regression, prediction quality},
	Location = {Amsterdam, The Netherlands},
	Numpages = {10},
	Pages = {91--100},
	Publisher = {ACM},
	Series = {ESEC/FSE '09},
	Title = {Cross-project Defect Prediction: A Large Scale Experiment on Data vs. Domain vs. Process},
	Url = {http://doi.acm.org/10.1145/1595696.1595713},
	Year = {2009},
	Bdsk-Url-1 = {http://doi.acm.org/10.1145/1595696.1595713},
	Bdsk-Url-2 = {http://dx.doi.org/10.1145/1595696.1595713}}

@inproceedings{Zimm10a,
	Acmid = {1806821},
	Address = {New York, NY, USA},
	Author = {Begel, Andrew and Khoo, Yit Phang and Zimmermann, Thomas},
	Booktitle = {Proceedings of the 32nd ACM/IEEE International Conference on Software Engineering - Volume 1},
	Doi = {10.1145/1806799.1806821},
	Isbn = {978-1-60558-719-6},
	Keywords = {inter-team coordination, knowledge management, mining software repositories, regular expression, regular language reachability, social networking, dev-questions},
	Location = {Cape Town, South Africa},
	Numpages = {10},
	Pages = {125--134},
	Publisher = {ACM},
	Series = {ICSE '10},
	Title = {Codebook: discovering and exploiting relationships in software repositories},
	Year = {2010},
	Bdsk-Url-1 = {http://dx.doi.org/10.1145/1806799.1806821}}

@article{Zimm10b,
author = {Stephan Zimmer and Stephan Diehl},
title = {Visual Amortization Analysis of Recompilation Strategies},
journal ={2010 14th International Conference Information Visualisation},
volume = {0},
issn = {1550-6037},
year = {2010},
pages = {509-514},
doi = {10.1109/IV.2010.76},
publisher = {IEEE Computer Society},
address = {Los Alamitos, CA, USA}
}

@inproceedings{Zink10a,
	Author = {Martin Zinkevich and Markus Weimer and Alexander J. Smola and Lihong Li},
	Booktitle = {NIPS},
	Pages = {2595-2603},
	Title = {Parallelized Stochastic Gradient Descent},
	Year = {2010}}

@book{Zins06a,
	Asin = {0060891548},
	Author = {William Zinsser},
	Description = {I strongly recommend reading this book, even if English is not your native language.},
	Dewey = {808.042},
	Ean = {9780060891541},
	Edition = {Anniversary.},
	Isbn = {0060891548},
	Keywords = {book classic guide location:straba nonfiction rating:5 read:2008 well writing},
	Publisher = {B\&T},
	Title = {On Writing Well: The Classic Guide to Writing Nonfiction},
	Year = {2006}}

@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}}

@book{Zobe14a,
	Author = {J. Zobel},
	Edition = {Third},
	Isbn = {978-1-4471-6638-2},
	doi = {10.1007/978-1-4471-6639-9},
	Keywords = {book scglib},
	Publisher = {Springer-Verlag},
	Title = {Writing for Computer Science},
	Year = {2014}}

@inproceedings{Zoll12a,
	Acmid = {2419556},
	Address = {Washington, DC, USA},
	Author = {Zoller, Christian and Schmolitzky, Axel},
	Booktitle = {Proceedings of the 2012 Joint Conference of the 22Nd International Workshop on Software Measurement and the 2012 Seventh International Conference on Software Process and Product Measurement},
	Doi = {10.1109/IWSM-MENSURA.2012.15},
	Isbn = {978-0-7695-4840-1},
	Numpages = {10},
	Pages = {43--52},
	Publisher = {IEEE Computer Society},
	Series = {IWSM-MENSURA '12},
	Title = {Measuring Inappropriate Generosity with Access Modifiers in Java Systems},
	Url = {http://dx.doi.org/10.1109/IWSM-MENSURA.2012.15},
	Year = {2012},
	Bdsk-Url-1 = {http://dx.doi.org/10.1109/IWSM-MENSURA.2012.15}}

@inproceedings{Zolo14a,
  author    = {Athanasios Zolotas and
               Dimitris S. Kolovos and
               Nicholas Drivalos Matragkas and
               Richard F. Paige},
  title     = {Assigning Semantics to Graphical Concrete Syntaxes},
  booktitle = {Proceedings of the 3rd Workshop on Extreme Modeling co-located with
               {ACM/IEEE} 17th International Conference on Model Driven Engineering
               Languages {\&} Systems, XM@MoDELS 2014, Valencia, Spain, September
               29, 2014.},
  pages     = {12--21},
  year      = {2014},
  url       = {http://ceur-ws.org/Vol-1239/xm14\_submission\_7.pdf},
  timestamp = {Tue, 28 May 2019 16:23:34 +0200},
  url = {http://ceur-ws.org/Vol-1239/XM2014.pdf#page=19}
}

@misc{Zong07a,
 author = {Doug Zongker},
 title = {{Chicken Chicken Chicken: Chicken Chicken}},
 note = {Presented at the AAAS humor session},
 keywords = {parody},
 url = {https://isotropic.org/papers/chicken.pdf},
 year = {2007}
}

@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{Zou17a,
 author = {Zou, Jie and Xu, Ling and Yang, Mengning and Zhang, Xiaohong and Yang, Dan},
 title = {Towards Comprehending the Non-functional Requirements Through Developers' Eyes},
 journal = {Inf. Softw. Technol.},
 issue_date = {April 2017},
 volume = {84},
 number = {C},
 month = apr,
 year = {2017},
 issn = {0950-5849},
 pages = {19--32},
 numpages = {14},
 url = {https://doi.org/10.1016/j.infsof.2016.12.003},
 doi = {10.1016/j.infsof.2016.12.003},
 acmid = {3068580},
 publisher = {Butterworth-Heinemann},
 address = {Newton, MA, USA},
 keywords = {Latent Dirichlet allocation (LDA), Stack Overflow, dev-questions}
 }

@article{Zou19a,
  title={How does code style inconsistency affect pull request integration? An exploratory study on 117 GitHub projects},
  author={Zou, Weiqin and Xuan, Jifeng and Xie, Xiaoyuan and Chen, Zhenyu and Xu, Baowen},
  journal={Empirical Software Engineering},
  volume={24},
  number={6},
  pages={3871--3903},
  year={2019},
  publisher={Springer}
}

@incollection{Zowg05a,
	title={Requirements elicitation: A survey of techniques, approaches, and tools},
	author={Zowghi, Didar and Coulin, Chad},
	booktitle={Engineering and managing software requirements},
	pages={19--46},
	year={2005},
	publisher={Springer}
}

@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}}

@techreport{Zuer20a,
	Title = {Test name recommendation --- A study of the unit test naming and naming traditions},
	Author = {Christian Z\"urcher},
	Abstract = {The name of a unit test is an essential part of it
		and helps the developers to understand its purpose
		and to identify tests inside test suites. And even
		though such names have a lot of benefits, many
		tests end without a descriptive name. This occurs
		not only in automatically generated tests but also
		in manually written ones. Automatically generating
		descriptive names is confronted with the challenge
		that there is a vast variety of tests, written by
		different developers with different conventions, or
		generated by different tools. In this thesis, we
		present an automated approach to generate
		descriptive names based on the test body by finding
		the focal method of the test, around which it was
		written. We compared our results to the original
		names and to other publications to find out that
		our approach provides good results for all kind of
		tests even though in specific scenarios, other
		approaches may work better. Finally, we found out,
		that the names created by developers, when done
		correctly, are still the most descriptive.},
	Institution = {University of Bern},
	Keywords = {scg-bp snf-asa3 scg20 jb20},
	Type = {Bachelor's thesis},
	Url = {http://scg.unibe.ch/archive/projects/Zuer20a.pdf},
	Month = jan,
	Year = {2020}
}

@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 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}}

