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

%% This BibTeX bibliography file was created using BibDesk.
%% http://bibdesk.sourceforge.net/


%% Created for cami at 2011-02-18 13:30:46 +0100 


%% Saved with string encoding Unicode (UTF-8) 

@techreport{Mill03c,
    author = {Mark Miller and Ka-Ping Yee and Jonathan Shapiro},
    title = {Capability Myths Demolished},
    institution = {Combex Inc},
    year = {2003}
}



@inproceedings{Gogu82a,
	author ={Joseph A. Goguen and J Meseguer},
	title = {Security Policies and security models},
	booktitle = {IEEE Symposium on Security and Privacy},
	pages = {11-20},
	year = {1982}
}

@article{Uppe74a,
	Author = {Upper, D.},
	Citeulike-Article-Id = {8348695},
	Citeulike-Linkout-0 = {http://view.ncbi.nlm.nih.gov/pubmed/16795475]},
	Citeulike-Linkout-1 = {http://www.hubmed.org/display.cgi?uids=16795475]},
	Date-Added = {2011-02-18 13:05:41 +0100},
	Date-Modified = {2011-02-18 13:05:41 +0100},
	Issn = {0021-8855},
	Journal = {Journal of applied behavior analysis},
	Number = {3},
	Posted-At = {2011-02-01 09:05:47},
	Priority = {2},
	Rating = {5},
	Read = {1},
	Title = {{The unsuccessful self-treatment of a case of "writer's block".}},
	Url = {http://view.ncbi.nlm.nih.gov/pubmed/16795475]},
	Volume = {7},
	Year = {1974},
	Bdsk-File-1 = {YnBsaXN0MDDUAQIDBAUIJidUJHRvcFgkb2JqZWN0c1gkdmVyc2lvblkkYXJjaGl2ZXLRBgdUcm9vdIABqAkKFRYXGyIjVSRudWxs0wsMDQ4RFFpOUy5vYmplY3RzV05TLmtleXNWJGNsYXNzog8QgASABqISE4ACgAOAB1lhbGlhc0RhdGFccmVsYXRpdmVQYXRo0hgNGRpXTlMuZGF0YU8RAhoAAAAAAhoAAgAABGRhdGEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMfgNJVIKwAAADXQCx9VcHBlNzRhIFRoZSB1bnN1Y2NlcyMzM0QzRkIucGRmAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAM9P7yVXe7AAAAAAAAAAAAAYAAgAACQAAAAAAAAAAAAAAAAAAAAAFcGFwZXIAABAACAAAx+AYdQAAABEACAAAyVXQ3AAAAAEACAA10AsABB0dAAIANGRhdGE6ZWR1Y2F0aW9uOnBhcGVyOlVwcGU3NGEgVGhlIHVuc3VjY2VzIzMzRDNGQi5wZGYADgCWAEoAVQBwAHAAZQA3ADQAYQAgAFQAaABlACAAdQBuAHMAdQBjAGMAZQBzAHMAZgB1AGwAIABzAGUAbABmAC0AdAByAGUAYQB0AG0AZQBuAHQAIABvAGYAIABhACAAYwBhAHMAZQAgAG8AZgAgACIAdwByAGkAdABlAHIAJwBzACAAYgBsAG8AYwBrACIALgAuAHAAZABmAA8ACgAEAGQAYQB0AGEAEgBbL2VkdWNhdGlvbi9wYXBlci9VcHBlNzRhIFRoZSB1bnN1Y2Nlc3NmdWwgc2VsZi10cmVhdG1lbnQgb2YgYSBjYXNlIG9mICJ3cml0ZXIncyBibG9jayIuLnBkZgAAEwANL1ZvbHVtZXMvZGF0YQD//wAAgAXSHB0eH1gkY2xhc3Nlc1okY2xhc3NuYW1lox8gIV1OU011dGFibGVEYXRhVk5TRGF0YVhOU09iamVjdF8QYi4uLy4uLy4uLy4uLy4uLy4uL3BhcGVyL1VwcGU3NGEgVGhlIHVuc3VjY2Vzc2Z1bCBzZWxmLXRyZWF0bWVudCBvZiBhIGNhc2Ugb2YgIndyaXRlcidzIGJsb2NrIi4ucGRm0hwdJCWiJSFcTlNEaWN0aW9uYXJ5EgABhqBfEA9OU0tleWVkQXJjaGl2ZXIACAARABYAHwAoADIANQA6ADwARQBLAFIAXQBlAGwAbwBxAHMAdgB4AHoAfACGAJMAmACgAr4CwALFAs4C2QLdAusC8gL7A2ADZQNoA3UDegAAAAAAAAIBAAAAAAAAACgAAAAAAAAAAAAAAAAAAAOM},
	Bdsk-Url-1 = {http://view.ncbi.nlm.nih.gov/pubmed/16795475%5D}}

@techreport{Hunt05a,
	Abstract = {Singularity is a research project in Microsoft Research that started with the question: what would a software platform look like if it was designed from scratch with the primary goal of dependability? Singularity is working to answer this question by building on advances in programming languages and tools to develop a new system architecture and operating system (named Singularity), with the aim of producing a more robust and dependable software platform. Singularity demonstrates the practicality of new technologies and architectural decisions, which should lead to the construction of more robust and dependable systems.},
	Annote = {- security through microkernel approach
- no shared memory
- clear isolation of processes each having its own runtime, memory, GC
- no leaking objects
- separate exchange heap is used for interprocess data
- communication only over securely/strongly typed channels
- each process specifies exactly which resources/channel it wants to use
- no runtime reflection!! only at compile time
- compiler assures a program's safeness},
	Author = {Hunt, G. and Larus, J.R. and Abadi, M. and Aiken, M. and Barham, P. and Fahndrich, M. and Hawblitzel, C. and Hodson, O. and Levi, S. and Murphy, N. and others},
	Date-Added = {2011-02-18 13:05:24 +0100},
	Date-Modified = {2011-02-18 13:30:34 +0100},
	Institution = {Microsoft Research},
	Keywords = {actors, singularity, compile time meta programming, microkernel},
	Month = {oct},
	Number = {MSR-TR-2005-135},
	Pages = {44},
	Read = {1},
	Title = {{An Overview of the Singularity Project}},
	Url = {http://research.microsoft.com/apps/pubs/default.aspx?id=52716},
	Year = {2005},
	Bdsk-File-1 = {YnBsaXN0MDDUAQIDBAUIJidUJHRvcFgkb2JqZWN0c1gkdmVyc2lvblkkYXJjaGl2ZXLRBgdUcm9vdIABqAkKFRYXGyIjVSRudWxs0wsMDQ4RFFpOUy5vYmplY3RzV05TLmtleXNWJGNsYXNzog8QgASABqISE4ACgAOAB1lhbGlhc0RhdGFccmVsYXRpdmVQYXRo0hgNGRpXTlMuZGF0YU8RAcwAAAAAAcwAAgAABGRhdGEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMfgNJVIKwAAADXQCx9IdW50YSBBbiBPdmVydmlldyBvZiMzNDJGMUMucGRmAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANC8cyW20dlBERiAAAAAAAAYAAgAACQAAAAAAAAAAAAAAAAAAAAAFcGFwZXIAABAACAAAx+AYdQAAABEACAAAyW2mZgAAAAEACAA10AsABB0dAAIANGRhdGE6ZWR1Y2F0aW9uOnBhcGVyOkh1bnRhIEFuIE92ZXJ2aWV3IG9mIzM0MkYxQy5wZGYADgBiADAASAB1AG4AdABhACAAQQBuACAATwB2AGUAcgB2AGkAZQB3ACAAbwBmACAAdABoAGUAIABTAGkAbgBnAHUAbABhAHIAaQB0AHkAIABQAHIAbwBqAGUAYwB0AC4AcABkAGYADwAKAAQAZABhAHQAYQASAEEvZWR1Y2F0aW9uL3BhcGVyL0h1bnRhIEFuIE92ZXJ2aWV3IG9mIHRoZSBTaW5ndWxhcml0eSBQcm9qZWN0LnBkZgAAEwANL1ZvbHVtZXMvZGF0YQD//wAAgAXSHB0eH1gkY2xhc3Nlc1okY2xhc3NuYW1lox8gIV1OU011dGFibGVEYXRhVk5TRGF0YVhOU09iamVjdF8QSC4uLy4uLy4uLy4uLy4uLy4uL3BhcGVyL0h1bnRhIEFuIE92ZXJ2aWV3IG9mIHRoZSBTaW5ndWxhcml0eSBQcm9qZWN0LnBkZtIcHSQloiUhXE5TRGljdGlvbmFyeRIAAYagXxAPTlNLZXllZEFyY2hpdmVyAAgAEQAWAB8AKAAyADUAOgA8AEUASwBSAF0AZQBsAG8AcQBzAHYAeAB6AHwAhgCTAJgAoAJwAnICdwKAAosCjwKdAqQCrQL4Av0DAAMNAxIAAAAAAAACAQAAAAAAAAAoAAAAAAAAAAAAAAAAAAADJA==},
	Bdsk-Url-1 = {http://research.microsoft.com/apps/pubs/default.aspx?id=52716}}

@techreport{Fitz98a,
	Abstract = {The Marmot system is a research platform for studying the implementation of high level programming languages. It currently comprises an optimizing native-code compiler, runtime system, and libraries for a large subset of Java. Marmot integrates well-known representation, optimization, code generation, and runtime techniques with a few Java-specific features to achieve competitive performance.
This paper contains a description of the Marmot system design, along with highlights of our experience applying and adapting traditional implementation techniques to Java. A detailed performance evaluation assesses both Marmot's overall performance relative to other Java and C++ implementations and the relative costs of various Java language features in Marmot-compiled code.
Our experience with Marmot has demonstrated that well-known compilation techniques can produce very good performance for static Java applications---comparable or superior to other Java systems, and approaching that of C++ in some cases.},
	Annote = {explains different optimization techniques on a static java program (no dynamic class loading)!
java compiled to native},
	Author = {Robert Fitzgerald and Todd B. Knoblock and Erik Ruf and Bjarne Steensgaard and David Tarditi},
	Date-Added = {2011-02-18 13:05:04 +0100},
	Date-Modified = {2011-02-18 13:30:46 +0100},
	Institution = {Microsoft Researcho},
	Keywords = {compiler, optimizations, ssa,},
	Month = {jun},
	Number = {MSR-TR-99-33},
	Pages = {29},
	Read = {1},
	Title = {Marmot: An Optimizing Compiler for Java},
	Url = {http://research.microsoft.com/apps/pubs/default.aspx?id=68561},
	Year = {1999},
	Bdsk-File-1 = {YnBsaXN0MDDUAQIDBAUIJidUJHRvcFgkb2JqZWN0c1gkdmVyc2lvblkkYXJjaGl2ZXLRBgdUcm9vdIABqAkKFRYXGyIjVSRudWxs0wsMDQ4RFFpOUy5vYmplY3RzV05TLmtleXNWJGNsYXNzog8QgASABqISE4ACgAOAB1lhbGlhc0RhdGFccmVsYXRpdmVQYXRo0hgNGRpXTlMuZGF0YU8RAdIAAAAAAdIAAgAABGRhdGEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMfgNJVIKwAAADXQCx9GaXR6OThhIE1hcm1vdCBBbiBPcCMzNDU1RTQucGRmAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANFXkyW9TaFBERiAAAAAAAAYAAgAACQAAAAAAAAAAAAAAAAAAAAAFcGFwZXIAABAACAAAx+AYdQAAABEACAAAyW9FWAAAAAEACAA10AsABB0dAAIANGRhdGE6ZWR1Y2F0aW9uOnBhcGVyOkZpdHo5OGEgTWFybW90IEFuIE9wIzM0NTVFNC5wZGYADgBmADIARgBpAHQAegA5ADgAYQAgAE0AYQByAG0AbwB0ACAAQQBuACAATwBwAHQAaQBtAGkAegBpAG4AZwAgAEMAbwBtAHAAaQBsAGUAcgAgAGYAbwByACAASgBhAHYAYQAuAHAAZABmAA8ACgAEAGQAYQB0AGEAEgBDL2VkdWNhdGlvbi9wYXBlci9GaXR6OThhIE1hcm1vdCBBbiBPcHRpbWl6aW5nIENvbXBpbGVyIGZvciBKYXZhLnBkZgAAEwANL1ZvbHVtZXMvZGF0YQD//wAAgAXSHB0eH1gkY2xhc3Nlc1okY2xhc3NuYW1lox8gIV1OU011dGFibGVEYXRhVk5TRGF0YVhOU09iamVjdF8QSi4uLy4uLy4uLy4uLy4uLy4uL3BhcGVyL0ZpdHo5OGEgTWFybW90IEFuIE9wdGltaXppbmcgQ29tcGlsZXIgZm9yIEphdmEucGRm0hwdJCWiJSFcTlNEaWN0aW9uYXJ5EgABhqBfEA9OU0tleWVkQXJjaGl2ZXIACAARABYAHwAoADIANQA6ADwARQBLAFIAXQBlAGwAbwBxAHMAdgB4AHoAfACGAJMAmACgAnYCeAJ9AoYCkQKVAqMCqgKzAwADBQMIAxUDGgAAAAAAAAIBAAAAAAAAACgAAAAAAAAAAAAAAAAAAAMs},
	Bdsk-Url-1 = {http://research.microsoft.com/apps/pubs/default.aspx?id=68561}}

@inproceedings{Nent07a,
	Abstract = {{Cross-site scripting (XSS) is an attack against web applications in which scripting code is injected into the output of an application that is then sent to a user's web browser. In the browser, this scripting code is executed and used to transfer sensitive data to a third party (i.e., the attacker). Currently, most approaches attempt to prevent XSS on the server side by inspecting and modifying the data that is exchanged between the web application and the user. Unfortunately, it is often the case that vulnerable applications are not fixed for a considerable amount of time, leaving the users vulnerable to attacks. The solution presented in this paper stops XSS attacks on the client side by tracking the flow of sensitive information inside the web browser. If sensitive information is about to be transferred to a third party, the user can decide if this should be permitted or not. As a result, the user has an additional protection layer when surfing the web, without solely depending on the security of the web application}},
	Annote = {Therefore, to guaran- tee that no information can be leaked using indirect control dependencies (that is, to provide a noninterference [8] guar- antee), static analysis is necessary. The static analysis must ensure that all variables that could receive a new value on any program path within the tainted scope are tainted.},
	Author = {Nentwich, Florian and Jovanovic, Nenad and Kirda, Engin and Kruegel, Christopher and Vigna, Giovanni},
	Booktitle = {In Proceeding of the Network and Distributed System Security Symposium (NDSS'07},
	Citeulike-Article-Id = {8790179},
	Date-Added = {2011-02-18 13:04:36 +0100},
	Date-Modified = {2011-02-18 13:04:41 +0100},
	Posted-At = {2011-02-09 11:20:17},
	Priority = {2},
	Read = {1},
	Title = {{Cross-Site Scripting Prevention with Dynamic Data Tainting and Static Analysis}},
	Year = {2007},
	Bdsk-File-1 = {YnBsaXN0MDDUAQIDBAUIJidUJHRvcFgkb2JqZWN0c1gkdmVyc2lvblkkYXJjaGl2ZXLRBgdUcm9vdIABqAkKFRYXGyIjVSRudWxs0wsMDQ4RFFpOUy5vYmplY3RzV05TLmtleXNWJGNsYXNzog8QgASABqISE4ACgAOAB1lhbGlhc0RhdGFccmVsYXRpdmVQYXRo0hgNGRpXTlMuZGF0YU8RAkoAAAAAAkoAAgAABGRhdGEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMfgNJVIKwAAADXQCx9OZW50MDdhIENyb3NzLVNpdGUgUyMzNDlGRkQucGRmAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANJ/9yXg3TVBERiAAAAAAAAYAAgAACQAAAAAAAAAAAAAAAAAAAAAFcGFwZXIAABAACAAAx+AYdQAAABEACAAAyXgpPQAAAAEACAA10AsABB0dAAIANGRhdGE6ZWR1Y2F0aW9uOnBhcGVyOk5lbnQwN2EgQ3Jvc3MtU2l0ZSBTIzM0OUZGRC5wZGYADgC2AFoATgBlAG4AdAAwADcAYQAgAEMAcgBvAHMAcwAtAFMAaQB0AGUAIABTAGMAcgBpAHAAdABpAG4AZwAgAFAAcgBlAHYAZQBuAHQAaQBvAG4AIAB3AGkAdABoACAARAB5AG4AYQBtAGkAYwAgAEQAYQB0AGEAIABUAGEAaQBuAHQAaQBuAGcAIABhAG4AZAAgAFMAdABhAHQAaQBjACAAQQBuAGEAbAB5AHMAaQBzAC4AcABkAGYADwAKAAQAZABhAHQAYQASAGsvZWR1Y2F0aW9uL3BhcGVyL05lbnQwN2EgQ3Jvc3MtU2l0ZSBTY3JpcHRpbmcgUHJldmVudGlvbiB3aXRoIER5bmFtaWMgRGF0YSBUYWludGluZyBhbmQgU3RhdGljIEFuYWx5c2lzLnBkZgAAEwANL1ZvbHVtZXMvZGF0YQD//wAAgAXSHB0eH1gkY2xhc3Nlc1okY2xhc3NuYW1lox8gIV1OU011dGFibGVEYXRhVk5TRGF0YVhOU09iamVjdF8Qci4uLy4uLy4uLy4uLy4uLy4uL3BhcGVyL05lbnQwN2EgQ3Jvc3MtU2l0ZSBTY3JpcHRpbmcgUHJldmVudGlvbiB3aXRoIER5bmFtaWMgRGF0YSBUYWludGluZyBhbmQgU3RhdGljIEFuYWx5c2lzLnBkZtIcHSQloiUhXE5TRGljdGlvbmFyeRIAAYagXxAPTlNLZXllZEFyY2hpdmVyAAgAEQAWAB8AKAAyADUAOgA8AEUASwBSAF0AZQBsAG8AcQBzAHYAeAB6AHwAhgCTAJgAoALuAvAC9QL+AwkDDQMbAyIDKwOgA6UDqAO1A7oAAAAAAAACAQAAAAAAAAAoAAAAAAAAAAAAAAAAAAADzA==}}

@inproceedings{McCa06a,
	Author = {S. McCamant and G. Morrisett},
	Booktitle = {15th USENIX Security Symposium},
	Title = {{Evaluating SFI for a CISC Architecture}},
	Year = {2006}}

@inproceedings{Wahb93a,
	Author = {R. Wahbe and S. Lucco and T. E. Anderson and S. L. Graham},
	Booktitle = {Symposium on Operating Systems Principles (SOSP)},
	Publisher = {ACM},
	Title = {Efficient Software-Based Fault Isolation},
	Year = {1993}}

@incollection{Masu03a,
	Affiliation = {University of Tokyo Graduate School of Arts and Sciences Tokyo},
	Author = {Masuhara, H. and Kiczales, G. and Dutchyn, C.},
	Booktitle = {Compiler Construction},
	Editor = {Hedin, G\"orel},
	Pages = {46-60},
	Publisher = {Springer Berlin / Heidelberg},
	Series = {Lecture Notes in Computer Science},
	Title = {A Compilation and Optimization Model for Aspect-Oriented Programs},
	Url = {http://dx.doi.org/10.1007/3-540-36579-6_4},
	Volume = {2622},
	Year = {2003},
	Bdsk-Url-1 = {http://dx.doi.org/10.1007/3-540-36579-6_4}}

@inproceedings{Murp09a,
	Author = {Gail C. Murphy and Petcharat Viriyakattiyaporn and David Shepherd},
	Booktitle = {Proceedings of ICPC 2009 (17th IEEE International Conference on Program Comprehension},
	Pages = {90-94},
	Title = {Using activity traces to characterize programming behaviour beyond the lab},
	Year = {2009}}

@inproceedings{Oliv10a,
	Author = {Fernando Olivero and Michele Lanza and Mircea Lungu},
	Booktitle = {Proceedings of FlexiTools 2010 (1st International Workshop on Flexible Modeling Tools)},
	Keywords = {pub-iene proj-gsync},
	Title = {Gaucho: From Integrated Development Environments to Direct Manipulation Environments},
	Year = {2010}}

@article{Robb10c,
	Author = {Romain Robbes and Michele Lanza},
	Journal = {Journal of Automated Software Engineering},
	Keywords = {pub-iene proj-rebase},
	Number = {2},
	Pages = {181-212},
	Publisher = {Springer},
	Title = {Improving Code Completion with Program History},
	Volume = {17},
	Year = {2010}}

@inproceedings{Robb10b,
	Author = {Romain Robbes and Damien Pollet and Michele Lanza},
	Booktitle = {Proceedings of MSR 2010 (7th IEEE Working Conference on Mining Software Repositories)},
	Keywords = {pub-iene proj-rebase},
	Pages = {161 - 170},
	Publisher = {IEEE CS Press},
	Title = {Replaying IDE Interactions to Evaluate and Improve Change Prediction Approaches},
	Year = {2010}}

@book{Clay08a,
	Author = {Clayberg, Eric and Rubel, Dan},
	Day = {21},
	Edition = {3},
	Howpublished = {Paperback},
	Isbn = {0321553462},
	Publisher = {Addison-Wesley Professional},
	Title = {{Eclipse Plug-ins (3rd Edition)}},
	Year = {2008}}

@inproceedings{Vasi10a,
	Author = {Bogdan Vasilescu and Alexander Serebrenik and Mark van den Brand},
	Booktitle = {Proceedings of the International Worskhop Benevol 2010},
	Title = {Comparative Study of Software Metrics' Aggregation Techniques},
	Year = {2010}}

@inproceedings{Sere10a,
	Author = {Alexander Serebrenik and Mark van den Brand},
	Booktitle = {Proceedings of ICSM 2010},
	Title = {Theil index for aggregation of software metrics values},
	Year = {2010}}

@article{Fell92a,
	Author = {Matthias Felleisen and Robert Hieb},
	Issues = {2},
	Journal = {Theoretical Computer Science},
	Pages = {235 - 271},
	Title = {The revised report on the syntactic theories of sequential control and state},
	Volume = {103},
	Year = {1992}}

@article{Sabe03a,
	Author = {Andrei Sabelfeld and Andrew C. Myers},
	Journal = {IEEE Journal on Selected Areas in Communications},
	Pages = {2003},
	Title = {Language-Based Information-Flow Security},
	Volume = {21},
	Year = {2003}}

@inproceedings{Bier10a,
	Author = {Bierman, Gavin and Meijer, Erik and Torgesen, Mads},
	Booktitle = {Proceedings of ECOOP 2010},
	Title = {Adding dynamic types to C\#},
	Year = {2010}}

@inproceedings{Russ10a,
	Author = {Alejandro Russo and Andrei Sabelfeld},
	Booktitle = {Computer Security Foundation},
	Ee = {http://doi.ieeecomputersociety.org/10.1109/CSF.2010.20},
	Pages = {186-199},
	Title = {Dynamic vs. Static Flow-Sensitive Security Analysis},
	Year = {2010}}

@inproceedings{Prov07a,
	Author = {N. Provos and D. McNamee and P. Mavrommatis and K. Wang and N. Modadugu},
	Booktitle = {HotBots},
	Title = {The ghost in the browser analysis of web-based malware},
	Year = {2007}}

@inproceedings{Vanc10a,
	Author = {Van Cutsem, Tom and Miller, Mark S.},
	Doi = {10.1145/1899661.1869638},
	Month = {oct},
	Pages = {59--72},
	Publisher = {ACM},
	Title = {Proxies: design principles for robust object-oriented intercession APIs},
    Booktitle = {Dynamic Language Symposium},
	Url = {http://doi.acm.org/10.1145/1899661.1869638},
	Volume = {45},
	Year = {2010},
	Bdsk-Url-1 = {http://doi.acm.org/10.1145/1899661.1869638}}

@inproceedings{Breg01a,
	Author = {Fabian Breg and Constantine D. Polychronopoulos},
	Booktitle = {Joint ACM Java Grande - ISCOPE 2001 Conference},
	Title = {Java Virtual Machine Support for Object Serialization},
	Year = {2001}}

@misc{OSGI06,
	Author = {{OSGI Alliance}},
	Howpublished = {Available at: \texttt{http://www.osgi.org}},
	Title = {{OSGI Service Platform -- Core Specification -- Release 4, Version 4.0.1}},
	Year = {2006}}

@misc{OSGI,
	Key = {OSGI},
	Title = {OSGi Alliance},
	Url = {http://www.osgi.org},
	Bdsk-Url-1 = {http://www.osgi.org}}

@article{Parr09a,
	Author = {P. Parrend and S. Fr{\'e}not},
	Journal = {Softw., Pract. Exper.},
	Number = {5},
	Title = {Security benchmarks of OSGi platforms: toward Hardened OSGi},
	Volume = {39},
	Year = {2009}}

@inproceedings{Came09a,
	Author = {N. R. Cameron and S. Drossopoulou},
	Booktitle = {18th European Symposium on Programming},
	Number = {5502},
	Publisher = {Springer},
	Series = {Lecture Notes in Computer Science},
	Title = {Existential Quantification for Variant Ownership},
	Year = {2009}}

@inproceedings{Clar03b,
	Author = {D. Clarke and T. Wrigstad},
	Booktitle = {Proceedings 17th European Conference on Object-Oriented Programming (ECOOP)},
	Title = {External Uniqueness is Unique Enough},
	Year = {2003}}

@misc{JSR121,
	Author = {Java-Community-Process},
	Howpublished = {http://jcp.org/en/jsr/detail?id=121},
	Title = {{Application Isolation API Specification}}}

@inproceedings{Back00a,
	Author = {G. Back and W. Hsieh and J. Lepreau},
	Booktitle = {4th USENIX International Symposium on Operating System Design and Implementation (OSDI)},
	Title = {Processes in KaffeOS: Isolation, Resource Management and Sharing in Java},
	Year = {2000}}

@inproceedings{Geof09a,
	Author = {N. Geoffray and G. Thomas and G. Muller and P. Parrend and S. Fr\'enot and B. Folliot},
	Booktitle = {International Conference on Dependable Systems and Networks (DSN 2009)},
	Publisher = {IEEE Computer Society},
	Title = {I-JVM: a Java Virtual Machine for Component Isolation in OSGi},
	Year = {2009}}

@inproceedings{Lien07f,
	Author = {M. Lienhardt and A. Schmitt and J.B. Stefani},
	Booktitle = {6th ACM International Conference on Generative Programming and Component Engineering (GPCE)},
	Publisher = {ACM Press},
	Title = {Oz/K: A Kernel Language for Component-Based Open Programming},
	Year = {2007}}

@inproceedings{Fahn06a,
	Author = {M. Fahndrich and M. Aiken and C. Hawblitzel and O. Hodson and G. Hunt and J. Larus and S. Levi},
	Booktitle = {1st EuroSys Conference},
	Publisher = {ACM},
	Title = {Language Support for Fast and Reliable Message-based Communication in Singularity OS},
	Year = {2006}}

@inproceedings{Fahn06b,
	Address = {New York, NY, USA},
	Author = {F\"{a}hndrich, Manuel and Carbin, Michael and Larus, James R.},
	Booktitle = {GPCE '06: Proceedings of the 5th international conference on Generative programming and component engineering},
	Doi = {10.1145/1173706.1173748},
	Isbn = {1-59593-237-2},
	Location = {Portland, Oregon, USA},
	Pages = {275--284},
	Publisher = {ACM},
	Title = {Reflective program generation with patterns},
	Year = {2006},
	Bdsk-Url-1 = {http://dx.doi.org/10.1145/1173706.1173748}}

@article{Sago06a,
	Author = {K. F. Sagonas and J. Wilhelmsson},
	Journal = {Science Computer Programming},
	Number = {2},
	Title = {Efficient memory management for concurrent programs that use message passing},
	Volume = {62},
	Year = {2006}}

@phdthesis{Clau09a,
	Address = {Grenoble France},
	Author = {Benoit Claudel},
	Month = dec,
	School = {Institut Polytechnique de Grenoble},
	Title = {M{\'e}canismes logiciels de protection m{\'e}moire},
	Year = {2009}}

@inproceedings{Sein06a,
	Author = {L. Seinturier and N. Pessemier and L. Duchien and T. Coupaye},
	Booktitle = {9th International Symposium on Component-Based Software Engineering (CBSE)},
	Number = {4063},
	Publisher = {Springer},
	Series = {Lecture Notes in Computer Science},
	Title = {A Component Model Engineering with Components and Aspects},
	Year = {2006}}

@inproceedings{Mett10a,
	Author = {Mettler, Adrian and Wagner, David and Close, Tyler},
	Booktitle = {Proceedings of Annual Network and Distributed System Security Symposium (ISOC NSSS)},
	Keywords = {security static type},
	Pages = {375--388},
	Title = {Joe-E: A Security-Oriented Subset of Java},
	Year = {2010}}

@inproceedings{Mina05a,
	Author = {Minamide Y.},
	Booktitle = {WWW},
	Keywords = {security static type},
	Title = {Static Approximation of Dynamically Generated Web Pages},
	Year = {2005}}

@inproceedings{Kiku08a,
	Author = {Haruka Kikuchi and Dachuan Yu and Ajay Chander and Hiroshi Inamura and Igor Serikov},
	Booktitle = {APLAS 2008},
	Keywords = {security instrumentation},
	Title = {JavaScript Instrumentation in Practice},
	Year = {2008}}

@inproceedings{Yu07a,
	Author = {Dachuan Yu and Ajay Chander and Nayeem Islam and Igor Serikov},
	Booktitle = {Popl 2007},
	Keywords = {security instrumentation},
	Title = {JavaScript Instrumentation for Browser Security},
	Year = {2008}}

@inproceedings{Fini10a,
	Author = {Matthew Finifter and Joel Weinberger and Adam Barth},
	Booktitle = {Proceedings of Network and Distributed System Security Symposium},
	Keywords = {security static type},
	Pages = {375--388},
	Title = {Preventing Capability Leaks in Secure JavaScript Subsets},
	Year = {2010}}

@inproceedings{Ande05a,
	Author = {Anderson, Christopher and Giannini, Paola and Drossopoulou, Sophia},
	Booktitle = {ECOOP'05},
	Keywords = {inference type},
	Title = {Towards Type Inference for JavaScript},
	Year = {2005}}

@inproceedings{Lam08a,
	Author = {Lam, Monica S. and Martin, Michael and Livshits, Benjamin and Whaley, John},
	Booktitle = {PEPM'08},
	Keywords = {security static type model checking},
	Title = {Securing Web Applications with Static and Dynamic Information Flow Tracking},
	Year = {2008}}

@article{Ran03a,
	Author = {Ran, S.},
	Journal = {Newsletter ACM SIGecom Exchanges},
	Pages = {1--10},
	Title = {A Model for Web Services Discovery With QoS},
	Volume = {4},
	Year = {2003}}

@inproceedings{Gall08a,
	Author = {Galloti, S. and Mirandola, R. and Tamburrelli, G.},
	Booktitle = {Proceedings of the 4th International Conference on Quality of Software-Architectures},
	Pages = {119-134},
	Publisher = {Springer-Verlag},
	Title = {Quality prediction of service compositions through probabilistic model checking},
	Year = {2008}}

@article{Card02a,
	Author = {Cardoso, J. and Miller, J. and Arnold, J.},
	Journal = {Journal of Web Semantics},
	Month = may,
	Pages = {281-308},
	Title = {Modeling quality of service for workflows and web service processes},
	Volume = {1},
	Year = {2002}}

@inproceedings{Jaeg05a,
	Author = {Jaeger, M. C. Rojec Goldmann, G. and Muhl, G},
	Booktitle = {Proceedings of the 2005 IEEE International Conference on e-Technology, e-Commerce and e-Service on e-Technology, e-Commerce and e-Service. Washington, DC, USA: IEEE Computer Society},
	Pages = {181-185},
	Publisher = {IEEE Computer Society},
	Title = {Qos aggregation in web service compositions,},
	Year = {2005}}

@inproceedings{Liu04a,
	Author = {Liu, Y. and Ngu, A. H. and Zeng, L. Z.},
	Booktitle = {Proceedings of the 13th international World Wide Web conference on Alternate track papers and posters. New York, USA},
	Pages = {66-73},
	Publisher = {ACM},
	Title = {Qos computation and policing in dynamic web service selection},
	Year = {2004}}

@techreport{Lee03a,
	Author = {Lee, K. and Jeon, J. and Lee, W. and Park, S.W.},
	Institution = {W3C},
	Journal = {W3C Working Group Note 25},
	Month = nov,
	Title = {Qos for web services: Requirements and possible approaches},
	Year = {2003}}

@inproceedings{Tahe05a,
	Acmid = {1114919},
	Address = {Washington, DC, USA},
	Author = {Taher, Laila and Basha, Rawshan and El Khatib, Hazem},
	Booktitle = {Proceedings of the International Conference on Next Generation Web Services Practices},
	Doi = {10.1109/NWESP.2005.37},
	Isbn = {0-7695-2452-4},
	Keywords = {QoS, QoS-IC, QoS Manager, QoS-Constraints},
	Pages = {163--},
	Publisher = {IEEE Computer Society},
	Title = {Establishing Association between QoS Properties in Service Oriented Architecture},
	Url = {http://portal.acm.org/citation.cfm?id=1114688.1114919},
	Year = {2005},
	Bdsk-Url-1 = {http://portal.acm.org/citation.cfm?id=1114688.1114919},
	Bdsk-Url-2 = {http://dx.doi.org/10.1109/NWESP.2005.37}}

@inproceedings{Sato07a,
	Author = {Sato, N. and Trivedi, K. S.},
	Booktitle = {Proceedings of international conference on Service-Oriented Computing (ICSOC)},
	Pages = {107--118},
	Publisher = {Springer-Verlag},
	Title = {Stochastic modeling of composite web services for closed form analysis of their performance and reliability bottlenecks},
	Year = {2007}}

@article{ACM94a,
	Author = {{ACM}},
	Institution = {ACM},
	Journal = {Communications of the ACM},
	Month = apr,
	Number = {4},
	Title = {High Performance Computing},
	Volume = {37},
	Year = {1994}}

@article{ACM94b,
	Author = {{ACM}},
	Institution = {ACM},
	Journal = {Communications of the ACM},
	Month = may,
	Number = {5},
	Title = {Reverse Engineering},
	Volume = {37},
	Year = {1994}}

@article{ACM94c,
	Author = {{ACM}},
	Institution = {ACM},
	Journal = {Communications of the ACM},
	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},
	Month = jul,
	Number = {7},
	Title = {Intelligent Agents},
	Volume = {37},
	Year = {1994}}

@article{ACM94e,
	Author = {{ACM}},
	Institution = {ACM},
	Journal = {Communications of the ACM},
	Month = aug,
	Number = {8},
	Title = {Internet Technology},
	Volume = {37},
	Year = {1994}}

@article{ACM94f,
	Author = {{ACM}},
	Institution = {ACM},
	Journal = {Communications of the ACM},
	Month = sep,
	Number = {9},
	Title = {Object-Oriented Software Testing},
	Volume = {37},
	Year = {1994}}

@article{ACM94g,
	Author = {{ACM}},
	Institution = {ACM},
	Journal = {Communications of the ACM},
	Month = oct,
	Number = {10},
	Title = {Wireless Computing},
	Volume = {37},
	Year = {1994}}

@article{ACM94h,
	Author = {{ACM}},
	Institution = {ACM},
	Journal = {Communications of the ACM},
	Month = nov,
	Number = {11},
	Title = {Securing Cyberspace},
	Volume = {37},
	Year = {1994}}

@article{ACM94i,
	Author = {{ACM}},
	Institution = {ACM},
	Journal = {Communications of the ACM},
	Month = dec,
	Number = {12},
	Title = {Visualization and Design},
	Volume = {37},
	Year = {1994}}

@article{ACM95a,
	Author = {{ACM}},
	Institution = {ACM},
	Journal = {Communications of the ACM},
	Month = jan,
	Number = {1},
	Title = {Women in Computing},
	Volume = {38},
	Year = {1995}}

@article{ACM95b,
	Author = {{ACM}},
	Institution = {ACM},
	Journal = {Communications of the ACM},
	Month = feb,
	Number = {2},
	Title = {Issues and Challenges in {ATM} Networks},
	Volume = {38},
	Year = {1995}}

@misc{AGG,
	Key = {visprog agg},
	Note = {http://tfs.cs.tu-berlin.de/agg/index.html},
	Title = {{AGG} --- The Attributed Graph Grammar System},
	Url = {http://tfs.cs.tu-berlin.de/agg/index.html},
	Bdsk-Url-1 = {http://tfs.cs.tu-berlin.de/agg/index.html}}

@manual{ANSI83a,
	Address = {New York},
	Organization = {ANSI/IEEE Standard 729-1983},
	Title = {IEEE Standard Glossary of Software Engineering Terminology},
	Year = {1983}}

@manual{ANSI98a,
	Address = {New York},
	Note = {\url{http://wiki.squeak.org/squeak/uploads/172/standard\_v1\_9-indexed.pdf}},
	Organization = {ANSI},
	Title = {{A}merican {N}ational {S}tandard for {I}nformation {S}ystems -- {P}rogramming {L}anguages -- {S}malltalk, ANSI/INCITS 319-1998},
	Year = {1998}}

@misc{AOSD,
	Key = {AOSD},
	Note = {http://www.aosd.net},
	Title = {Aspect Oriented Software Development}}

@techreport{ASN102a,
	Author = {International Telecommunication Union},
	Institution = {International Telecommunication Union},
	Title = {Abstract Syntax Notation One ({ASN.1})},
	Url = {http://www.itu.int/ITU-T/studygroups/com17/languages/X.680-0207.pdf},
	Year = {2002},
	Bdsk-Url-1 = {http://www.itu.int/ITU-T/studygroups/com17/languages/X.680-0207.pdf}}

@misc{ASP,
	Key = {ASP},
	Note = {http://msdn.mi\-cro\-soft.com/nhp/?content\-id=28000522},
	Title = {{ASP}, Microsoft Active Server Pages}}

@misc{AWT,
	Key = {AWT},
	Note = {http://java.sun.com/j2se/1.3/docs/api/java/awt/package-summary.html},
	Title = {{AWT API}}}

@inproceedings{Aasa88a,
	Address = {Snowbird, Utah},
	Author = {Annika Aasa and Kent Petersson and Dan Synek},
	Booktitle = {Proceedings of the 1988 ACM Conference on Lisp and Functional Programming},
	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},
	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},
	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},
	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},
	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},
	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},
	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},
	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},
	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},
	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},
	Publisher = {Springer-Verlag},
	Title = {A Theory of Objects},
	Year = {1996}}

@article{Abad96b,
	Author = {Mart{\'\i}n Abadi and Luca Cardelli},
	Journal = {Information and Computation},
	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},
	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},
	Month = nov,
	Pages = {277--283},
	Title = {A {Smalltalk} System for Algebraic Manipulation},
	Year = {1986}}

@inproceedings{Abdi06a,
	Address = {Washington, DC, USA},
	Author = {M. K. Abdi and H. Lounis and H. Sahraoui},
	Booktitle = {EUROMICRO '06: Proceedings of the 32nd EUROMICRO Conference on Software Engineering and Advanced Applications},
	Doi = {10.1109/EUROMICRO.2006.20},
	Isbn = {0-7695-2594-6},
	Pages = {310--319},
	Publisher = {IEEE Computer Society},
	Title = {Analyzing Change Impact in Object-Oriented Systems},
	Year = {2006},
	Bdsk-Url-1 = {http://dx.doi.org/10.1109/EUROMICRO.2006.20}}

@inproceedings{Abdi09a,
	Author = {Abdi, Mustapha and Lounis, Hakim and Sahraoui, Houari},
	Booktitle = {Proceedings of LMO'09},
	Title = {Analyse et pr\'ediction de l'impact de changements dans un syst\`eme \`a objets : Approche probabiliste},
	Year = {2009}}

@inproceedings{Abel04a,
	Author = {James Abello and Frank van Ham},
	Bibsource = {DBLP, http://dblp.uni-trier.de},
	Booktitle = {10th IEEE Symposium on Information Visualization (InfoVis 2004), 10-12 October 2004, Austin, TX, USA},
	Ee = {10.1109/INFOVIS.2004.46},
	Isbn = {0-7803-8779-1},
	Pages = {183-190},
	Publisher = {IEEE Computer Society},
	Title = {Matrix Zoom: A Visual Interface to Semi-External Graphs},
	Year = {2004}}

@book{Abel86,
	Author = {Harold Abelson and Andrea diSessa},
	Isbn = {0-262-51037-5},
	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},
	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},
	Month = apr,
	Note = {To appear, JACM},
	Number = {1022},
	Title = {Object Identity as Query Language Primitive},
	Type = {Report no.},
	Year = {1989}}

@book{Abma03,
	Author = {Abmann Uwe},
	Isbn = {3-540-44385-1},
	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{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},
	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}}

@inproceedings{Abow93a,
	Author = {Gregory Abowd and Robert Allen and David Garlan},
	Booktitle = {Proceedings SIGSOFT 93, ACM Software Engineering Notes},
	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},
	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},
	Month = oct,
	Number = {4},
	Pages = {319--364},
	Title = {Formalizing Style to Understand Descriptions of Software Architecture},
	Volume = {4},
	Year = {1995}}

@techreport{Abra04a,
	Author = {A. Abran and P. Bourque and R. Dupuis and L.L. Tripp},
	Institution = {IEEE Computer Society},
	Title = {Guide to the software engineering body of knowledge (ironman version)},
	Year = {2004}}

@article{Abra87a,
	Author = {Samson Abramsky},
	Journal = {Theoretical Computer Science},
	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},
	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},
	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},
	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},
	Month = apr,
	Publisher = {Springer-Verlag},
	Series = {LNCS},
	Title = {Proceedings {TAPSOFT}'91: Volume 2},
	Volume = {494},
	Year = {1991}}

@misc{Abra92a,
	Author = {Samson Abramsky},
	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},
	Month = aug,
	Number = {2},
	Pages = {159--267},
	Publisher = {Academic Press},
	Title = {Full Abstraction in the Lazy Lambda Calculus},
	Volume = {105},
	Year = {1993}}

@inproceedings{Abre01a,
	Address = {Washington, DC, USA},
	Author = {Abreu, Fernando Brito and Goul\~ao, Miguel},
	Booktitle = {CSMR '01: Proceedings of the Fifth European Conference on Software Maintenance and Reengineering},
	Isbn = {0-7695-1028-0},
	Pages = {47--57},
	Publisher = {IEEE Computer Society},
	Title = {Coupling and Cohesion as Modularization Drivers: Are We Being Over-Persuaded?},
	Year = {2001}}

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

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

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

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

@book{Acet07a,
	Author = {Aceto, Luca},
	Publisher = {lua.org},
	Title = {Reactive systems},
	Year = {2006}}

@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},
	Month = jul,
	Pages = {103--117},
	Publisher = {Springer-Verlag},
	Series = {LNCS},
	Title = {Implementation of Distributed Trellis},
	Url = {http://link.springer.de/link/service/series/0558/tocs/t0707.htm},
	Volume = {707},
	Year = {1993},
	Bdsk-Url-1 = {http://link.springer.de/link/service/series/0558/tocs/t0707.htm}}

@inproceedings{Ache00a,
	Abstract = {The fact that so many different kinds of
                  coordination models and languages have been proposed
                  suggests that no one single approach will be the
                  best for all coordination problems. Different
                  coordination styles exhibiting different properties
                  may be more suitable for some problems than others.
                  Like other architectural styles, coordination styles
                  can be expressed in terms of components, connectors
                  and composition rules. We propose an approach in
                  which coordination styles are expressed as component
                  algebras: components of various sorts can be
                  combined using operators that realize their
                  coordination, yielding other sorts of components. We
                  show how several coordination styles can be defined
                  and applied using Piccola, a small language for
                  composing software components. We furthermore show
                  how glue abstractions can be used to bridge
                  coordination styles when more than one style is
                  needed for a single application.},
	Address = {Limassol, Cyprus},
	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},
	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},
	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},
	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)},
	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},
	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},
	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},
	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.},
	Author = {Franz Achermann and Oscar Nierstrasz},
	Cvs = {PiccolaReasoning},
	Doi = {10.1016/j.tcs.2004.09.022},
	Journal = {Theoretical Computer Science},
	Number = {2-3},
	Pages = {367--396},
	Title = {A Calculus for Reasoning about Software Components},
	Url = {http://scg.unibe.ch/archive/papers/Ache05aPiccolaReasoning.pdf},
	Volume = {331},
	Year = {2005},
	Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Ache05aPiccolaReasoning.pdf},
	Bdsk-Url-2 = {http://dx.doi.org/10.1016/j.tcs.2004.09.022}}

@inproceedings{Acke93a,
	Author = {Philipp Ackermann},
	Booktitle = {Proceedings of AES '93 95th Convention},
	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},
	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},
	Publisher = {dpunkt},
	Title = {Developing Object-Oriented Multimedia Software},
	Year = {1996}}

@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{Adam86a,
	Address = {London, UK},
	Author = {Adams, Evan and Gramlich, Wayne and Muchnick, Steven S. and Tirfing, Soren},
	Booktitle = {International workshop on Advanced programming environments},
	Isbn = {0-387-17189-4},
	Location = {Trondheim, Norway},
	Pages = {86--96},
	Publisher = {Springer-Verlag},
	Title = {SunPro: engineering a practical program development environment},
	Year = {1986}}

@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},
	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},
	Month = oct,
	Pages = {139--150},
	Title = {Neural Agents --- {A} Frame of Mind},
	Volume = {24},
	Year = {1989}}

@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},
	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},
	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},
	Title = {WooRKS, an Object Oriented WorkflowSystem for Offices},
	Type = {ITHACA technical report},
	Url = {http://cuiwww.unige.ch/OSG/publications/OO-articles/ITHACA/WooRKS},
	Year = {1994},
	Bdsk-Url-1 = {http://cuiwww.unige.ch/OSG/publications/OO-articles/ITHACA/WooRKS}}

@inproceedings{Adlt06a,
	Address = {New York, NY, USA},
	Author = {Ali-Reza Adl-Tabatabai and Brian T. Lewis and Vijay Menon and Brian R. Murphy and Bratin Saha and Tatiana Shpeisman},
	Booktitle = {PLDI '06: Proceedings of the 2006 ACM SIGPLAN conference on Programming language design and implementation},
	Doi = {10.1145/1133981.1133985},
	Isbn = {1-59593-320-4},
	Location = {Ottawa, Ontario, Canada},
	Pages = {26--37},
	Publisher = {ACM Press},
	Title = {Compiler and runtime support for efficient software transactional memory},
	Year = {2006},
	Bdsk-Url-1 = {http://dx.doi.org/10.1145/1133981.1133985}}

@manual{Adob90a,
	Isbn = {0-201-18127-4},
	Organization = {Adobe Systems Incorporated},
	Publisher = {Addison Wesley},
	Title = {PostScript Language Reference Manual},
	Year = {1990}}

@book{Adob90b,
	Author = {Adobe Systems Incorporated},
	Publisher = {Addison Wesley},
	Title = {PostScript Language Tutorial and Cookbook},
	Year = {1990}}

@book{Adob90c,
	Author = {Adobe Systems Incorporated},
	Publisher = {Addison Wesley},
	Title = {PostScript Language Program Design},
	Year = {1990}}

@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},
	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{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},
	Month = jul,
	Pages = {247--267},
	Publisher = {Springer-Verlag},
	Series = {LNCS},
	Title = {Type Inference of {SELF}: Analysis of Objects with Dynamic and Multiple Inheritance},
	Url = {http://www.cs.purdue.edu/homes/palsberg/publications.html},
	Volume = {707},
	Year = {1993},
	Bdsk-Url-1 = {http://www.cs.purdue.edu/homes/palsberg/publications.html}}

@inproceedings{Ages94a,
	Author = {Ole Agesen and David Ungar},
	Booktitle = {Proceedings OOPSLA '94},
	Publisher = {Springer-Verlag},
	Series = {LNCS},
	Title = {Sifting Out the Gold --- Delivering Compact Applications from an Exploratory Object-Oriented Programming Environment},
	Year = {1994}}

@inproceedings{Ages95a,
	Address = {Aarhus, Denmark},
	Author = {Ole Agesen},
	Booktitle = {Proceedings ECOOP '95},
	Editor = {W. Olthoff},
	Month = aug,
	Pages = {2--26},
	Publisher = {Springer-Verlag},
	Series = {LNCS},
	Title = {The Cartesian Product Algorithm},
	Volume = {952},
	Year = {1995}}

@manual{Ages95b,
	Author = {Ole Agesen and Lars Bak and Craig Chambers and Bay-Wei Chan and Urs H{\"o}lzle and John Maloney and Randall B. Smith and David Ungar and Mario Wolczko},
	Organization = {Sun Microsystems},
	Title = {The {SELF} 4.0 Programmer's Reference Manual},
	Year = {1995}}

@techreport{Ages95c,
	Address = {Santa Barbara, CA, USA},
	Author = {Agesen, Ole and Holzle, Urs},
	Institution = {Department of Computer Science, University of California, Santa Barbara},
	Publisher = {University of California at Santa Barbara},
	Source = {http://www.cs.ucsb.edu/research/tech_reports/},
	Title = {Type Feedback vs. Concrete Type Inference: A Comparison of Optimization Techniques for Object-Oriented Languages},
	Year = {1995}}

@phdthesis{Ages96a,
	Author = {Ole Agesen},
	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},
	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},
	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},
	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},
	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},
	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},
	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},
	Publisher = {MIT Press},
	Title = {Research Directions in Concurrent Object-Oriented Programming},
	Year = {1993}}

@inproceedings{Agra91a,
	Author = {Rakesh Agrawal and Linda G. DeMichiel and Bruce G. Lindsay},
	Booktitle = {Proceedings OOPSLA '91, ACM SIGPLAN Notices},
	Month = nov,
	Pages = {113--128},
	Title = {Static Type Checking of Multi-Methods},
	Volume = {26},
	Year = {1991}}

@article{Aher98a,
	Abstract = {This paper highlights advantageous properties of the
                  Bhattacharyya metric over the chi-squared statistic
                  for comparing frequency distributed data. The
                  original interpretation of the Bhattacharyya metric
                  as a geometric similarity measure is reviewed and it
                  is pointed out that this derivation is independent
                  of the use of the Bhattacharyya measure as an upper
                  bound on the probability of misclassification in a
                  two-class problem. The affinity between the
                  Bhattacharyya and Matusita measures is described and
                  we suggest use of the Bhattacharyya measure for
                  comparing histogram data. We explain how the
                  chi-squared statistic compensates for the implicit
                  assumption of a Euclidean distance measure being the
                  shortest path between two points in high dimensional
                  space. By using the square-root transformation the
                  Bhattacharyya metric requires no such
                  standardization and by its multiplicative nature has
                  no singularity problems unlike those caused by the
                  denominator of the chi-squared statistic with zero
                  count-data.},
	Author = {F.J. Aherne and N.A. Thacker and Peter Rockett},
	Journal = {Kybernetika},
	Number = {4},
	Pages = {363--368},
	Publisher = {TIA, Prague},
	Title = {The Bhattacharyya Metric as an Absolute Similarity Measure for Frequency Coded Data},
	Volume = {34},
	Year = {1998}}

@incollection{Ahle94a,
	Abstract = {This paper describes the major components of the
                  Grasp augmented vision system. Grasp is an
                  object-oriented system written in C++, which
                  provides an environment both for exploring the basic
                  technologies of augmented vision, and for developing
                  applications that demonstrate the capabilities of
                  these technologies. The hardware components of Grasp
                  include video cameras, 6-D tracking devices, a frame
                  grabber, a 3-D graphics workstation, a scan
                  converter, and a video mixer. The major software
                  components consist of classes that implement
                  geometric models, rendering algorithms, calibration
                  methods, file I/O, a user interface, and event
                  handling.},
	Address = {Boston},
	Author = {K. Ahlers and D. Breen and C. Crampton and E. Rose and M. Tuceryan and R. Whitaker and D. Greer},
	Booktitle = {Telemanipulator and Telepresence Techonolgies},
	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},
	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},
	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},
	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},
	Month = dec,
	Number = {4},
	Pages = {31--40},
	Title = {{OPAL}: An Object-Based System for Application Development},
	Volume = {8},
	Year = {1985}}

@book{Aho72a,
	Author = {Alfred V. Aho and Jeffrey D. Ullman},
	Isbn = {0-13-914556-7},
	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},
	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},
	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},
	Month = jun,
	Number = {6},
	Pages = {333--340},
	Title = {Fast Pattern Matching: An Aid to Bibliographic Search},
	Volume = {18},
	Year = {1975}}

@techreport{Aho78a,
	Author = {Alfred V. Aho and B. Kernighan and P. Weinberger},
	Institution = {Bell Telephone Laboratories},
	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},
	Publisher = {Addison Wesley},
	Title = {Compilers: Principles, Techniques and Tools},
	Year = {1986}}

@article{Ahuj86a,
	Author = {S. Ahuja and N. Carriero and D. Gelernter},
	Journal = {IEEE Computer},
	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},
	Month = jul,
	Pages = {142--166},
	Publisher = {Springer-Verlag},
	Series = {LNCS},
	Title = {Eliminating Virtual Function Calls in {C}++ Programs},
	Volume = {1098},
	Year = {1996}}

@inproceedings{AitK91a,
	Address = {Passau, Germany},
	Author = {Hassan A\"it-Kaci and Andreas Podelski},
	Booktitle = {Proceedings PLILP '91},
	Editor = {J. Maluszynski and M. Wirsing},
	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}}

@article{Ajil95a,
	Author = {Samuel Ajila},
	Journal = {Software - Practice and Experience},
	Pages = {1155--1181},
	Title = {Software maintenance: an approach to impact analysis of objects change},
	Volume = {25},
	Year = {1995}}

@misc{Ajma02a,
	Author = {Sameer Ajmani},
	Month = aug,
	Title = {A Review of Software Upgrade Techniques for Distributed Systems},
	Url = {http://pmg.csail.mit.edu/~ajmani/papers/review.pdf},
	Year = {2002},
	Bdsk-Url-1 = {http://pmg.csail.mit.edu/~ajmani/papers/review.pdf}}

@inproceedings{Aksi88a,
	Author = {Mehmet Aksit and Anand Tripathi},
	Booktitle = {Proceedings OOPSLA '88, ACM SIGPLAN Notices},
	Month = nov,
	Pages = {267--275},
	Title = {Data Abstraction Mechanisms in {SINA}/{ST}},
	Volume = {23},
	Year = {1988}}

@phdthesis{Aksi89a,
	Author = {Mehmet Aksit},
	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},
	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},
	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},
	Note = {University of Twente},
	Title = {Abstracting Inter-Object Communications Using Composition Filters},
	Type = {draft manuscript},
	Year = {1993}}

@inproceedings{Aksi94a,
	Abstract = {It is generally claimed that object-based models are
                  very suitable for building distributed system
                  architectures since object interactions follow the
                  client-server model. To cope with the complexity of
                  today's distributed systems, however, we think that
                  high-level linguistic mechanisms are needed to
                  effectively structure, abstract and reuse object
                  interactions. For example, the conventional
                  object-oriented model does not provide high-level
                  language mechanisms to model layered system
                  architectures. Moreover, we consider the message
                  passing model of the conventional object-oriented
                  model as being too low-level because it can only
                  specify object interactions that involve two partner
                  objects at a time and its semantics cannot be
                  extended easily. This paper introduces Abstract
                  Communication Types (ACTs), which are objects that
                  abstract interactions among objects. ACT s make it
                  easier to model layered communication architectures,
                  to enforce the invariant behavior among objects, to
                  reduce the complexity of programs by hiding the
                  interaction details in separate modules and to
                  improve reusability through the application of
                  object-oriented principles to ACT classes. We
                  illustrate the concept of ACT s using the
                  composition filters model.},
	Author = {Mehmet Aksit and Ken Wakita and Jan Bosch and Lodewijk Bergmans and Akinori Yonezawa},
	Booktitle = {Proceedings of the ECOOP '93 Workshop on Object-Based Distributed Programming},
	Editor = {Rachid Guerraoui and Oscar Nierstrasz and Michel Riveill},
	Pages = {152--184},
	Publisher = {Springer-Verlag},
	Series = {LNCS},
	Title = {Abstracting Object Interactions Using Composition Filters},
	Volume = 791,
	Year = {1994}}

@inproceedings{Aksi94b,
	Address = {Bologna, Italy},
	Author = {Mehmet Aksit and Jan Bosch and William van der Sterren and Lodewijk Bergmans},
	Booktitle = {Proceedings ECOOP '94},
	Editor = {M. Tokoro and R. Pareschi},
	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},
	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},
	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},
	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}}

@article{Alas04a,
	Author = {Alastair Farrugia},
	Journal = {the electronic journal of combinatorics},
	Title = {Vertex-partitioning into fixed additive induced-hereditary properties is NP-hard},
	Volume = {11},
	Year = {2004}}

@incollection{Alba83a,
	Author = {Antonio Albano and R. Orsini},
	Booktitle = {Methodology and Tools for Database Design},
	Editor = {S. Ceri},
	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},
	Month = jun,
	Number = {2},
	Pages = {230--260},
	Title = {Galileo: {A} Strongly-Typed, Interactive Conceptual Language},
	Volume = {10},
	Year = {1985}}

@inproceedings{Albi01a,
	Author = {Herv\'e Albin-Amiot and Pierre Cointe and Yann-Ga\"el Gu\'eh\'eneuc and Narendra Jussien},
	Booktitle = {Proceedings of ASE '01 (16th Conference on Automated Software Engineering)},
	Editor = {Debra Richardson and Martin Feather and Michael Goedicke},
	Month = nov,
	Pages = {166--173},
	Publisher = {IEEE Computer Society Press},
	Title = {Instantiating and Detecting Design Patterns: Putting Bits and Pieces Together},
	Year = {2001}}

@book{Alde84a,
	Address = {Beverly Hills},
	Author = {Mark S. Aldenderfer and Roger K. Blashfield},
	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},
	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},
	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 = {New York, NY, 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},
	Location = {Seattle, Washington, USA},
	Pages = {311--330},
	Publisher = {ACM},
	Title = {Alias Annotations for Program Understanding},
	Volume = {37(11)},
	Year = {2002}}

@inproceedings{Aldr02c,
	Address = {New York, NY, USA},
	Author = {Aldrich, Jonathan and Chambers, Craig and Notkin, David},
	Booktitle = {ICSE'02: Proceedings of the 24th International Conference on Software Engineering},
	Isbn = {1-58113-472-X},
	Location = {Orlando, FL, USA},
	Pages = {187--197},
	Publisher = {ACM},
	Title = {{ArchJava: Connecting software architecture to implementation}},
	Year = {2002}}

@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},
	Editor = {Cardelli, Luca},
	Pages = {74--102},
	Publisher = {Springer-Verlag},
	Series = {LNCS},
	Title = {Language Support for Connector Abstractions},
	Volume = {2743},
	Year = {2003}}

@inproceedings{Aldr04a,
	Author = {Jonathan Aldrich},
	Booktitle = {{SPLAT}: Software engineering Properties of Languages for Aspect},
	Editor = {Lodewijk Bergmans and Kris Gybels and Peri Tarr and Erik Ernst},
	Month = mar,
	Title = {Open Modules: Reconciling Extensibility and Information Hiding},
	Year = {2004}}

@inproceedings{Aldr05a,
	Address = {Glasgow, UK},
	Author = {Jonathan Aldrich},
	Booktitle = {Proceedings ECOOP 2005},
	Doi = {10.1007/11531142_7},
	Month = jul,
	Pages = {144--168},
	Publisher = {Springer Verlag},
	Series = {LNCS},
	Title = {Open Modules: Modular Reasoning About Advice},
	Url = {http://www.cs.cmu.edu/~aldrich/papers/ecoop05open-modules.pdf},
	Volume = 3586,
	Year = {2005},
	Bdsk-Url-1 = {http://www.cs.cmu.edu/~aldrich/papers/ecoop05open-modules.pdf},
	Bdsk-Url-2 = {http://dx.doi.org/10.1007/11531142_7}}

@inproceedings{Alen91a,
	Address = {Geneva, Switzerland},
	Author = {Antonio J. Alencar and Joseph A. Goguen},
	Booktitle = {Proceedings ECOOP '91},
	Editor = {P. America},
	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}}

@mastersthesis{Alex07a,
	Author = {Pierre Alexis},
	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}}

@book{Alex75a,
	Address = {New York},
	Author = {Christopher Alexander and Murray Silverstein and Shlomo Angel and Sara Ishakawa and Denny Abrams},
	Publisher = {Oxford University Press},
	Title = {The Oregon Experiment},
	Year = {1975}}

@book{Alex77a,
	Address = {New York},
	Author = {Christopher Alexander and Sara Ishakawa and Murray Silverstein},
	Publisher = {Oxford University Press},
	Title = {A Pattern Language},
	Year = {1977}}

@book{Alex79a,
	Address = {New York},
	Author = {Christopher Alexander},
	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},
	Month = dec,
	Pages = {287--294},
	Title = {Painless Panes for {Smalltalk} Windows},
	Volume = {22},
	Year = {1987}}

@book{Alex93a,
	Author = {Christopher Alexander},
	Publisher = {Oxford University Press},
	Title = {A Foreshadowing of 21st Century Art},
	Year = {1993}}

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

@book{Alle03b,
	Author = {B.{J}. Allen-Conn and Kimberly Rose},
	Note = {Translated by Marcus Denker, Rita Freudenberg, Andreas Gerdes, Uwe H\"ubner, Esther Mietzsch},
	Publisher = {Viewpoints Research Institute, Inc.},
	Title = {Fundamentale Ideen im Unterricht (orig: Powerful Ideas in the Classroom)},
	Url = {http://rmod.lille.inria.fr/archives/translations/Conn03b-ger-FundamentaleIdeen.pdf},
	Year = {2008},
	Bdsk-Url-1 = {http://rmod.lille.inria.fr/archives/translations/Conn03b-ger-FundamentaleIdeen.pdf}}

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

@techreport{Alle92a,
	Author = {Robert Allen and David Garlan},
	Institution = {Carnegie Mellon University},
	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},
	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},
	Misc = {January 20},
	Month = jan,
	Title = {Beyond Definition/Use: Architectural Interconnection},
	Year = {1994}}

@inproceedings{Alle94c,
	Author = {Robert Allen and David Garlan},
	Booktitle = {Proceedings ICSE '94},
	Month = may,
	Title = {Formalizing Architectural Connection},
	Year = {1994}}

@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},
	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},
	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 = {Robert J. Allen},
	School = {School of Computer Science, Carnegie Mellon University},
	Title = {A Formal Approach to Software Architecture},
	Type = {{Ph.D}. Thesis},
	Year = {1997}}

@inproceedings{Alle98a,
	Address = {Lake Buena Vista, Florida},
	Author = {Robert Allen and David Garlan and James Ivers},
	Booktitle = {Proceedings of the Sixth International Symposium on the Foundations of Software Engineering (FSE-6)},
	Month = nov,
	Publisher = {ACM},
	Title = {Formal Modeling and Analysis of the HLA Component Integration Standard},
	Url = {http://www.cs.cmu.edu/afs/cs.cmu.edu/project/able/www/paper_abstracts/hla-fse98.html},
	Year = {1998},
	Bdsk-Url-1 = {http://www.cs.cmu.edu/afs/cs.cmu.edu/project/able/www/paper_abstracts/hla-fse98.html}}

@inproceedings{Allo08a,
	Author = {Ilham Alloui and Sorana C{\^\i}mpan and Herv{\'e} Verjus},
	Booktitle = {Working IEEE/IFIP Conference on Software Architecture (WICSA)},
	Title = {Towards Software Architecture Physiology: Identifying Vital Components},
	Year = {2008}}

@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},
	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},
	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},
	School = {Carnegie Mellon University},
	Title = {Garbage Collection in an Object-Oriented System},
	Type = {{Ph.D}. Thesis},
	Year = {1980}}

@inproceedings{Alme97a,
	Author = {Paulo S\'ergio Almeida},
	Booktitle = {Proceedings of ECOOP '97},
	Month = jun,
	Pages = {32--59},
	Publisher = {Springer Verlag},
	Series = {LNCS},
	Title = {Balloon types: Controlling sharing of state in data types},
	Year = {1997}}

@inproceedings{Aloi92a,
	Address = {Utrecht, the Netherlands},
	Author = {Nicola Aloia and Svetlana Barneva and Fausto Rabitti},
	Booktitle = {Proceedings ECOOP '92},
	Editor = {O. Lehrmann Madsen},
	Month = jun,
	Pages = {396--412},
	Publisher = {Springer-Verlag},
	Series = {LNCS},
	Title = {Supporting Physical Independence in an Object Database Server},
	Volume = {615},
	Year = {1992}}

@inproceedings{Alon08a,
	Address = {New York, NY, USA},
	Author = {Alonso, Omar and Devanbu, Premkumar T. and Gertz, Michael},
	Booktitle = {MSR '08: Proceedings of the 2008 international working conference on Mining software repositories},
	Doi = {10.1145/1370750.1370780},
	Isbn = {978-1-60558-024-1},
	Location = {Leipzig, Germany},
	Pages = {125--128},
	Publisher = {ACM},
	Title = {Expertise identification and visualization from {CVS}},
	Year = {2008},
	Bdsk-Url-1 = {http://dx.doi.org/10.1145/1370750.1370780}}

@inproceedings{Alpe88a,
	Author = {Bowen Alpern and Mark. N. Wegman and F. Kenneth Zadeck},
	Booktitle = {Conference Record of the Fifteenth ACM Symposium on Principles of Programming Languages},
	Month = jan,
	Pages = {1--11},
	Title = {Detecting equality of variables in programs},
	Year = {1988}}

@book{Alpe98a,
	Author = {Sherman R. Alpert and Kyle Brown and Bobby Woolf},
	Isbn = {0-201-18462-1},
	Publisher = {Addison Wesley},
	Title = {The Design Patterns {Smalltalk} Companion},
	Year = {1998}}

@inproceedings{Alpe99a,
	Address = {New York, NY, USA},
	Author = {Bowen Alpern and C. R. Attanasio and Anthony Cocchi and Derek Lieber and Stephen Smith and Ton Ngo and John J. Barton and Susan Flynn Hummel and Janice C. Sheperd and Mark Mergen},
	Booktitle = {Proceedings of the 14th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications (OOPSLA'99)},
	Doi = {10.1145/320384.320418},
	Isbn = {1-58113-238-7},
	Location = {Denver, Colorado, United States},
	Pages = {314--324},
	Publisher = {ACM},
	Title = {Implementing Jalape\~no in Java},
	Year = {1999},
	Bdsk-Url-1 = {http://dx.doi.org/10.1145/320384.320418}}

@inproceedings{Alph05a,
	Address = {New York, NY, USA},
	Author = {Carl Alphonce and Blake Martin},
	Booktitle = {OOPSLA '05: Companion to the 20th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications},
	Doi = {10.1145/1094855.1094917},
	Isbn = {1-59593-193-7},
	Location = {San Diego, CA, USA},
	Pages = {168--169},
	Publisher = {ACM Press},
	Title = {Green: a customizable UML class diagram plug-in for eclipse},
	Year = {2005},
	Bdsk-Url-1 = {http://dx.doi.org/10.1145/1094855.1094917}}

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

@inproceedings{Altm08a,
	Author = {Kerstin Altmanninger},
	Booktitle = {Models in Software Engineering},
	Series = {LNCS 5002},
	Title = {Models in Conflict - Towards a Semantically Enhanced Version Control System for Models},
	Year = {2008}}

@article{Alts90a,
	Author = {Stephen F. Altschul and Warren Gish and Webb Miller and Eugene W. Myers and David J. Lipman},
	Journal = {J. Mol. Biol.},
	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},
	Pages = {104--118},
	Title = {Subtyping Recursive Types},
	Year = {1991}}

@inproceedings{Amad93a,
	Author = {Roberto M. Amadio},
	Booktitle = {Proceedings of CONCUR '93},
	Editor = {E. Best},
	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},
	Pages = {147--162},
	Publisher = {Springer-Verlag},
	Series = {LNCS},
	Title = {On Bisimulations for the Asynchronous $\pi$-calculus},
	Volume = 1119,
	Year = {1996}}

@phdthesis{Aman97a,
	Author = {Stephan Amann},
	School = {University Bern},
	Title = {Komponentenorientierte Entwicklung von Grafikapplikationen mit {BOOGA}},
	Type = {{Ph.D}. Thesis},
	Year = {1997}}

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

@inproceedings{Ambr09a,
	Author = {Marco D'Ambros and Michele Lanza and Romain Robbes},
	Booktitle = {Proceedings of the 16th Working Conference on Reverse Engineering (WCRE 2009)},
	Pages = {135--144},
	Title = {On the Relationship Between Change Coupling and Software Defects},
	Url = {http://www.inf.usi.ch/phd/dambros/publications/wcre09a.pdf},
	Year = {2009},
	Bdsk-Url-1 = {http://www.inf.usi.ch/phd/dambros/publications/wcre09a.pdf}}

@article{Ambr09b,
	Address = {New York, NY, USA},
	Author = {D'Ambros, Marco and Lanza, Michele},
	Doi = {10.1002/smr.v21:3},
	Issn = {1532-060X},
	Journal = {J. Softw. Maint. Evol.},
	Number = {3},
	Pages = {217--232},
	Publisher = {John Wiley \& Sons, Inc.},
	Title = {Visual software evolution reconstruction},
	Volume = {21},
	Year = {2009},
	Bdsk-Url-1 = {http://dx.doi.org/10.1002/smr.v21:3}}

@techreport{Amer86a,
	Address = {Eindhoven, the Netherlands},
	Author = {Pierre America},
	Institution = {Philips Research Laboratories},
	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},
	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},
	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},
	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},
	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},
	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},
	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},
	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},
	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},
	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},
	Month = jun,
	Title = {Designing an Object-Oriented Programming Language with Behavioural Subtyping},
	Year = {1990}}

@book{Amer91a,
	Editor = {Pierre America},
	Isbn = {3-540-54262-0},
	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},
	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},
	Month = jul,
	Pages = {167--188},
	Publisher = {Springer-Verlag},
	Series = {LNCS},
	Title = {Supporting Explicit Disambiguation of Multi-methods},
	Volume = {1098},
	Year = {1996}}

@inproceedings{Amse95a,
	Address = {Aarhus, Denmark},
	Author = {Maurice Amsellem},
	Booktitle = {Proceedings ECOOP '95},
	Editor = {W. Olthoff},
	Month = aug,
	Pages = {449--470},
	Publisher = {Springer-Verlag},
	Series = {LNCS},
	Title = {ChyPro: {A} Hypermedia Programming Environment for {Smalltalk}-80},
	Volume = {952},
	Year = {1995}}

@techreport{Anas00a,
	Author = {M. Anastasopoulos and J. Bayer and O. Flege and C. Gacek},
	Institution = {Fraunhofer IESE},
	Number = {038.00/E},
	Title = {A Process for Product Line Architecture Creation and Evaluation - PuLSE-DSSA Version 2.0.},
	Url = {http://publica.fraunhofer.de/documents/N-1463.html},
	Year = {2000},
	Bdsk-Url-1 = {http://publica.fraunhofer.de/documents/N-1463.html}}

@inproceedings{Anas04a,
	Author = {Michalis Anastasopoulos and Dirk Muthig},
	Booktitle = {In Proceedings of the 8th International Conference on Software Reuse},
	Pages = {141--156},
	Publisher = {Springer-Verlag},
	Series = {LNCS},
	Title = {An Evaluation of Aspect-Oriented Programming as a Product Line Implementation Technology},
	Volume = {3107},
	Year = {2004}}

@inproceedings{Anco00a,
	Author = {Davide Ancona and Giovanni Lagorio and Elena Zucca},
	Booktitle = {ECOOP 2000},
	Number = {1850},
	Pages = {145--178},
	Series = {Lecture Notes in Computer Science},
	Title = {Jam --- A Smooth Extension of {Java} with Mixins},
	Year = {2000}}

@inproceedings{Anco00b,
	Author = {Davide Ancona},
	Booktitle = {AMAST 2000 --- Algebraic Methodology And Software Technology},
	Editor = {T. Rus},
	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},
	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}}

@inproceedings{Anco97a,
	Author = {D. Ancona and E. Zucca},
	Booktitle = {PLILP '97-9th Intl. Symp. on Programming Languages, Implementations, Logics and Programs},
	Editor = {H.~Glaser and P.~Hartel and H.~Kuchen},
	Number = {1292},
	Pages = {47--61},
	Publisher = {Springer Verlag},
	Series = {lnc},
	Title = {Overriding Operators in a Mixin-Based Framework},
	Year = {1997}}

@article{Anco98a,
	Author = {D. Ancona and E. Zucca},
	Journal = {Mathematical Structures in Computer Science},
	Month = aug,
	Number = 4,
	Pages = {401--446},
	Title = {A Theory of Mixin Modules: Basic and Derived Operators},
	Url = {http://www.disi.unige.it/person/AnconaD/Journals.html},
	Volume = 8,
	Year = {1998},
	Bdsk-Url-1 = {http://www.disi.unige.it/person/AnconaD/Journals.html}}

@inproceedings{Anco98b,
	Author = {D. Ancona and E. Zucca},
	Booktitle = {wadt97},
	Editor = {F. Parisi Presicce},
	Number = {1376},
	Pages = {92--106},
	Publisher = {sv},
	Series = {lncs},
	Title = {An Algebra of Mixin Modules},
	Year = {1998}}

@inproceedings{Anco99a,
	Author = {D. Ancona and E. Zucca},
	Booktitle = {Principles and Practice of Declarative Programming},
	Editor = {G. Nadathur},
	Number = {1702},
	Pages = {62--79},
	Publisher = {Springer Verlag},
	Series = {LNCS},
	Title = {A Primitive Calculus for Module Systems},
	Url = {citeseer.nj.nec.com/article/ancona99primitive.html http://www.disi.unige.it/person/AnconaD/Conferences.html#AnconaZucca99},
	Year = {1999},
	Bdsk-Url-1 = {citeseer.nj.nec.com/article/ancona99primitive.html%20http://www.disi.unige.it/person/AnconaD/Conferences.html#AnconaZucca99}}

@inproceedings{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},
	Month = sep,
	Title = {Design, Implementation, and Evaluation of the Resilient Smalltalk Embedded Platform},
	Year = {2004}}

@inproceedings{Ande08b,
	Author = {Andersen, Jesper and Lawall, Julia L.},
	Booktitle = {Automated Software Engineering International Conference},
	Month = {sep},
	Pages = {337 - 346},
	Title = {Generic Patch Inference},
	Year = {2008}}

@book{Ande73a,
	Address = {London},
	Author = {M. R. Andenberg},
	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},
	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},
	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},
	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},
	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},
	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},
	Month = aug,
	Publisher = {??},
	Title = {Proceedings of {ECOOP}'95 Workshop on Mobility and Replication},
	Year = {1995}}

@phdthesis{Ande97a,
	Author = {Egil P. Andersen},
	Month = nov,
	School = {University of Oslo},
	Title = {Conceptual Modeling of Objects: a Role Modelling Approach},
	Year = {1997}}

@book{Ande97b,
	Address = {Frankfurt},
	Author = {U. Andelfinger},
	Publisher = {Peter Lang},
	Title = {Diskursive Anforderungsanalyse. Ein Beitrag zum Reduktionsproblem bei Systementwicklungen in der Informatik},
	Year = {1997}}

@phdthesis{Andr02a,
	Author = {Keith Andrews},
	Month = nov,
	School = {Technische Universit\"at Graz},
	Title = {Visualizing Information Structures. Aspects of Information Visualization},
	Type = {Professorial Thesis},
	Url = {http://www.iicm.edu/keith},
	Year = {2002},
	Bdsk-Url-1 = {http://www.iicm.edu/keith}}

@article{Andr05a,
	Address = {Los Alamitos, CA, USA},
	Author = {Olena Andriyevska and Natalia Dragan and Bonita Simoes and Jonathan I. Maletic},
	Doi = {10.1109/VISSOF.2005.1684296},
	Isbn = {0-7803-9540-9},
	Journal = {VISSOFT 2005. 3rd IEEE International Workshop on Visualizing Software for Understanding and Analysis},
	Pages = {9},
	Publisher = {IEEE Computer Society},
	Title = {Evaluating {UML} Class Diagram Layout based on Architectural Importance},
	Volume = {0},
	Year = {2005},
	Bdsk-Url-1 = {http://dx.doi.org/10.1109/VISSOF.2005.1684296}}

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

@inproceedings{Andr06b,
	Address = {New York, NY, USA},
	Author = {Chris Andreae and James Noble and Shane Markstrum and Todd Millstein},
	Booktitle = {OOPSLA '06: Proceedings of the 21st annual ACM SIGPLAN conference on Object-oriented programming systems, languages, and applications},
	Doi = {10.1145/1167473.1167479},
	Isbn = {1-59593-348-4},
	Location = {Portland, Oregon, USA},
	Pages = {57--74},
	Publisher = {ACM Press},
	Title = {A framework for implementing pluggable type systems},
	Year = {2006},
	Bdsk-Url-1 = {http://dx.doi.org/10.1145/1167473.1167479}}

@article{Andr81a,
	Author = {Gregory R. Andrews},
	Journal = {ACM TOPLAS},
	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},
	Month = mar,
	Number = {1},
	Pages = {3--43},
	Title = {Concepts and Notations for Concurrent Programming},
	Volume = {15},
	Year = {1983}}

@inproceedings{Andr87a,
	Author = {Timothy Andrews and Craig Harris},
	Booktitle = {Proceedings OOPSLA '87, ACM SIGPLAN Notices},
	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},
	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},
	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},
	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},
	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},
	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},
	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},
	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},
	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},
	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},
	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},
	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},
	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},
	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},
	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},
	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)},
	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},
	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},
	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}}

@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},
	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{Anto00a,
	Author = {G. Antoniol and G. Casazza and E. Merlo},
	Booktitle = {Proc. Int. Workshop on Feedback and Evolution in Software and Business Processes (FEAST)},
	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},
	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)},
	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)},
	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)},
	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{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{Anto99a,
	Address = {Washington, DC, USA},
	Author = {Antoniol, G. and Canfora, G. and de Lucia, A.},
	Booktitle = {METRICS '99: Proceedings of the 6th International Symposium on Software Metrics},
	Isbn = {0-7695-0403-5},
	Pages = {250},
	Publisher = {IEEE Computer Society},
	Title = {Estimating the Size of Changes for Evolving Object Oriented Systems: A Case Study},
	Year = {1999}}

@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, California},
	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},
	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)},
	Title = {A Case Study of the Evolution of Jun: an Object-Oriented Open-Source 3D Multimedia Library},
	Year = {2001}}

@inproceedings{Apel06a,
	Address = {New York, NY, USA},
	Author = {Sven Apel and Thomas Leich and Gunter Saake},
	Booktitle = {ICSE '06: Proceeding of the 28th international conference on Software engineering},
	Doi = {10.1145/1134285.1134304},
	Isbn = {1-59593-375-1},
	Location = {Shanghai, China},
	Pages = {122--131},
	Publisher = {ACM Press},
	Title = {Aspectual mixin layers: aspects and features in concert},
	Year = {2006},
	Bdsk-Url-1 = {http://dx.doi.org/10.1145/1134285.1134304}}

@article{Apel09a,
	Author = {Sven Apel and Christian K\"astner},
	Journal = {Journal of Object Technology},
	Misc = {To appear},
	Month = jul,
	Number = {4},
	Pages = {NN-NN},
	Title = {An Overview of Feature-Oriented Software Development},
	Url = {http://www.infosun.fim.uni-passau.de/cl/publications/docs/JOT2009fosd.pdf},
	Volume = {8},
	Year = {2009},
	Bdsk-Url-1 = {http://www.infosun.fim.uni-passau.de/cl/publications/docs/JOT2009fosd.pdf}}

@book{Appe02a,
	Address = {New York, NY, USA},
	Author = {Andrew W. Appel},
	Edition = {Second},
	Isbn = {978-0521820608},
	Note = {with Jens Palsberg},
	Publisher = {Cambridge University Press},
	Title = {Modern compiler implementation in {Java}},
	Year = {2002}}

@book{Appe92a,
	Author = {Andrew W. Appel},
	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{Appl93a,
	Author = {Apple Computer},
	Isbn = {0-201-40735-3},
	Note = {book},
	Publisher = {Addison Wesley},
	Series = {Apple Technical Library},
	Title = {AppleScript Language Guide},
	Year = {1993}}

@article{Arac06a,
	Author = {Ivica Aracic and Vaidas Gasiunas and Mira Mezini and Klaus Ostermann},
	Journal = {Transactions on Aspect-Oriented Software Development},
	Pages = {135 - 173},
	Publisher = {Springer},
	Title = {An Overview of {CaesarJ}},
	Volume = {3880},
	Year = {2006}}

@techreport{Arap88a,
	Author = {Costas Arapis and Gerti Kappel},
	Editor = {D. Tsichritzis},
	Institution = {Centre Universitaire d'Informatique, University of Geneva},
	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},
	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},
	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},
	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},
	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},
	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},
	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},
	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},
	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}}

@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},
	Month = apr,
	Pages = {21--38},
	Publisher = {Springer-Verlag},
	Series = {Lecture Notes in Computer Science},
	Title = {Coordination Through Channel Composition},
	Volume = {2315},
	Year = {2002}}

@techreport{Arba96a,
	Author = {F. Arbab},
	Institution = {Centrum voor Wiskunde en Informatica (CWI)},
	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},
	Pages = {34--55},
	Publisher = {Springer-Verlag},
	Series = {LNCS},
	Title = {The {IWIM} Model for Coordination of Concurrent Activities},
	Volume = {1061},
	Year = {1996}}

@inproceedings{Arce08a,
	Author = {Arcelli Fontana Francesca and Perin Fabrizio and Raibulet Claudia and Ravani Stefano},
	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 = {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,
	Title = {JADEPT: Dynamic Analysis for Behavioural Design Pattern},
	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}}

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

@inproceedings{Ardi95a,
	Address = {Aarhus, Denmark},
	Author = {Laurent Arditi and H\'el\`ere Collavizza},
	Booktitle = {Proceedings ECOOP '95},
	Editor = {W. Olthoff},
	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}}

@mastersthesis{Arev00a,
	Author = {Gabriela Ar{\'e}valo},
	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)},
	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},
	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},
	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},
	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)},
	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.},
	Author = {Gabriela Ar{\'e}valo},
	Booktitle = {Proceedings of WOOR 2003 (4th International Workshop on Object-Oriented Reengineering)},
	Cvs = {ConAnWOOR03XRayViews},
	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{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.},
	Author = {Gabriela Ar{\'e}valo 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},
	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{\'e}valo},
	Cvs = {ArevaloPhDThesis},
	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}}

@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},
	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},
	Month = apr,
	Note = {To appear},
	Title = {FCA-based service classification to dynamically build efficient software component directories},
	Year = {2009}}

@mastersthesis{Arev99a,
	Author = {Gabriela Ar{\'e}valo},
	Month = mar,
	Note = {in Spanish},
	School = {University of La Plata},
	Title = {{G.I.S.} + {Oceans} = {A S}trange {Combination}},
	Type = {Diploma {Thesis}},
	Year = {1999}}

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

@phdthesis{Arms03a,
	Author = {Joe Armstrong},
	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},
	Month = dec,
	Title = {The {J2EE} 1.4 Tutorial},
	Year = {2005}}

@inproceedings{Arms07a,
	Acmid = {1238850},
	Address = {New York, NY, USA},
	Author = {Armstrong, Joe},
	Booktitle = {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},
	Series = {HOPL III},
	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}}

@book{Arms07b,
	Author = {Armstrong, Joe},
	Isbn = {193435600X, 9781934356005},
	Publisher = {Pragmatic Bookshelf},
	Title = {Programming Erlang: Software for a Concurrent World},
	Year = {2007}}

@book{Arms96a,
	Author = {Joe Armstrong and Robert Virding and Claes Wikstr\"om and Mike Williams},
	Publisher = {Prentice Hall},
	Title = {Concurrent Programming in Erlang},
	Year = {1996}}

@techreport{Arms97a,
	Author = {Joe Armstrong},
	Institution = {Ericsson Telecom AB},
	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{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}}

@book{Arno92a,
	Address = {Los Alamitos CA},
	Author = {Robert S. Arnold},
	Isbn = {0-8186-3272-0},
	Publisher = {IEEE Computer Society Press},
	Title = {Software Reengineering},
	Year = {1992}}

@inproceedings{Arno93a,
	Author = {A. Arno},
	Booktitle = {Proceedings TAPSOFT '93},
	Month = apr,
	Pages = {121--135},
	Publisher = {Springer-Verlag},
	Series = {LNCS},
	Title = {Verification and Comparison of Transition Systems},
	Volume = {668},
	Year = {1993}}

@article{Arno93b,
	Author = {Arnold, R.S. and Bohner, S.A.},
	Doi = {10.1109/ICSM.1993.366933},
	Journal = {Software Maintenance ,1993. CSM-93, Proceedings., Conference on},
	Month = {sep},
	Pages = {292-301},
	Title = {Impact analysis-Towards a framework for comparison},
	Year = {1993},
	Bdsk-Url-1 = {http://dx.doi.org/10.1109/ICSM.1993.366933}}

@book{Arno96a,
	Author = {Ken Arnold and James Gosling},
	Publisher = {Addison Wesley},
	Title = {The {Java} Programming Language},
	Year = {1996}}

@misc{Arno98a,
	Author = {David Arnow and Gerald Weiss},
	Isbn = {0-201-31184-4},
	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},
	Publisher = {Addison Wesley},
	Title = {The Jini Specification},
	Year = {1999}}

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

@inproceedings{Arun08a,
	Address = {Washington, DC, USA},
	Author = {M. Aruna and M.P. Suguna Devi and M. Deepa},
	Booktitle = {ICETET '08: Proceedings of the 2008 First International Conference on Emerging Trends in Engineering and Technology},
	Doi = {/10.1109/ICETET.2008.76},
	Isbn = {978-0-7695-3267-7},
	Pages = {1130--1135},
	Publisher = {IEEE Computer Society},
	Title = {Measuring the Quality of Software Modularization Using Coupling-Based Structural Metrics for an OOS System},
	Year = {2008},
	Bdsk-Url-1 = {http://dx.doi.org/10.1109/ICETET.2008.76}}

@article{Arun92a,
	Author = {S. Arun-Kumar and M. Hennessy},
	Journal = {Acta Informatica},
	Month = dec,
	Number = {8},
	Pages = {737--760},
	Title = {An Efficiency Preorder for Processes},
	Volume = {29},
	Year = {1992}}

@inproceedings{Asai97a,
	Address = {Amsterdam, the Netherlands},
	Author = {Kenichi Asai and Hidehiko Masuhara and Akinori Yonezawa},
	Booktitle = {Proceedings of the {ACM} {SIGPLAN} Symposium on Partial Evaluation and Semantics-Based Program Manipulation},
	Month = jun,
	Pages = {12--21},
	Title = {Partial Evaluation of Call-by-Value {$\lambda$}-Calculus with Side-Effects},
	Year = {1997}}

@inproceedings{Ashf93a,
	Abstract = {The challenge facing the International Organization
                  for Standardization (ISO) in the early eighties, in
                  developing Open Systems Interconnection (OSI)
                  protocol standards for network management, was to
                  ensure that such protocols should, on the one hand,
                  be standardised but, on the other, be capable of
                  managing a myriad of resource types. ISO met the
                  challenge by developing a single
                  internationally-standardised carriage protocol
                  (CMIP), and tools to produce information models that
                  would reflect the resources being managed. Such an
                  approach makes it possible for the same carriage
                  protocol to carry management messages for many
                  different types of resources. In developing its
                  information modelling tools and services, ISO has
                  adopted an object-oriented approach: the resources
                  to be managed are modelled as managed objects or
                  aggregates of managed objects. The managed-object
                  model is similar to popular object-oriented
                  programming-language models but it includes a number
                  of features that reflect the special requirements of
                  network management. These requirements include:
                  asynchronous operation, active resources, a
                  distributed environment, compatibility, and feature
                  optionality. Fulfilling these requirements lead to
                  the inclusion of concepts such as
                  event-notification, multiple object-selection,
                  packages, and allomorphism. The next generation of
                  network-management standards will need to address
                  the demands of large, multi-protocol, mutable
                  networks. How these requirements might affect the
                  evolution of the managed-object model and services
                  is considered.},
	Address = {Kaiserslautern, Germany},
	Author = {Colin Ashford},
	Booktitle = {Proceedings ECOOP '93},
	Editor = {Oscar Nierstrasz},
	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}}

@inproceedings{Askl94a,
	Author = {Ulf Asklund},
	Booktitle = {Nordic Workshop Programming Environment Research},
	Date-Added = {2009-10-21 10:44:52 +0200},
	Date-Modified = {2009-10-21 10:45:43 +0200},
	Pages = {231-242},
	Title = {Identifying Conflicts During Structural Merge},
	Year = {1994}}

@misc{AspectC,
	Key = {AspectC},
	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}},
	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},
	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},
	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},
	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/}}

@book{Aste03a,
	Author = {David Astels},
	Isbn = {0-13-101649-0},
	Publisher = {Prentice Hall},
	Title = {Test-Driven Development --- A Practical Guide},
	Year = {2003}}

@article{Aste84a,
	Author = {Egidio Astesiano and Elena Zucca},
	Journal = {Theoretical Computer Science},
	Pages = {45--64},
	Title = {Parametric Channels via Label Expressions in {CCS}},
	Volume = {33},
	Year = {1984}}

@article{Astr76a,
	Author = {M.M. Astrahan and et al.},
	Journal = {ACM TODS},
	Month = jun,
	Number = {2},
	Pages = {97--137},
	Title = {System {R}: Relational Approach to Database Management},
	Volume = {1},
	Year = {1976}}

@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},
	Publisher = {Microsoft},
	Title = {Beyond Bullet Points},
	Year = {2005}}

@inproceedings{Atki86a,
	Author = {Robert G. Atkinson},
	Booktitle = {Proceedings OOPSLA '86, ACM SIGPLAN Notices},
	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},
	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},
	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},
	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},
	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},
	Month = jul,
	Pages = {146--157},
	Publisher = {Springer Verlag},
	Series = {LNCS},
	Title = {Version Sensitive Editing: Change History as a Programming Tool},
	Volume = {1439},
	Year = {1998}}

@techreport{Atta85a,
	Address = {Milano, Italy},
	Author = {Giuseppe Attardi and Andrea Corradini and M. De Cecco and M. Simi},
	Institution = {Delphi},
	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},
	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},
	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},
	Month = jul,
	Pages = {320--343},
	Publisher = {Springer-Verlag},
	Series = {LNCS},
	Title = {Customising Object Allocation},
	Volume = {821},
	Year = {1994}}

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

@incollection{Auer95a,
	Author = {Ken Auer},
	Booktitle = {Pattern languages of program design},
	Isbn = {0-201-60734-4},
	Pages = {505--516},
	Publisher = {ACM Press/Addison-Wesley Publishing Co.},
	Title = {Reusability through self-encapsulation},
	Year = {1995}}

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

@inproceedings{Augu98a,
	Author = {M. Auguston},
	Booktitle = {European Conference on Artificial Intelligence ECAI-98, Workshop on Spatial and Temporal Reasoning, Brighton, England},
	Month = aug,
	Title = {Building program Behavior Models},
	Year = {1998}}

@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},
	Month = oct,
	Title = {{abc}: An extensible AspectJ compiler},
	Year = {2005}}

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

@inproceedings{Ayco98a,
	Author = {John Aycock},
	Booktitle = {Proc. 7th Int. Python Conf.},
	City = {Houston, TX},
	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}}

@proceedings{BYTE81a,
	Editor = {?},
	Journal = {Byte},
	Month = aug,
	Title = {Special issue on {Smalltalk}},
	Volume = {6},
	Year = {1981}}

@proceedings{BYTE86a,
	Editor = {?},
	Journal = {Byte},
	Month = aug,
	Title = {Special issue on Object-Oriented Systems},
	Volume = {11},
	Year = {1986}}

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

@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{Bach93a,
	Author = {L. Bachmair and T. Che and I.V. Ramakrishnan},
	Booktitle = {Proceedings TAPSOFT '93},
	Month = apr,
	Pages = {61--74},
	Publisher = {Springer-Verlag},
	Series = {LNCS},
	Title = {Associative-Commutative Discrimination Nets},
	Volume = {668},
	Year = {1993}}

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

@article{Bada86a,
	Author = {D.Z. Badal},
	Journal = {ACM Transactions on Computer Systems},
	Month = nov,
	Number = {4},
	Pages = {320--337},
	Title = {The Distributed Deadlock Detection Algorithm},
	Volume = {4},
	Year = {1986}}

@inproceedings{Badr05a,
	Author = {Badri, L. and Badri, M. and St-Yves, D.},
	Booktitle = {Software Engineering Conference (APSEC '05)},
	Doi = {10.1109/APSEC.2005.100},
	Issn = {1530-1362},
	Month = {dec},
	Pages = {9--15},
	Title = {Supporting predictive change impact analysis: a control call graph based technique},
	Year = {2005},
	Bdsk-Url-1 = {http://dx.doi.org/10.1109/APSEC.2005.100}}

@techreport{Badr98a,
	Author = {Greg J. Badros and Alan Borning},
	Institution = {University of Washington},
	Number = {UW Tech Report 98-06-04},
	Title = {The Cassowary Linear Arithmetic Constraint Solving Algorithm: Interface and Implementation},
	Year = {1998}}

@incollection{Bael93a,
	Abstract = {Object-oriented analysis methods can incorporate the
                  concept of constraints to express rules of the
                  problem domain in the specification model,
                  restricting the possible instances of the model. As
                  such, constraints describe properties that must be
                  true at each moment in time for the entire system ,
                  without determining how they are to be preserved.
                  The ways in which these constraints are introduced
                  in the model differ from method to method, and even
                  between distinct constraint types in a single
                  method. Different ways in which constraints can be
                  described, are illustrated and compared. Specifying
                  constraints as informal annotations or by
                  operational restrictions is too informal and low
                  level for analysis. According to the properties,
                  importance and influence of the constraint types on
                  the object model, they ought to be described
                  differently. Some constraints, such as connectivity
                  constraints, definition and as a reminder for these
                  kind of constraints Others, such as attribute value
                  constraints, are best introduced as independent
                  items part of a separate concept grafted on a
                  general model to get a consistent, unambiguous,
                  symmetrical and general applicable constraint
                  description. Yet others, such as relational and
                  existential dependency constraints, should be
                  expressed implicitly by a hierarchical model
                  structure. This approach enriches the object model
                  in such a way that it highlights the logical
                  structure of the problem domain to its right
                  extent.},
	Author = {Stefan Van Baelen and Johan Lewi and Eric Steegmans and Bart Swennen},
	Booktitle = {Object Technologies for Advanced Software, First JSSST International Symposium},
	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},
	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},
	Month = sep,
	Title = {{FAMIX} {C}++ language plug-in 1.0},
	Year = {1999}}

@book{Baet90a,
	Author = {Jos C.M. Baeten},
	Isbn = {0-521-40028-7},
	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},
	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},
	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},
	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},
	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{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}}

@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)},
	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},
	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{Bahi01a,
	Address = {Chichester, UK, UK},
	Author = {William L. Chapman and Jerzy Rozenblit and A. Terry Bahill},
	Doi = {10.1002/sys.v4:3},
	Issn = {1098-1241},
	Journal = {Systems Engineering},
	Number = {3},
	Pages = {222--229},
	Publisher = {John Wiley and Sons Ltd.},
	Title = {System design is an NP-complete problem: Correspondence},
	Volume = {4},
	Year = {2001},
	Bdsk-Url-1 = {http://dx.doi.org/10.1002/sys.v4:3}}

@misc{Bail89a,
	Address = {CACM},
	Author = {S.C. Bailin},
	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},
	Month = apr,
	Number = {RT-0229},
	Title = {Le CyCab de l'INRIA Rh\^{o}ne-Alpes},
	Type = {Technical Report},
	Url = {http://www.inria.fr/rrrt/rt-0229.html},
	Year = {1999},
	Bdsk-Url-1 = {http://www.inria.fr/rrrt/rt-0229.html}}

@inproceedings{Bajr06a,
	Abstract = {We present Sourcerer, a search engine for
                  open-source code. Sourcerer extracts fine-grained
                  structural information from the code and stores it
                  in a relational model. This information is used to
                  implement a basic notion of CodeRank and to enable
                  search forms that go beyond conventional
                  keyword-based searches.},
	Address = {New York, NY, USA},
	Author = {Bajracharya, Sushil and Ngo, Trung and Linstead, Erik and Dou, Yimeng and Rigor, Paul and Baldi, Pierre and Lopes, Cristina},
	Booktitle = {OOPSLA '06: Companion to the 21st ACM SIGPLAN symposium on Object-oriented programming systems, languages, and applications},
	Citeulike-Article-Id = {5404930},
	Citeulike-Linkout-0 = {http://portal.acm.org/citation.cfm?id=1176671},
	Citeulike-Linkout-1 = {http://dx.doi.org/10.1145/1176617.1176671},
	Doi = {10.1145/1176617.1176671},
	Isbn = {1-59593-491-X},
	Location = {Portland, Oregon, USA},
	Pages = {681--682},
	Posted-At = {2009-08-10 14:24:10},
	Priority = {0},
	Publisher = {ACM},
	Title = {Sourcerer: a search engine for open source code supporting structure-based search},
	Url = {http://dx.doi.org/10.1145/1176617.1176671},
	Year = {2006},
	Bdsk-Url-1 = {http://dx.doi.org/10.1145/1176617.1176671}}

@article{Bajr09a,
	Abstract = {Vast quantities of open source code are now
                  available online, presenting a great potential
                  resource for software developers. Yet the current
                  generation of open source code search engines fail
                  to take advantage of the rich structural information
                  contained in the code they index. We have developed
                  Sourcerer, an infrastructure for large-scale
                  indexing and analysis of open source code. By taking
                  full advantage of this structural information,
                  Sourcerer provides a foundation upon which state of
                  the art search engines and related tools easily be
                  built. We describe the Sourcerer infrastructure,
                  present the applications that we have built on top
                  of it, and discuss how existing tools could benefit
                  from using Sourcerer.},
	Address = {Los Alamitos, CA, USA},
	Author = {Bajracharya, Sushil and Ossher, Joel and Lopes, Cristina},
	Citeulike-Article-Id = {5403369},
	Citeulike-Linkout-0 = {http://doi.ieeecomputersociety.org/10.1109/SUITE.2009.5070010},
	Citeulike-Linkout-1 = {http://dx.doi.org/10.1109/SUITE.2009.5070010},
	Doi = {10.1109/SUITE.2009.5070010},
	Isbn = {978-1-4244-3740-5},
	Journal = {Search-Driven Development-Users, Infrastructure, Tools and Evaluation, ICSE Workshop on},
	Pages = {1--4},
	Posted-At = {2009-08-10 11:07:44},
	Priority = {0},
	Publisher = {IEEE Computer Society},
	Title = {Sourcerer: An internet-scale software repository},
	Url = {http://dx.doi.org/10.1109/SUITE.2009.5070010},
	Volume = {0},
	Year = {2009},
	Bdsk-Url-1 = {http://dx.doi.org/10.1109/SUITE.2009.5070010}}

@inproceedings{Bak02a,
	Author = {Lars Bak and Gilad Bracha and Steffen Grarup and Robert Griesemer and David Griswold and Urs H{\"o}lzle},
	Booktitle = {ECOOP '02 Workshop on Inheritance},
	Month = jun,
	Title = {Mixins in {Strongtalk}},
	Year = {2002}}

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

@techreport{Bake78a,
	Author = {Henry G. Baker},
	Institution = {MIT lab for Computer science},
	Title = {Actor Systems for Real Time Computation},
	Type = {MIT/LCS/TR197},
	Year = {1978}}

@techreport{Bake90a,
	Author = {Henry G. Baker},
	Institution = {Nimble Computer Corp.},
	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},
	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},
	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,
	Author = {Brenda S. Baker},
	Journal = {Journal of Algorithms},
	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)},
	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},
	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},
	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.},
	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,
	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}}

@book{Bakk90a,
	Address = {Noordwijkerhout, the Netherlands},
	Editor = {J.W. de Bakker and W.P. de Roever},
	Isbn = {3-540-53931-X},
	Month = may,
	Publisher = {Springer-Verlag},
	Series = {LNCS},
	Title = {Foundations of Object-Oriented Languages},
	Volume = {489},
	Year = {1990}}

@article{Bal92a,
	Author = {H.E. Bal and M.F. Kaashoek and A.S. Tanenbaum},
	Journal = {IEEE Transactions on Software Engineering},
	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},
	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},
	Publisher = {Addison Wesley},
	Title = {Programming Language Essentials},
	Year = {1994}}

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

@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},
	Number = {4},
	Pages = {263--277},
	Title = {A Survey on Context-Aware systems},
	Url = {https://berlin.vitalab.tuwien.ac.at/~florian/papers/ijahuc2007.pdf http://www.infosys.tuwien.ac.at/Staff/sd/papers/ASurveyOnContextAwareSystems.pdf},
	Volume = {2},
	Year = {2007},
	Bdsk-Url-1 = {https://berlin.vitalab.tuwien.ac.at/~florian/papers/ijahuc2007.pdf%20http://www.infosys.tuwien.ac.at/Staff/sd/papers/ASurveyOnContextAwareSystems.pdf},
	Bdsk-Url-2 = {http://dx.doi.org/10.1504/IJAHUC.2007.014070}}

@inproceedings{Bald08a,
	Address = {New York, NY, USA},
	Author = {Baldi, Pierre F. and Lopes, Cristina V. and Linstead, Erik J. and Bajracharya, Sushil K.},
	Booktitle = {OOPSLA '08: Proceedings of the 23rd ACM SIGPLAN conference on Object-oriented programming systems languages and applications},
	Doi = {10.1145/1449764.1449807},
	Isbn = {978-1-60558-215-3},
	Location = {Nashville, TN, USA},
	Pages = {543--562},
	Publisher = {ACM},
	Title = {A theory of aspects as latent topics},
	Year = {2008},
	Bdsk-Url-1 = {http://dx.doi.org/10.1145/1449764.1449807}}

@inproceedings{Balf98a,
	Address = {Washington, DC, USA},
	Author = {Balfanz, Dirk and Gong, Li},
	Booktitle = {ICDCS '98: Proceedings of the The 18th International Conference on Distributed Computing Systems},
	Isbn = {0-8186-8292-2},
	Pages = {398},
	Publisher = {IEEE Computer Society},
	Title = {Experience with Secure Multi-Processing in Java},
	Year = {1998}}

@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.},
	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},
	Medium = {2},
	Pages = {56--65},
	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},
	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)},
	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).},
	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},
	Medium = {2},
	Month = sep,
	Note = {Tool demo},
	Pages = {523--524},
	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}}

@article{Ball06a,
	Address = {New York, NY, USA},
	Author = {Ball, Thomas and Bounimova, Ella and Cook, Byron and Levin, Vladimir and Lichtenberg, Jakob and McGarvey, Con and Ondrusek, Bohus and Rajamani, Sriram K. and Ustuner, Abdullah},
	Doi = {10.1145/1218063.1217943},
	Issn = {0163-5980},
	Journal = {SIGOPS Oper. Syst. Rev.},
	Number = {4},
	Pages = {73--85},
	Publisher = {ACM},
	Title = {Thorough static analysis of device drivers},
	Volume = {40},
	Year = {2006},
	Bdsk-Url-1 = {http://dx.doi.org/10.1145/1218063.1217943}}

@techreport{Ball65a,
	Address = {Menlo Park, California},
	Author = {G. H. Ball and D. J. Hall},
	Institution = {Stanford Research Institute},
	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},
	Month = nov,
	Pages = {140--150},
	Title = {Quicktalk: {A} {Smalltalk}-80 Dialect for Defining Primitive Methods},
	Volume = {21},
	Year = {1986}}

@article{Ball96a,
	Address = {Los Alamitos CA},
	Author = {Timothy Ball and Stephen Eick},
	Issn = {0018-9162},
	Journal = {IEEE Computer},
	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},
	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)},
	Location = {Toulose, France},
	Month = {sep},
	Number = {1687},
	Pages = {216--234},
	Publisher = {Springer Verlag},
	Series = {LNCS},
	Title = {The Concept of Dynamic Analysis},
	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{Balm98a,
	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{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},
	Month = jul,
	Pages = {161--184},
	Publisher = {Springer-Verlag},
	Series = {LNCS},
	Title = {Typed Sets as a Basis for Object-Oriented Database Schemas},
	Url = {http://link.springer.de/link/service/series/0558/tocs/t0707.htm},
	Volume = {707},
	Year = {1993},
	Bdsk-Url-1 = {http://link.springer.de/link/service/series/0558/tocs/t0707.htm}}

@inproceedings{Balz05a,
	Address = {New York, NY, USA},
	Author = {Michael Balzer and Oliver Deussen and Claus Lewerentz},
	Booktitle = {SoftVis '05: Proceedings of the 2005 ACM symposium on Software visualization},
	Doi = {10.1145/1056018.1056041},
	Isbn = {1-59593-073-6},
	Location = {St. Louis, Missouri},
	Pages = {165--172},
	Publisher = {ACM},
	Title = {Voronoi treemaps for the visualization of software metrics},
	Year = {2005},
	Bdsk-Url-1 = {http://dx.doi.org/10.1145/1056018.1056041}}

@article{Bana90a,
	Author = {Jean-Pierre Ban\^atre and Daniel Le M\'etayer},
	Journal = {Science of Computer programming},
	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},
	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},
	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},
	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},
	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},
	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},
	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},
	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},
	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},
	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},
	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},
	Month = dec,
	Pages = {311--322},
	Title = {Semantics and Implementation of Schema Evolution in Object-Oriented Databases},
	Volume = {16},
	Year = {1987}}

@inproceedings{Bani98a,
	Author = {Elisa L. A. Baniassad and Gail C. Murphy},
	Booktitle = {Proceedings of the 20th international conference on Software engineering},
	Isbn = {0-8186-8368-6},
	Location = {Kyoto, Japan},
	Pages = {64--73},
	Publisher = {IEEE Computer Society},
	Title = {Conceptual module querying for software reengineering},
	Year = {1998}}

@inproceedings{Bann79a,
	Address = {New York, NY, USA},
	Author = {John P. Banning},
	Booktitle = {Proceedings of the 6th ACM SIGACT-SIGPLAN symposium on principles of programming languages (POPL'79)},
	Doi = {10.1145/567752.567756},
	Location = {San Antonio, Texas},
	Pages = {29--41},
	Publisher = {ACM},
	Title = {An efficient way to find the side effects of procedure calls and the aliases of variables},
	Year = {1979},
	Bdsk-Url-1 = {http://dx.doi.org/10.1145/567752.567756}}

@article{Bans02a,
	Author = {Jagdish Bansiya and Carl Davis},
	Journal = {IEEE Transactions on Software Engineering},
	Month = jan,
	Number = {1},
	Pages = {4--17},
	Title = {A Hierarchical Model for Object-Oriented Design Quality Assessment},
	Volume = {28},
	Year = {2002}}

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

@inproceedings{Banv96a,
	Address = {Cesena, Italy},
	Author = {Mario Banville},
	Booktitle = {Proceedings of COOORDINATION '96},
	Editor = {Paolo Ciancarini and Chris Hankin},
	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{Barb00a,
	Address = {Como, Italy},
	Author = {Fernanda Barbosa and Cunha, Jos{\'e} C.},
	Booktitle = {Proceedings of SAC '00},
	Month = mar,
	Publisher = {ACM},
	Title = {A Coordination Language for Collective Agent Based Systems: {GroupLog}},
	Year = {2000}}

@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},
	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},
	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},
	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},
	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},
	Month = may,
	Publisher = {IEEE},
	Title = {Distributed Computing Systems},
	Year = {1997}}

@article{Bare83a,
	Author = {H. Barendregt and M. Coppo and M. Dezani-Ciancaglini},
	Journal = {Journal of Symbolic Logic},
	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},
	Publisher = {North-Holland},
	Series = {Studies in Logic and the Foundations of Mathematics},
	Title = {The Lambda Calculus --- Its Syntax and Semantics},
	Volume = {103},
	Year = {1984}}

@incollection{Bari96c,
	Author = {Franck Barillaud and Luca Deri and Metin Feridun},
	Booktitle = {Integrated Network Management: Management in a Virtual World},
	Brokenurl = {http://engine.ieee.org/comsoc/ISINM/)},
	Month = may,
	Publisher = {IEEE},
	Title = {Network Management using Internet Technologies},
	Year = {1996}}

@inproceedings{Barl01a,
	Author = {Todd Barlow and Padraic Neville},
	Booktitle = {Proceedings of the IEEE Symposium on Information Visualization 2001 (INFOVIS'01)},
	Title = {A comparison of 2-D Visulization of Hierarchies},
	Year = {2001}}

@book{Barn02a,
	Address = {Edinburgh Gate, England},
	Author = {David J. Barnes and Michael Koelling},
	Isbn = {0-13-044929-6},
	Publisher = {Prentice Hall},
	Title = {Objects First With {Java} --- A Practical Introduction Using {BlueJ}},
	Year = {2003}}

@inproceedings{Barn04a,
	Author = {Mike Barnett and David A. Naumann},
	Booktitle = {Proceedings MPC 2004},
	Month = jul,
	Title = {Friends Need a Bit More: Maintaining Invariants Over Shared State},
	Year = {2004}}

@article{Barn80a,
	Author = {J.G.P. Barnes},
	Journal = {Software --- Practice and Experience},
	Pages = {851--887},
	Title = {An Overview of Ada},
	Volume = {10},
	Year = {1980}}

@article{Barn94a,
	Author = {Jack Barnard and Art Price},
	Journal = {IEEE Software},
	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},
	Publisher = {Addison Wesley},
	Title = {Programming in Ada '95},
	Year = {1995}}

@article{Baro81a,
	Author = {A.J. Baroody and D.J. De Witt},
	Journal = {ACM TODS},
	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},
	Pages = {21--42},
	Publisher = {Manning Publishing Co.},
	Title = {Visual Programming in the Real World},
	Year = {1995}}

@book{Baro99a,
	Author = {Carl Baroudi},
	Publisher = {Sybex},
	Title = {Mastering Cobol},
	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}}

@inproceedings{Barr82a,
	Address = {Philadelphia},
	Author = {John L. Barron},
	Booktitle = {Proceedings ACM SIGOA},
	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},
	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},
	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},
	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},
	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},
	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},
	Month = dec,
	Publisher = {Wiley},
	Title = {{The World of Scripting Languages}},
	Year = {1999}}

@article{Bart86a,
	Author = {P.S. Barth},
	Journal = {ACM Transactions on Graphics},
	Month = apr,
	Number = {2},
	Pages = {142--172},
	Title = {An object-oriented approach to graphical interfaces},
	Volume = {5},
	Year = {1986}}

@unpublished{Baru89a,
	Author = {Sanjoy K. Baruah},
	Month = jun,
	Note = {Proceedings of IFIP WG 10.2 Conf. on CAD Systems Sup. AI Technique},
	Title = {A Blackboard Architecture to Support Generation of Schematics for Design Automation},
	Type = {Draft},
	Year = {1989}}

@inproceedings{Barz09a,
	Abstract = {We use an empirical qualitative software engineering
                  research to characterize example embedding (EE) as a
                  software activity - a collection of fine grained
                  techniques which together assemble an abstract key
                  notion in software development. This perspective
                  lays the foundations for building an activity
                  catalogue, forming new software practices, affecting
                  the development process and motivating the
                  development of new software tools.},
	Author = {Barzilay, O. and Hazzan, O. and Yehudai, A.},
	Booktitle = {Search-Driven Development-Users, Infrastructure, Tools and Evaluation, 2009. SUITE '09. ICSE Workshop on},
	Citeulike-Article-Id = {5403375},
	Citeulike-Linkout-0 = {http://dx.doi.org/10.1109/SUITE.2009.5070011},
	Citeulike-Linkout-1 = {http://ieeexplore.ieee.org/xpls/abs\_all.jsp?arnumber=5070011},
	Doi = {10.1109/SUITE.2009.5070011},
	Journal = {Search-Driven Development-Users, Infrastructure, Tools and Evaluation, 2009. SUITE '09. ICSE Workshop on},
	Pages = {5--8},
	Posted-At = {2009-08-10 11:09:23},
	Priority = {0},
	Title = {Characterizing Example Embedding as a software activity},
	Url = {http://dx.doi.org/10.1109/SUITE.2009.5070011},
	Year = {2009},
	Bdsk-Url-1 = {http://dx.doi.org/10.1109/SUITE.2009.5070011}}

@book{Bash99a,
	Author = {Imran Bashir and Amrit L. Goel},
	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{Basi87a,
	Author = {Victor Basili and Richard Selby},
	Journal = {IEEE Transactions on Software Engineering},
	Month = dec,
	Number = {12},
	Pages = {1278--1296},
	Title = {Comparing the Effectiveness of Software Testing Strategies},
	Volume = {12},
	Year = {1987}}

@article{Basi88,
	Author = {V. Basili and D. Rombach},
	Journal = {IEEE Transactions on Software Engineering},
	Month = jun,
	Number = {6},
	Title = {The TAME project: Towards Improvement-Oriented Software Environments},
	Volume = {14},
	Year = {1988}}

@article{Basi97a,
	Author = {Victor Basili},
	Journal = {Journal Systems and Software},
	Number = {1},
	Pages = {3--12},
	Publisher = {Elsevier Science Inc.},
	Title = {Evolving and Packaging Reading Technologies},
	Volume = {38},
	Year = {1997}}

@inproceedings{Bass01a,
	Author = {Sarita Bassil and Rudolf K. Keller},
	Booktitle = {Proceedings IWPC 2001},
	Pages = {7--17},
	Title = {Software Visualization Tools: Survey and Analysis},
	Year = {2001}}

@book{Bass98a,
	Author = {Bass, Len and Clements, Paul and Kazman, Rick},
	Publisher = {Addison Wesley},
	Title = {Software Architecture in Practice},
	Year = {1998}}

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

@article{Bato92a,
	Author = {Don Batory and Sean O'Malley},
	Journal = {ACM Transactions on Software Engineering and Methodology},
	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},
	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},
	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},
	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)}},
	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/}}

@book{Batt99a,
	Author = {Giuseppe Di Battista and Peter Eades and Roberto Tamassia and Ioannis G. Tollis},
	Publisher = {Prentice Hall},
	Title = {Algorithms for the Visualization of Graphs},
	Year = {1999}}

@inproceedings{Baud01a,
	Address = {Sozopol, Bulgaria},
	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},
	Month = jun,
	Pages = {193--200},
	Publisher = {Springer-Verlag},
	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}}

@inproceedings{Baue04a,
	Address = {Washington, DC, USA},
	Author = {Markus Bauer and Mircea Trifu},
	Booktitle = {CSMR '04: Proceedings of the Eighth Euromicro Working Conference on Software Maintenance and Reengineering (CSMR'04)},
	Isbn = {0-7695-2107-X},
	Pages = {3-14},
	Publisher = {IEEE Computer Society},
	Title = {Architecture-Aware Adaptive Clustering of OO Systems},
	Year = {2004}}

@misc{Baue99a,
	Author = {Lujo Bauer and Andrew W. Appel and Edward W. Felten},
	Number = {TR-603-99},
	Pages = {13},
	Title = {Mechanisms for Secure Modular Programming in {Java}},
	Url = {http://citeseer.nj.nec.com/bauer99mechanisms.html},
	Year = {1999},
	Bdsk-Url-1 = {http://citeseer.nj.nec.com/bauer99mechanisms.html}}

@incollection{Baum00a,
	Author = {Dirk B{\"a}umer and Dirk Riehle and Wolf Siberski and Martina Wulf},
	Booktitle = {Pattern Language of Program Design 4},
	Editor = {Niel Harrison and Brian Foote and Hans Rohnert},
	Pages = {15--32},
	Publisher = {Addison Wesley},
	Title = {Role Object},
	Year = {2000}}

@inproceedings{Bawd99a,
	Abstract = {Quasiquotation is the technology commonly used in
                  Lisp to write program-generating programs. This
                  paper explains how quasiquotation works, why it
                  works well, and what its limitations are. A brief
                  history of quasiquotation is included.},
	Author = {Alan Bawden},
	Booktitle = {Partial Evaluation and Semantic-Based Program Manipulation},
	Pages = {4--12},
	Title = {Quasiquotation in {Lisp}},
	Url = {http://repository.readscheme.org/ftp/papers/pepm99/bawden.pdf},
	Year = {1999},
	Bdsk-Url-1 = {http://repository.readscheme.org/ftp/papers/pepm99/bawden.pdf}}

@proceedings{Baxt97a,
	Editor = {Ira Baxter, Alex Quilici, Chris Verhoef},
	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},
	Pages = {368--377},
	Publisher = {IEEE Computer Society, Washington, DC, USA},
	Title = {Clone Detection Using Abstract Syntax Trees},
	Year = {1998},
	Bdsk-Url-1 = {http://dx.doi.org/10.1109/ICSM.1998.738528}}

@inproceedings{Bays07a,
	Address = {Washington, DC, USA},
	Author = {Baysal, Olga and Malton, Andrew J.},
	Booktitle = {MSR '07: Proceedings of the Fourth International Workshop on Mining Software Repositories},
	Doi = {10.1109/MSR.2007.4},
	Isbn = {0-7695-2950-X},
	Pages = {7},
	Publisher = {IEEE Computer Society},
	Title = {Correlating Social Interactions to Release History during Software Evolution},
	Year = {2007},
	Bdsk-Url-1 = {http://dx.doi.org/10.1109/MSR.2007.4}}

@article{Beac82a,
	Author = {RichardJ. Beach and J.C. Beatty and K.S. Booth and D.A. Plebon and Eugene Fiume},
	Journal = {Computer Graphics},
	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},
	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},
	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},
	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},
	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},
	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}}

@book{Beck00a,
	Author = {Kent Beck},
	Isbn = {201616416},
	Publisher = {Addison Wesley},
	Title = {Extreme Programming Explained: Embrace Change},
	Year = {2000}}

@book{Beck01a,
	Author = {Kent Beck and Martin Fowler},
	Isbn = {0-201-71091-9},
	Publisher = {Addison Wesley},
	Title = {Planning Extreme Programming},
	Year = {2001}}

@misc{Beck01b,
	Author = {Kent Beck},
	Key = {AgileManifesto},
	Note = {http://agilemanifesto.org},
	Title = {Manifesto for Agile Software Development}}

@book{Beck02a,
	Author = {Kent Beck},
	Isbn = {978-0321146533},
	Publisher = {Addison-Wesley Longman},
	Title = {Test Driven Development: By Example},
	Year = {2002}}

@book{Beck03a,
	Author = {Kent Beck},
	Isbn = {0-321-14653-0},
	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},
	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},
	Month = jan,
	Pages = {182--196},
	Publisher = {Springer},
	Title = {{DCGs} + {Memoing} = {Packrat} Parsing, but is it worth it?},
	Volume = {LNCS 4902},
	Year = {2008}}

@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},
	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},
	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},
	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},
	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},
	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 = may,
	Title = {Instance specific behavior: {Digitalk} implementation and the deep meaning of it all},
	Volume = {2(7)},
	Year = {1993}}

@article{Beck93c,
	Author = {Kent Beck},
	Journal = {Smalltalk Report},
	Month = may,
	Title = {Instance specific behavior: {How} and {Why}},
	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},
	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 Transaction on Visualization and Computer Graphics},
	Month = mar,
	Number = {1},
	Pages = {16--21},
	Title = {Visualizing Network Data},
	Volume = {1},
	Year = {1995}}

@book{Beck97a,
	Author = {Kent Beck},
	Isbn = {978-0134769042},
	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},
	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},
	Publisher = {Sigs Books},
	Title = {Kent Beck's Guide to Better {Smalltalk}},
	Year = {1999}}

@misc{Beck99b,
	Author = {Kent Beck and Erich Gamma},
	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}}

@inproceedings{Beec88a,
	Author = {David Beech},
	Booktitle = {Proceedings OOPSLA '88, ACM SIGPLAN Notices},
	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},
	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},
	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},
	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},
	Pages = {353--382},
	Publisher = {North-Holland},
	Title = {A Formal Approach to Object-Oriented Databases},
	Volume = {5},
	Year = {1990}}

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

@book{Beiz90a,
	Address = {New York, NY, USA},
	Author = {Boris Beizer},
	Isbn = {0-442-20672-0},
	Publisher = {Van Nostrand Reinhold Co.},
	Title = {Software testing techniques (2nd ed.)},
	Year = {1990}}

@book{Beiz99a,
	Author = {Boris Beizer},
	Isbn = {0-471-12094-4},
	Publisher = {John Wiley \& Sons},
	Title = {Black-Box Testing: Techniques for Functional Testing of Software and Systems},
	Year = {1999}}

@article{Bela81a,
	Author = {Laszlo. A. Belady and Carlo J. Evangelisti},
	Journal = {Journal of Systems and Software},
	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}}

@mastersthesis{Bell02a,
	Author = {Stefan Bellon},
	Month = sep,
	School = {Universit\"at Stuttgart},
	Title = {{Vergleich} von {Techniken} zur {Erkennung} duplizierten {Quellcodes}},
	Url = {http://www.bauhaus-stuttgart.de/bauhaus/papers/DIP-1998.pdf http://www.bauhaus-stuttgart.de/clones/index.html},
	Year = {2002},
	Bdsk-Url-1 = {http://www.bauhaus-stuttgart.de/bauhaus/papers/DIP-1998.pdf%20http://www.bauhaus-stuttgart.de/clones/index.html}}

@misc{Bell02b,
	Key = {Bell02b},
	Note = {http://www.bauhaus-stuttgart.de/clones/},
	Title = {Detection of Software Clones: Tool Comparison Experiment},
	Year = {2002}}

@article{Bell07a,
	Address = {Los Alamitos, CA, USA},
	Author = {Stefan Bellon and Rainer Koschke and Giulio Antoniol and Jens Krinke and Ettore Merlo},
	Doi = {10.1109/TSE.2007.70725},
	Issn = {0098-5589},
	Journal = {IEEE Transactions on Software Engineering},
	Number = {9},
	Pages = {577--591},
	Publisher = {IEEE Computer Society},
	Title = {Comparison and Evaluation of Clone Detection Tools},
	Volume = {33},
	Year = {2007},
	Bdsk-Url-1 = {http://dx.doi.org/10.1109/TSE.2007.70725}}

@techreport{Bell92a,
	Author = {Jean L. Bell},
	Editor = {D. Tsichritzis},
	Institution = {Centre Universitaire d'Informatique, University of Geneva},
	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},
	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},
	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},
	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},
	Publisher = {Addison Wesley},
	Title = {The {CRC} Card Book},
	Year = {1997}}

@phdthesis{Bell97b,
	Author = {Luc Bellissard},
	School = {Institut National Polytechnique de Grenoble},
	Title = {Construction et Configuration {D}'Application Reparties},
	Type = {{Ph.D}. Thesis},
	Year = {1997}}

@inproceedings{Bell97c,
	Author = {Berndt Bellay and Harald Gall},
	Booktitle = {Proceedings of WCRE (Working Conference on Reverse Engineering)},
	Pages = {2--11},
	Publisher = {IEEE Computer Society Press: Los Alamitos CA},
	Title = {A Comparison of Four Reverse Engineering Tools},
	Year = {1997}}

@article{Bell98a,
	Author = {Berndt Bellay and Harald Gall},
	Journal = {Journal of Software Maintenance: Research and Practice},
	Title = {An Evaluation of Reverse Engineering Tools},
	Year = {1998}}

@inproceedings{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},
	Publisher = {Prentice-Hall},
	Title = {Principles of Concurrent Programming},
	Year = {1982}}

@book{Ben95a,
	Author = {Ron Ben-Natan},
	Isbn = {0-07-005427-4},
	Publisher = {McGraw-Hill},
	Title = {Corba},
	Year = {1995}}

@book{BenF08a,
	Author = {Ben Fry},
	Publisher = {O'REILLY},
	Title = {Visualizing Data},
	Year = {2008}}

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

@misc{Beng00a,
	Author = {PerOlof Bengtsson and Nico Lassing and Jan Bosch and Hans van Vliet},
	Title = {Analyzing Software Architectures for Modifiability},
	Year = {2000}}

@misc{Benjie,
	Key = {Benjie},
	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}}

@inproceedings{Benn00a,
	Address = {New York, NY, USA},
	Author = {Keith H. Bennett and Vaclav T. Rajlich},
	Booktitle = {ICSE '00: Proceedings of the Conference on The Future of Software Engineering},
	Doi = {10.1145/336512.336534},
	Isbn = {1-58113-253-0},
	Location = {Limerick, Ireland},
	Pages = {73--87},
	Publisher = {ACM Press},
	Title = {Software maintenance and evolution: a roadmap},
	Year = {2000},
	Bdsk-Url-1 = {http://dx.doi.org/10.1145/336512.336534}}

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

@techreport{Benn82a,
	Author = {John K. Bennett},
	Institution = {University of Washington},
	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},
	Month = dec,
	Pages = {318--330},
	Title = {The Design and Implementation of Distributed {Smalltalk}},
	Volume = {22},
	Year = {1987}}

@article{Benn90a,
	Author = {John K. Bennett},
	Journal = {Software --- Practice and Experience},
	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},
	Publisher = {Perseus Books},
	Title = {Organizing Genius --- The Secrets of Creative Collaboration},
	Year = {1997}}

@book{Benn99a,
	Author = {Simon Bennett and Steve McRobb and Ray Farmer},
	Publisher = {McGraw Hill},
	Title = {Object-Oriented System Analysis and Design using UML},
	Year = {1999}}

@inproceedings{Bens88a,
	Author = {Edward H. Bensley and Thomas J. Brando and Myra Jean Prelle},
	Booktitle = {Proceedings OOPSLA '88, ACM SIGPLAN Notices},
	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},
	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}.},
	Author = {Jon Louis Bentley},
	Journal = {Communications of the ACM},
	Month = aug,
	Number = {8},
	Pages = {711--721},
	Title = {Programming Pearls: Little Languages},
	Volume = {29},
	Year = {1986}}

@book{Bera93a,
	Author = {Edward V. Berard},
	Publisher = {Prentice-Hall},
	Title = {Essays On Object-Oriented Software Engineering},
	Volume = {1},
	Year = {1993}}

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

@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.},
	Author = {Alexandre Bergel},
	Cvs = {ABergelPhD},
	Month = nov,
	School = {University of Bern},
	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.},
	Author = {Alexandre Bergel},
	Booktitle = {Proceedings of the Open and Dynamic Aspect Languages Workshop},
	Month = mar,
	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{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.},
	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},
	Isbn = {972-8865-69-4},
	Misc = {Acceptance rate: 12\%},
	Month = sep,
	Pages = {29--38},
	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},
	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},
	Isbn = {80-213-1568-7},
	Month = nov,
	Note = {Short paper, invited keynote speaker},
	Title = {Controlling the Visibility of Changes in Java with Classboxes},
	Year = {2006}}

@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.},
	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},
	Misc = {Acceptance rate: 12\%},
	Month = jul,
	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,
	Author = {Alexandre Bergel},
	Doi = {10.1524/itit.2007.49.4.260},
	Journal = {it- Information Technology},
	Month = jul,
	Number = {4},
	Publisher = {Oldenbourg Wissenschaftsverlag},
	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,
	Author = {Alexandre Bergel and Claus Lewerentz and Liam O'Brien},
	Booktitle = {Proceedings of the 2nd Workshop on Aspect-Oriented Product Line Engineering (AOPLE)},
	Month = oct,
	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}}

@inproceedings{Berg09b,
	Abstract = {No abstract},
	Address = {Toulouse, France},
	Author = {Alexandre Bergel},
	Booktitle = {Proceedings of LMO'09},
	Inriareport = {2009},
	Publisher = {C\'epadu\`es},
	Title = {Contr\^oler la visibilit\'e des aspects avec Aspectboxes},
	X-Country = {FR},
	Year = {2009}}

@article{Berg09f,
	Author = {Alexandre Bergel},
	Journal = {IEEE Transaction on Software Engineering},
	Note = {To appear},
	Title = {FlowTalk: Language Support for Long-Latency Operations in Embedded Devices},
	Url = {http://bergel.eu/download/papers/Berg09cFlowtalk.pdf},
	Year = {2009},
	Bdsk-Url-1 = {http://bergel.eu/download/papers/Berg09cFlowtalk.pdf}}

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

@inproceedings{Berg09e,
	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)},
	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\'{\i}a and Alejandro Lagos and Alexandre Bergel and Mar\'ia Cecilia Bastarrica},
	Booktitle = {Proceedings of the International Conferences on Software Processes (ICSP'10)},
	Month = jul,
	Note = {to appear},
	Publisher = {LNCS Springer Verlag},
	Title = {Software Process Model Blueprints},
	Year = {2010}}

@inproceedings{Berg10c,
	Author = {Alexandre Bergel and Romain Robbes and Walter Binder},
	Booktitle = {Proceedings of the 48th International Conference on Objects, Models, Components, Patterns (TOOLS EUROPE'10)},
	Month = jul,
	Note = {to appear},
	Publisher = {LNCS Springer Verlag},
	Title = {Visualizing Dynamic Metrics with Profiling Blueprints},
	Year = {2010}}

@article{Berg84a,
	Author = {Jan A. Bergstra and J.W. Klop},
	Journal = {Information and Control},
	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},
	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},
	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},
	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},
	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},
	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},
	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},
	Title = {An Object-Oriented Model for Extensible Concurrent Systems: The Composition-Filters Approach},
	Year = {1993}}

@phdthesis{Berg94a,
	Author = {Lodewijk Bergmans},
	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},
	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},
	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},
	Publisher = {ACM Press % Addison Wesley},
	Title = {History of Programming Languages},
	Year = {1996}}

@techreport{Berg97a,
	Author = {Klaus Bergner and Andreas Rausch and Marc Sihling},
	Institution = {TUM},
	Number = {I9735},
	Title = {Using {UML} for Modeling a Distributed {Java} Application ({AFA} info)},
	Url = {http://www.leo.org/pub/comp/doc/techreports/tum/informatik/report/1997/TUM-I9735.ps.gz},
	Year = {1997},
	Bdsk-Url-1 = {http://www.leo.org/pub/comp/doc/techreports/tum/informatik/report/1997/TUM-I9735.ps.gz}}

@techreport{Berg99a,
	Author = {John Bergey and Dennis Smith and Scott Tilley and Nelson Weiderman and Steven Woods},
	Institution = {Carnegie Mellon University, Software Engineering Institute},
	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}}

@phdthesis{Beri97a,
	Author = {Dorothea Beringer},
	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},
	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}}

@inproceedings{Berl93a,
	Address = {New York, NY, USA},
	Author = {Berlage, Thomas and Genau, Andreas},
	Booktitle = {UIST '93: Proceedings of User Interface Software and Technology Symposium},
	Doi = {/10.1145/168642.168668},
	Isbn = {0-89791-628-X},
	Location = {Atlanta, Georgia, United States},
	Pages = {249--257},
	Publisher = {ACM},
	Title = {A framework for shared applications with a replicated architecture},
	Year = {1993},
	Bdsk-Url-1 = {http://dx.doi.org/10.1145/168642.168668}}

@article{Bern01a,
	Author = {Berners-Lee and T. Hendler and J. Lassila},
	Journal = {Scientific American},
	Month = may,
	Title = {The Semantic Web},
	Year = {2001}}

@article{Bern81a,
	Author = {Philip A. Bernstein and N. Goodman},
	Journal = {ACM Computing Surveys},
	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},
	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},
	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},
	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)},
	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},
	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}}

@inproceedings{Berr04a,
	Author = {Daniel Berry},
	Booktitle = {Radical Innovations of Software and Systems Engineering in the Future},
	Editor = {M. Wirsing, A. Knapp and S. Balsamo},
	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{Berr90a,
	Address = {San Francisco},
	Author = {G{\'e}rard Berry and G{\'e}rard Boudol},
	Booktitle = {Proceedings POPL '90},
	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},
	Pages = {217--248},
	Title = {The Chemical Abstract Machine},
	Url = {http://www-sop.inria.fr/meije/personnel/Gerard.Berry/cham.ps},
	Volume = {96},
	Year = {1992},
	Bdsk-Url-1 = {http://www-sop.inria.fr/meije/personnel/Gerard.Berry/cham.ps}}

@article{Berr94a,
	Address = {Philadelphia, PA},
	Author = {Michael W. Berry and Susan T. Dumais and Gavin W. O'Brien},
	Journal = {SIAM Review},
	Number = {4},
	Pages = {573--597},
	Publisher = {Society for Industrial and Applied Mathematics},
	Title = {Using linear algebra for intelligent information retrieval},
	Volume = {37},
	Year = {1995}}

@incollection{Berr98,
	Author = {G\'{e}rard Berry},
	Booktitle = {Proof, Language and Interaction: Essays in Honour of Robin Milner},
	Editor = {G. Plotkin and C. Stirling and M. Tofte},
	Publisher = {MIT Press},
	Title = {The Foundations of {E}sterel},
	Year = {1998}}

@inproceedings{Berry00,
	Author = {Berry, G{\'e}rard},
	Booktitle = {Proof, Language, and Interaction, Essays in Honour of Robin Milner},
	Isbn = {978-0-262-16188-6},
	Title = {The foundations of {Esterel}},
	Year = {2000}}

@inproceedings{Bert07a,
	Address = {Washington, DC, USA},
	Author = {Antonia Bertolino},
	Booktitle = {Proceedings of Future of Software Engineering (FOSE'07) at 29th International Conference on Software Engineering},
	Doi = {10.1109/FOSE.2007.25},
	Isbn = {0-7695-2829-5},
	Pages = {85--103},
	Publisher = {IEEE Computer Society},
	Title = {Software Testing Research: Achievements, Challenges, Dreams},
	Year = {2007},
	Bdsk-Url-1 = {http://dx.doi.org/10.1109/FOSE.2007.25}}

@inproceedings{Bert09a,
	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},
	Pages = {1--6},
	Publisher = {{IEEE}},
	Title = {A {SIP}-Based Home Automation Platform: An experimental study},
	Year = {2009}}

@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},
	Title = {{SIP} as a Universal Communication Bus: A Methodology and an Experimental Study},
	Year = {2010}}

@book{Bert74a,
	Author = {Jacques Bertin},
	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},
	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},
	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},
	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},
	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},
	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},
	Month = jun,
	Pages = {416--440},
	Publisher = {Springer-Verlag},
	Series = {LNCS},
	Title = {An Approach to Classify Semi-Structured Objects},
	Volume = 1628,
	Year = {1999}}

@article{Berz94a,
	Address = {New York, NY, USA},
	Author = {Berzins, Valdis},
	Date-Added = {2009-10-21 11:25:21 +0200},
	Date-Modified = {2009-10-21 11:25:39 +0200},
	Doi = {/10.1145/197320.197403},
	Issn = {0164-0925},
	Journal = {ACM Trans. Program. Lang. Syst.},
	Number = {6},
	Pages = {1875--1903},
	Publisher = {ACM},
	Title = {Software merge: semantics of combining changes to programs},
	Volume = {16},
	Year = {1994},
	Bdsk-Url-1 = {/10.1145/197320.197403}}

@article{Bess01a,
	Author = {F. Besson and T. Jensen and D. Le M\'etayer and T. Thorn},
	Journal = {Journal of Computer Security},
	Pages = {217--250},
	Title = {Model ckecking security properties of control flow graphs},
	Volume = {9},
	Year = {2001}}

@book{Best93a,
	Address = {Heidesheim, Germany},
	Editor = {Eike Best},
	Isbn = {3-540-57208-2},
	Month = aug,
	Publisher = {Springer-Verlag},
	Series = {LNCS},
	Title = {Proceedings {CONCUR}'93},
	Volume = {715},
	Year = {1993}}

@inproceedings{Beti05a,
	Address = {New York, NY, USA},
	Author = {Aysu Betin-Can and Tevfik Bultan and Xiang Fu},
	Booktitle = {WWW '05: Proceedings of the 14th international conference on World Wide Web},
	Doi = {10.1145/1060745.1060853},
	Isbn = {1-59593-046-9},
	Location = {Chiba, Japan},
	Pages = {750--759},
	Publisher = {ACM Press},
	Title = {Design for verification for asynchronously communicating Web services},
	Year = {2005},
	Bdsk-Url-1 = {http://dx.doi.org/10.1145/1060745.1060853}}

@inproceedings{Bett08a,
	Author = {Bettini, Lorenzo and Bono, Viviana},
	Booktitle = {Proc. of PPPJ, Principles and Practice of Programming in Java},
	Note = {To appear},
	Publisher = {ACM Press},
	Title = {{Type Safe Dynamic Object Delegation in Class-based Languages}},
	Year = {2008}}

@article{Bett08b,
	Author = {Bettini, Lorenzo and Capecchi, Sara and Venneri, Betti},
	Journal = {Science of Computer Programming},
	Note = {To appear},
	Publisher = {Elsevier},
	Title = {{Featherweight Java with Dynamic and Static Overloading}},
	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}}

@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},
	Posted-At = {2009-09-04 16:41:55},
	Priority = {2},
	Publisher = {Addison-Wesley Professional},
	Title = {Next generation {Java} testing: {TestNG} and advanced concepts},
	Url = {http://portal.acm.org/citation.cfm?id=1324803},
	Year = {2007},
	Bdsk-Url-1 = {http://portal.acm.org/citation.cfm?id=1324803}}

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

@inproceedings{Beye05a,
	Author = {Dirk Beyer},
	Booktitle = {Proceedings of the 21st IEEE International Conference on Software Maintenance (ICSM), Industrial and Tool volume},
	Location = {Budapest},
	Pages = {89--92},
	Title = {Co-change visualization},
	Url = {http://citeseer.ist.psu.edu/beyer05cochange.html},
	Year = {2005},
	Bdsk-Url-1 = {http://citeseer.ist.psu.edu/beyer05cochange.html}}

@inproceedings{Beye05b,
	Address = {Washington, DC, USA},
	Author = {Beyer, Dirk and Noack, Andreas},
	Booktitle = {IWPC '05: Proceedings of the 13th International Workshop on Program Comprehension},
	Doi = {10.1109/WPC.2005.12},
	Isbn = {0-7695-2254-8},
	Pages = {259--268},
	Publisher = {IEEE Computer Society},
	Title = {Clustering Software Artifacts Based on Frequent Common Changes},
	Year = {2005},
	Bdsk-Url-1 = {http://dx.doi.org/10.1109/WPC.2005.12}}

@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{Bezi01a,
	Address = {Los Alamitos CA},
	Author = {Jean B\'ezivin and Olivier Gerb\'e},
	Booktitle = {Proceedings of Automated Software Engineering (ASE'01)},
	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{Bezi87a,
	Author = {Jean B\'ezivin},
	Booktitle = {Proceedings OOPSLA '87, ACM SIGPLAN Notices},
	Month = dec,
	Pages = {394--405},
	Title = {Some Experiments In Object-Oriented Simulation},
	Volume = {22},
	Year = {1987}}

@article{Bhan94a,
	Author = {Sanjay Bhansali},
	Editor = {W. Lewis Jhonson and Anthony Finkelstein},
	Journal = {Automated Software Engineering},
	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},
	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},
	Month = nov,
	Pages = {303--314},
	Title = {Virtual Instruments: Object-Oriented Program Synthesis},
	Volume = {21},
	Year = {1986}}

@inproceedings{Bhat06a,
	Author = {Pradeep Bhatia and Yogesh Singh},
	Booktitle = {Proceedings of the International Conference on Software Engineering Research and Practice {\&} Conference on Programming Languages and Compilers, SERP 2006},
	Isbn = {1-932415-91-2},
	Pages = {972-979},
	Publisher = {CSREA Press},
	Title = {Quantification Criteria for Optimization of Modules in OO Design},
	Volume = {2},
	Year = {2006}}

@article{Bibl01a,
	Author = {John Bible and Gregg Rothermel and David Rosenblum},
	Journal = {ACM TOSEM},
	Month = apr,
	Number = {2},
	Pages = {149--183},
	Title = {A Comparative Study of Coarse- and Fine-Grained Safe Regression Test Selection},
	Volume = {10},
	Year = {2001}}

@inproceedings{Bido93a,
	Author = {M. Bidoit and R. Hennicker},
	Booktitle = {Proceedings TAPSOFT '93},
	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},
	Month = apr,
	Publisher = {Springer-Verlag},
	Series = {LNCS},
	Title = {Theory and Practice of Software Development},
	Volume = {1214},
	Year = {1997}}

@article{Biem94a,
	Author = {J.M. Bieman and L.M.Ott},
	Journal = {IEEE Transactions on Software Engineering},
	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},
	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},
	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},
	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/}}

@article{Bigg87a,
	Author = {T.J. Biggerstaff and C. Richter},
	Journal = {IEEE Software},
	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},
	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},
	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},
	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},
	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)},
	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},
	Month = may,
	Number = {5},
	Pages = {72--82},
	Publisher = {ACM},
	Title = {Program Understanding and the Concept Assignment Problem},
	Volume = {37},
	Year = {1994}}

@inproceedings{Bigg94b,
	Author = {Ted J. Biggerstaff},
	Booktitle = {Proceedings ICSR 1994},
	Title = {The Library Scaling Problem and the Limits of Concrete Component Reuse},
	Year = {1994}}

@article{Biha92a,
	Author = {Thomas A. Bihari and Prabha Gopinath},
	Journal = {IEEE Computer},
	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},
	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},
	Pages = {14--28},
	Publisher = {Springer-Verlag},
	Series = {LNCS},
	Title = {Sender Initiated and Receiver Initiated Coordination in a Global Object Space},
	Volume = {924},
	Year = {1995}}

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

@book{Bind99a,
	Author = {Binder, Robert V.},
	Location = {Archiv SCG},
	Publisher = {Addison Wesley},
	Series = {Object Technology Series},
	Title = {{Testing Object-Oriented Systems: Models, Patterns, and Tools}},
	Year = {1999}}

@inproceedings{Bing93a,
	Author = {Tim Bingham and Nancy Hobbs and Dave Husson},
	Booktitle = {Proceedings OOPSLA '93, ACM SIGPLAN Notices},
	Month = oct,
	Pages = {83--90},
	Title = {Experiences Developing and Using an {OO} Library for Program Manipulation},
	Volume = {28},
	Year = {1993}}

@article{Bink04a,
	Address = {Piscataway, NJ, USA},
	Author = {Binkley, David and Harman, Mark},
	Doi = {10.1109/TSE.2004.78},
	Issn = {0098-5589},
	Journal = {IEEE Trans. Softw. Eng.},
	Number = {11},
	Pages = {715--735},
	Publisher = {IEEE Press},
	Title = {Analysis and Visualization of Predicate Dependence on Formal Parameters and Global Variables},
	Volume = {30},
	Year = {2004},
	Bdsk-Url-1 = {http://dx.doi.org/10.1109/TSE.2004.78}}

@inproceedings{Bink05a,
	Address = {Washington, DC, USA},
	Author = {Binkley, David and Harman, Mark},
	Booktitle = {ICSM '05},
	Doi = {10.1109/ICSM.2005.58},
	Isbn = {0-7695-2368-4},
	Pages = {177--186},
	Publisher = {IEEE Computer Society},
	Title = {Locating Dependence Clusters and Dependence Pollution},
	Year = {2005},
	Bdsk-Url-1 = {http://dx.doi.org/10.1109/ICSM.2005.58}}

@article{Bink95a,
	Address = {New York, NY, USA},
	Author = {Binkley, David and Horwitz, Susan and Reps, Thomas},
	Date-Added = {2009-10-21 11:26:50 +0200},
	Date-Modified = {2009-10-21 11:27:00 +0200},
	Doi = {/10.1145/201055.201056},
	Issn = {1049-331X},
	Journal = {ACM Trans. Softw. Eng. Methodol.},
	Number = {1},
	Pages = {3--35},
	Publisher = {ACM},
	Title = {Program integration for languages with procedure calls},
	Volume = {4},
	Year = {1995},
	Bdsk-Url-1 = {/10.1145/201055.201056}}

@inproceedings{Bink98a,
	Address = {Washington, DC, USA},
	Author = {Binkley, Aaron B. and Schach, Stephen R.},
	Booktitle = {ICSE '98: Proceedings of the 20th international conference on Software engineering},
	Isbn = {0-8186-8368-6},
	Location = {Kyoto, Japan},
	Pages = {452--455},
	Publisher = {IEEE Computer Society},
	Title = {Validation of the coupling dependency metric as a predictor of run-time failures and maintenance measures},
	Year = {1998}}

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

@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},
	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{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{Birk40a,
	Author = {Garret Birkhoff},
	Journal = {American Mathematical Society},
	Title = {Lattice {Theory}},
	Year = {1940}}

@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},
	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},
	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},
	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},
	Month = jul,
	Pages = {21--35},
	Publisher = {Springer-Verlag},
	Series = {LNCS},
	Title = {Frameworks in the Financial Engineering Domain: An Experience Report},
	Url = {http://link.springer.de/link/service/series/0558/tocs/t0707.htm},
	Volume = {707},
	Year = {1993},
	Bdsk-Url-1 = {http://link.springer.de/link/service/series/0558/tocs/t0707.htm}}

@book{Birt73a,
	Address = {Philadelphia},
	Author = {G. Birtwistle and Ole Johan Dahl and B. Myhrtag and Kristen Nygaard},
	Publisher = {Auerbach Press},
	Title = {Simula Begin},
	Year = {1973}}

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

@book{Bisc92a,
	Author = {Walter R. Bischofberger and Gustav Pomberger},
	Isbn = {3-540-55448-3},
	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}}

@book{Bish03a,
	Author = {Matt Bishop},
	Isbn = {0-201-44099-7},
	Publisher = {Pearson Education (Singapore) Pte. Ltd.},
	Title = {Computer Security: Art and Science},
	Year = {2003}}

@book{Bish03b,
	Author = {Bishop, Matt},
	Publisher = {Addison-Wesley},
	Title = {Clustering for data mining},
	Year = {2003}}

@inproceedings{Bjoe88a,
	Author = {Anders Bj{\"o}rnerstedt and Stefan Britts},
	Booktitle = {Proceedings OOPSLA '88, ACM SIGPLAN Notices},
	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},
	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},
	Pages = {451--485},
	Publisher = {Addison Wesley/ACM Press},
	Title = {Version Control in an Object-oriented Architecture},
	Year = {1989}}

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

@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{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.},
	Author = {Andrew P. Black and Nathanael Sch\"arli},
	Booktitle = {Proceedings ICSE 2004},
	Cvs = {TraitsProgrammingICSE2003},
	Doi = {10.1109/ICSE.2004.1317489},
	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{Blac86a,
	Author = {Andrew Black and Norman Hutchinson and Eric Jul and Henry Levy},
	Booktitle = {Proceedings OOPSLA '86, ACM SIGPLAN Notices},
	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},
	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},
	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},
	Month = jun,
	Pages = {519--528},
	Publisher = {Springer-Verlag},
	Series = {LNCS},
	Title = {Object-Oriented Programming: Regaining the Excitement},
	Volume = 1628,
	Year = {1999}}

@article{Blah88a,
	Author = {M.R. Blaha and W.J. Premerlani and James E. Rumbaugh},
	Journal = {CACM},
	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},
	Note = {ISBN: 0-8186-89-67-6},
	Pages = {164--173},
	Publisher = {IEEE Computer Society},
	Title = {Requirements for Repository Software},
	Year = {1998}}

@inproceedings{Blah98b,
	Author = {M. Blaha},
	Booktitle = {Proceedings of WCRE '98},
	Note = {ISBN: 0-8186-89-67-6},
	Pages = {184--190},
	Publisher = {IEEE Computer Society},
	Title = {On Reverse Engineering of Vendor Databases},
	Year = {1998}}

@inproceedings{Blak87a,
	Address = {Paris, France},
	Author = {Edwin Blake and Steve Cook},
	Booktitle = {Proceedings ECOOP '87},
	Editor = {J. B\'ezivin and J-M. Hullot and P. Cointe and H. Lieberman},
	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{Blas01a,
	Author = {Darius Blasband},
	Booktitle = {Proceedings of the Eight Working Conference on Reverse Engineering (WCRE 2001)},
	Doi = {10.1109/WCRE.2001.957834},
	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}}

@article{Blas91a,
	Address = {New York},
	Author = {G{\"u}nther Blaschek},
	Journal = {Structured Programming},
	Pages = {217--225},
	Publisher = {Springer-Verlag},
	Title = {Type-Safe Object-Oriented Programming with Prototypes --- The Concepts of Omega},
	Volume = {12},
	Year = {1991}}

@inproceedings{Bloc89a,
	Author = {F.P. Block and N.C. Chan},
	Booktitle = {Proceedings OOPSLA '89, ACM SIGPLAN Notices},
	Month = oct,
	Pages = {151--158},
	Title = {An Extended Frame Language},
	Volume = {24},
	Year = {1989}}

@inproceedings{Bloo79a,
	Address = {Pacific Grove, CA},
	Author = {Toby Bloom},
	Booktitle = {Proceedings of the Seventh Symposium on Operating Systems Principles},
	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},
	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},
	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},
	Pages = {81--95},
	Publisher = {Springer-Verlag},
	Series = {Workshops in Computing},
	Title = {Experimenting with Process Equivalence},
	Year = {1990}}

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

@incollection{Bobb07a,
	Author = {Jayaram Bobba and Kevin E. Moore and Luke Yen and Haris Volos and Mark D. Hill and Michael M. Swift and David A. Wood},
	Booktitle = {Proceedings of the 34th Annual International Symposium on Computer Architecture},
	Isbn = {978-1-59593-706-3},
	Month = jun,
	Pages = {81--91},
	Pdf = {http://www.cs.wisc.edu/multifacet/papers/isca07_pathologies.pdf},
	Publisher = {International Symposium on Computer Architecture},
	Title = {Performance Pathologies in Hardware Transactional Memory},
	Year = {2007}}

@article{Bobr77a,
	Author = {Daniel G. Bobrow and T. Winograd},
	Journal = {Cognitive Science},
	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},
	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},
	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},
	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)},
	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},
	Pages = {29--61},
	Publisher = {MIT Press},
	Title = {{CLOS} in Context --- The Shape of the Design},
	Year = {1993}}

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

@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},
	Pages = {266--277},
	Publisher = {Springer-Verlag},
	Series = {LNCS},
	Title = {Object-Oriented Representation of Shape Information},
	Volume = {858},
	Year = {1994}}

@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},
	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},
	Number = {768},
	Title = {Object-Oriented Design for Distributed Systems: The {OSI} Dierctory Example},
	Type = {Report},
	Year = {1991}}

@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},
	Location = {Lancaster, UK},
	Pages = {83--92},
	Publisher = {ACM Press},
	Title = {Virtual Machine Support for Dynamic Join Points},
	Year = {2004},
	Bdsk-Url-1 = {http://dx.doi.org/10.1145/976270.976282}}

@inproceedings{Bock06a,
	Author = {Christoph Bockisch and Sebastian Kanthak and Michael Haupt and Matthew Arnold and Mira Mezini},
	Booktitle = {Proceedings of {OOPSLA} 2006},
	Editor = {Peri L. Tarr and William R. Cook},
	Isbn = {1-59593-348-4},
	Pages = {125--138},
	Publisher = {ACM},
	Title = {Efficient control flow quantification},
	Year = {2006}}

@inproceedings{Bock07a,
	Address = {New York, NY, USA},
	Author = {Christoph Bockisch and Mira Mezini},
	Booktitle = {VMIL '07: Proceedings of the 1st workshop on Virtual machines and intermediate languages for emerging modularization mechanisms},
	Doi = {10.1145/1230136.1230137},
	Isbn = {978-1-59593-661-5},
	Location = {Vancouver, British Columbia, Canada},
	Pages = {1},
	Publisher = {ACM},
	Title = {A flexible architecture for pointcut-advice language implementations},
	Year = {2007},
	Bdsk-Url-1 = {http://dx.doi.org/10.1145/1230136.1230137}}

@inproceedings{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{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},
	Month = oct,
	Pages = {89--99},
	Title = {What Tracers Are Made Of},
	Volume = {25},
	Year = {1990}}

@book{Boeh05a,
	Address = {Berlin, Germany},
	Editor = {Barry Boehm and Hans Dieter Rombach and Marvin V. Zelkowitz},
	Isbn = {3-540-24547-2},
	Publisher = {Springer-Verlag},
	Title = {Foundations of Empirical Software Engineering},
	Year = {2005}}

@book{Boeh78a,
	Author = {B. Boehm and J. Brown and H. Kaspar and M. Lipow and G. McLeod and M. Merritt},
	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},
	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.},
	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},
	Number = {5},
	Pages = {61--72},
	Title = {A Spiral Model of Software Development and Enhancement},
	Volume = {21},
	Year = {1988}}

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

@article{Boer05a,
	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.},
	Doi = {10.1109/IRI-05.2005.1506470},
	Journal = {Information Reuse and Integration, Conf, 2005. IRI -2005 IEEE International Conference on.},
	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},
	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)},
	Month = oct,
	Organization = {University of Tokyo},
	Pages = {20--22},
	Title = {Reconciling {Use} {Cases} via {Controlled} {Language} and {Graphical} {Models}},
	Year = {2001}}

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

@techreport{Bohn94a,
	Author = {Henrik Bohnenkamp},
	Institution = {Friedrich-Alexander-Universit{\"a}t Erlangen-N{\"u}rnberg},
	Month = feb,
	Title = {{CLOWN}: Concurrent Language with Objects and Wait-by-Necessity},
	Type = {thesis},
	Year = {1994}}

@book{Bohn96a,
	Author = {Bohner, Shawn A. and Arnold, Robert S.},
	Publisher = {IEEE Computer Society Press},
	Title = {Software Change Impact Analysis},
	Year = {1996}}

@inproceedings{Boji00a,
	Author = {Dragan Bojic and Dusan Velasevic},
	Booktitle = {Proceedings of SAC '00 (ACM Symposium on Applied Computing)},
	Publisher = {ACM Press},
	Title = {Reverse {Engineering} of {Use} {Case} {Realizations} in {UML}},
	Url = {http://www.acm.org/conferences/sac/sac00/Proceed/FinalPapers},
	Year = {2000},
	Bdsk-Url-1 = {http://www.acm.org/conferences/sac/sac00/Proceed/FinalPapers}}

@inproceedings{Boji00b,
	Address = {Los Alamitos, CA, USA},
	Author = {Dragan Bojic and Dusan Velasevic},
	Booktitle = {Conference on Software Maintenance and Reengineering (CSMR)},
	Doi = {10.1109/CSMR.2000.827302},
	Isbn = {0-7695-0546-5},
	Pages = {23--33},
	Publisher = {IEEE Computer Society},
	Title = {A Use-Case Driven Method of Architecture Recovery for Program Understanding and Reuse Reengineering},
	Year = {2000},
	Bdsk-Url-1 = {http://dx.doi.org/10.1109/CSMR.2000.827302}}

@incollection{Bolo89a,
	Author = {Tommaso Bolognesi and Maurizio Caneve},
	Booktitle = {Formal Description Techniques},
	Editor = {K.J. Turner},
	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},
	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},
	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},
	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.},
	Author = {Carl Friedrich Bolz and Adrian Lienhard and Nicholas D. Matsakis and Oscar Nierstrasz and Lukas Renggli and Armin Rigo and Toon Verwaest},
	Booktitle = {Self-Sustaining Systems},
	Doi = {10.1007/978-3-540-89275-5_7},
	Isbn = {978-3-540-89274-8},
	Medium = {2},
	Pages = {123--139},
	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},
	Location = {Genova, Italy},
	Pages = {18--25},
	Publisher = {ACM},
	Title = {Tracing the meta-level: PyPy's tracing JIT compiler},
	Year = {2009},
	Bdsk-Url-1 = {10.1145/1565824.1565827}}

@inproceedings{Bona86a,
	Author = {Jeff Bonar and Robert Cunningham and Jamie Schultz},
	Booktitle = {Proceedings OOPSLA '86, ACM SIGPLAN Notices},
	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},
	Publisher = {Oxford University Press},
	Title = {Swarm Intelligence: From Natural to Artificial Systems},
	Year = {1999}}

@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{Bond07b,
	Author = {Michael D. Bond and Kathryn S. McKinley},
	Bibdate = {2008-10-27},
	Bibsource = {DBLP, http://dblp.uni-trier.de/db/conf/oopsla/oopsla2008.html#BondM08},
	Booktitle = {OOPSLA: Proceedings of the 23rd Annual {ACM} {SIGPLAN} Conference on Object-Oriented Programming, Systems, Languages, and Applications, {OOPSLA} 2008, October 19-23, 2008, Nashville, {TN}, {USA}},
	Editor = {Gail E. Harris},
	Isbn = {978-1-60558-215-3},
	Pages = {109--126},
	Publisher = {ACM},
	Title = {Tolerating memory leaks},
	Url = {http://doi.acm.org/10.1145/1449764.1449774},
	Year = {2008},
	Bdsk-Url-1 = {http://doi.acm.org/10.1145/1449764.1449774}}

@book{Bond76a,
	Address = {New York},
	Author = {J.A. Bondy and U.S.R. Murty},
	Publisher = {North Holland},
	Title = {Graph Theory with Applications},
	Year = {1976}}

@inproceedings{Bonf94a,
	Author = {F. Bonfatti and P. D. Monari},
	Booktitle = {Proceedings, Object-Oriented Methodologies and Systems},
	Editor = {E. Bertino and S. Urban},
	Pages = {108--122},
	Publisher = {Springer-Verlag},
	Series = {LNCS},
	Title = {Towards a General Purpose Approach to Object-Oriented Analysis},
	Volume = {858},
	Year = {1994}}

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

@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},
	Month = jun,
	Pages = {43--66},
	Publisher = {Springer-Verlag},
	Series = {LNCS},
	Title = {A Core Calculus of Classes and Mixins},
	Volume = 1628,
	Year = {1999}}

@article{Booc02a,
	Author = {Grady Booch and Alan W. Brown},
	Journal = {Rational Software Corporation},
	Month = oct,
	Title = {Collaborative Development Environments},
	Year = {2002}}

@book{Booc05a,
	Author = {Booch, Grady and Rumbaugh, James and Jacobson, Ivar},
	Publisher = {Addison Wesley},
	Title = {The Unified Modeling Language User Guide (2nd Edition)},
	Year = {2005}}

@book{Booc83a,
	Address = {Menlo Park, CA 94025},
	Author = {Grady Booch},
	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},
	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},
	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},
	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},
	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},
	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},
	Publisher = {Addison Wesley},
	Title = {Object Solutions},
	Year = {1996}}

@book{Booc97a,
	Author = {Grady Booch and James Rumbaugh},
	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},
	Publisher = {Addison Wesley},
	Title = {The Unified Modeling Language User Guide},
	Year = {1999}}

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

@book{Boot93a,
	Author = {Vernon Booth},
	Isbn = {0521429153},
	Publisher = {Cambridge University Press},
	Title = {Communicating in Science},
	Year = {1993}}

@mastersthesis{Borc01a,
	Author = {Michael Borchardt},
	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},
	Pages = {2--16},
	Publisher = {Springer-Verlag},
	Series = {LNCS},
	Title = {Testing Equivalences for Mobile Processes},
	Volume = {630},
	Year = {1992}}

@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},
	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},
	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},
	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},
	Pages = {133--141},
	Title = {A Type Declaration and Inference System for {Smalltalk}},
	Year = {1982}}

@article{Born86a,
	Author = {Alan Borning and Robert Duisberg},
	Journal = {ACM Transactions on Computer Graphics},
	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},
	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},
	Misc = {June 15-17},
	Month = jun,
	Pages = {1--10},
	Publisher = {Springer-Verlag},
	Series = {LNCS},
	Title = {Deltatalk: An Empirically and Aesthetically Motivated Simplification of the {Smalltalk}-80 Language},
	Volume = {276},
	Year = {1987}}

@article{Bos81a,
	Author = {Jan van den Bos and R. Plasmeijer and Jan W.M. St},
	Journal = {ACM TOPLAS},
	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},
	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},
	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},
	Month = oct,
	Pages = {95--102},
	Title = {{PROCOL} --- {A} Parallel Object Language with Protocols},
	Volume = {24},
	Year = {1989}}

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

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

@techreport{Bosh97a,
	Author = {Marat Boshernitsan and Michael Downes},
	Institution = {University of California, Berkeley},
	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{Bota91a,
	Author = {Rodrigo A. Botafogo and Ben Shneiderman},
	Booktitle = {Proceedings CHI '91 (Conference on Human Factors in Computing Systems)},
	Location = {New Orleans, Louisiana, USA},
	Pages = {63--74},
	Publisher = {ACM Press},
	Title = {Identifying {Aggregates} in {Hypertext} {Structures}},
	Year = {1991}}

@techreport{Boud86a,
	Author = {G\'erard Boudol and Ilaria Castellani},
	Institution = {INRIA},
	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},
	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},
	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},
	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},
	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},
	Pages = {228--241},
	Title = {The pi-calculus in direct style},
	Url = {http://www-sop.inria.fr/meije/personnel/Gerard.Boudol/blue.html},
	Year = {1997},
	Bdsk-Url-1 = {http://www-sop.inria.fr/meije/personnel/Gerard.Boudol/blue.html}}

@article{Bouj00a,
	Author = {Abdulazeez S. Boujarwah and Kassem Saleh and Jehad Al-Dallal},
	Journal = {Information {\&} Software Technology},
	Number = {11},
	Pages = {765--775},
	Title = {Dynamic data flow analysis for {Java} programs.},
	Volume = {42},
	Year = {2000}}

@inproceedings{Bouk06a,
	Author = {Salah Bouktif and Yann-Gael Gueheneuc and Giuliano Antoniol},
	Booktitle = {Proceedings of the 13th Working Conference on Reverse Engineering (WCRE 2006)},
	Pages = {221--230},
	Title = {Extracting Change-patterns from {CVS} Repositories},
	Year = {2006}}

@inproceedings{Boul94a,
	Author = {F. Boulanger and H. Delebecque and G. Vdal-Naquet},
	Booktitle = {Real Time Systems Conference},
	Pages = {245--260},
	Title = {Int\'egration de Modules Synchrones dans un Cycle de D\'eveloppement par Objets},
	Year = {1994}}

@inproceedings{Bour00a,
	Author = {Noury Bouraqadi},
	Booktitle = {Workshop on Advanced Separation of Concerns --- OOPSLA 2000},
	Title = {Concern Oriented Programming using Reflection},
	Year = {2000}}

@article{Bour03a,
	Author = {Noury Bouraqadi},
	Journal = {Journal of Computer Languages, Systems and Structures},
	Month = apr,
	Number = {1-2},
	Pages = {49--61},
	Publisher = {Elsevier},
	Title = {Safe Metaclass Composition Using Mixin-Based Inheritance},
	Volume = {30},
	Year = {2004}}

@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)},
	Title = {Towards Unified Aspect-Oriented Programming},
	Year = {2005}}

@inproceedings{Bour09a,
	Address = {Brest, France},
	Author = {Noury Bouraqadi and Luc Fabresse},
	Booktitle = {Proceedings of the International Workshop on Smalltalk Technologies},
	Keywords = {Component, Smalltalk, Composition},
	Month = {aug},
	Publisher = {ACM},
	Title = {CLIC: A Component Model Symbiotic with Smalltalk},
	Year = {2009}}

@article{Bour78a,
	Author = {S.R. Bourne},
	Journal = {Bell System Technical Journal},
	Misc = {July-August},
	Month = jul,
	Number = {6 (part 2)},
	Pages = {1971--1990},
	Title = {The {UNIX} Shell},
	Volume = {57},
	Year = {1978}}

@inproceedings{Bour94a,
	Abstract = {By means of an illustrative application, we discuss
                  the implementation choices of the rule-based
                  coordination language LO. Distributed applications
                  written in LO manifest two levels of granularity,
                  each with their specific communication paradigm. At
                  the finer level, individual objects are composed
                  into agents and communicate through blackboards. At
                  the coarser level, these agents interact through
                  broadcasts. This dichotomy determines implementation
                  choices: Concurrency among agents naturally maps
                  onto distributed processes (with e.g. RPC), whereas
                  concurrency among objects maps onto threads (in
                  shared memory). These four abstractions (objects,
                  blackboards, agents, and broadcasts) together with
                  LO 's basic computation paradigm (rules) are
                  implemented as a class-based run-time library,
                  thereby enriching classical object-oriented
                  platforms. Finally we stress the fact that the
                  resulting run-time library is poly- morphic: The
                  run-time can manipulate any independently defined
                  appli- cation object, provided its class respects a
                  minimal protocol. Run-time polymorphism has turned
                  out to be the key to composition-based reuse.},
	Author = {Marc Bourgois and Jean-Marc Andreoli and Remo Pareschi},
	Booktitle = {Proceedings of the ECOOP '93 Workshop on Object-Based Distributed Programming},
	Editor = {Rachid Guerraoui and Oscar Nierstrasz and Michel Riveill},
	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{Bouv96a,
	Author = {Pascal Bouvry and Farhad Arbab},
	Booktitle = {Proceedings of COORDINATION '96},
	Editor = {Paolo Ciancarini and Chris Hankin},
	Month = apr,
	Pages = {403--406},
	Publisher = {Springer-Verlag},
	Series = {LNCS},
	Title = {Visifold*: {A} Visual Environment for a Coordination Language},
	Volume = {1061},
	Year = {1996}}

@article{Bowe82a,
	Author = {K. A. Bowen and R. A. Kowalski},
	Editor = {K. L. Clark and S.-A. Tarnlund},
	Journal = {Logic programming, volume 16 of APIC studies in data processing},
	Pages = {153--172},
	Publisher = {Academic Press},
	Title = {Amalgamating language and metalanguage in logic programming},
	Year = {1982}}

@inproceedings{Bowm98a,
	Author = {I. T. Bowman and R. C.Holt},
	Booktitle = {Conference of the Centre for Advanced Studies on Collaborative Research (CASCON)},
	Pages = {23--133},
	Title = {Software Architecture Recovery Using Conway's Law},
	Year = {1998}}

@inproceedings{Bowm99a,
	Author = {Ivan T. Bowman and Richard C. Holt and Neil V. Brewster},
	Booktitle = {International Conference on Software Engineering (ICSE'99)},
	Isbn = {1-58113-074-0},
	Pages = {555--563},
	Publisher = {IEEE CS},
	Title = {Linux as a case study: its extracted software architecture},
	Year = {1999}}

@inproceedings{Bown98a,
	Author = {I. Bowman and R. Holt},
	Booktitle = {Proceedings of the Centre for Advanced Studies Conference, CASCON'98},
	Month = {nov},
	Pages = {123--133},
	Title = {Software Architecture Recovery Using Conway's Law},
	Year = {1998}}

@inproceedings{Boya02a,
	Address = {Roma, Italy},
	Author = {C. Boyapati and S. Khurshid and D. Marinov},
	Booktitle = {Proceedings of the International Symposium on Software Testing and Analysis (ISSTA'02)},
	Pages = {123--133},
	Publisher = {ACM},
	Title = {Korat: Automated testing based on {Java} predicates},
	Year = {2002}}

@article{Boya03,
	Address = {New York, NY, USA},
	Author = {Boyapati, Chandrasekhar and Liskov, Barbara and Shrira, Liuba and Moh, Chuang-Hue and Richman, Steven},
	Doi = {10.1145/949343.949341},
	Issn = {0362-1340},
	Journal = {SIGPLAN Not.},
	Number = {11},
	Pages = {403--417},
	Publisher = {ACM},
	Title = {Lazy modular upgrades in persistent object stores},
	Url = {10.1145/949343.949341},
	Volume = {38},
	Year = {2003},
	Bdsk-Url-1 = {http://doi.acm.org/10.1145/949343.949341},
	Bdsk-Url-2 = {http://dx.doi.org/10.1145/949343.949341}}

@inproceedings{Boya03a,
	Address = {New York, NY, USA},
	Author = {Boyapati, Chandrasekhar and Salcianu, Alexandru and Beebee,Jr., William and Rinard, Martin},
	Booktitle = {PLDI '03: Proceedings of the ACM SIGPLAN 2003 conference on Programming language design and implementation},
	Doi = {10.1145/781131.781168},
	Isbn = {1-58113-662-5},
	Location = {San Diego, California, USA},
	Pages = {324--337},
	Publisher = {ACM},
	Title = {Ownership types for safe region-based memory management in real-time Java},
	Year = {2003},
	Bdsk-Url-1 = {http://dx.doi.org/10.1145/781131.781168}}

@inproceedings{Boya03b,
	Author = {Chandrasekhar Boyapati and Barbara Liskov and Liuba Shrira},
	Booktitle = {Principles of Programming Languages (POPL'03)},
	Doi = {10.1145/604131.604156},
	Isbn = {1-58113-628-5},
	Location = {New Orleans, Louisiana, USA},
	Pages = {213--223},
	Publisher = {ACM Press},
	Title = {Ownership types for object encapsulation},
	Year = {2003},
	Bdsk-Url-1 = {http://dx.doi.org/10.1145/604131.604156}}

@misc{Boyd93a,
	Author = {Nik Boyd},
	Howpublished = {The {Smalltalk} Report 2(5)},
	Month = feb,
	Title = {Modules: Encapsulating Behavior in {Smalltalk}},
	Year = {1993}}

@techreport{Boye94a,
	Author = {Niels Boyen and Carine Lucas and Patrick Steyaert},
	Institution = {Vrije Universiteit Brussel},
	Note = {vub-prog-tr-94-12},
	Number = {12},
	Title = {Generalised Mixin-based Inheritance to Support Multiple Inheritance},
	Year = {1994}}

@inproceedings{Boyl01a,
	Author = {John Boyland and James Noble and William Retert},
	Booktitle = {Proceedings ECOOP 2001},
	Month = jun,
	Number = {2072},
	Pages = {2--27},
	Publisher = {Springer},
	Series = {LNCS},
	Title = {Capabilities for Sharing, A Generalisation of Uniqueness and Read-Only},
	Year = {2001}}

@inproceedings{Boyl01b,
	Author = {John Boyland},
	Booktitle = {Software Practive and Experience},
	Title = {Alias burying: unique variables without destructive reads},
	Year = {2001}}

@inproceedings{Boyl96a,
	Address = {Linz, Austria},
	Author = {John Boyland and Giuseppe Castagna},
	Booktitle = {Proceedings ECOOP '96},
	Editor = {P. Cointe},
	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}}

@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},
	Number = {1},
	Pages = {2--20},
	Publisher = {Elsevier},
	Title = {The metafront system: Safe and extensible parsing and transformation},
	Volume = {68},
	Year = {2007}}

@book{Brac02a,
	Author = {Ted Bracht},
	Isbn = {0-201-73793-0},
	Publisher = {Addison Wesley},
	Title = {The Dolphin {Smalltalk} Companion},
	Year = {2002}}

@misc{Brac04a,
	Author = {Gilad Bracha},
	Cvs = {EgRDL2004},
	Month = oct,
	Note = {{OOPSLA} Workshop on Revival of Dynamic Languages},
	Title = {Pluggable Type Systems},
	Url = {http://prog.vub.ac.be/~wdmeuter/RDL04/papers/Bracha.pdf},
	Year = {2004},
	Bdsk-Url-1 = {http://prog.vub.ac.be/~wdmeuter/RDL04/papers/Bracha.pdf}}

@inproceedings{Brac04b,
	Address = {New York, NY, USA},
	Author = {Gilad Bracha and David Ungar},
	Booktitle = {Proceedings of the International Conference on Object-Oriented Programming, Systems, Languages, and Applications (OOPSLA'04), ACM SIGPLAN Notices},
	Pages = {331--344},
	Publisher = {ACM Press},
	Title = {Mirrors: design principles for meta-level facilities of object-oriented programming languages},
	Url = {http://bracha.org/mirrors.pdf},
	Year = {2004},
	Bdsk-Url-1 = {http://bracha.org/mirrors.pdf}}

@article{Brac07a,
	Address = {Amsterdam, The Netherlands, The Netherlands},
	Author = {Gilad Bracha},
	Doi = {10.1016/j.entcs.2007.10.004},
	Issn = {1571-0661},
	Journal = {Electron. Notes Theor. Comput. Sci.},
	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{Brac09a,
	Author = {Gilad Bracha and von der Ah\'e, Peter and Vassili Bykov3 and Yaron Kashai and William Maddox and Eliot Miranda},
	Booktitle = {ECOOP 2009},
	Publisher = {Springer},
	Series = {LNCS},
	Title = {Modules as Objects in Newspeak},
	Year = {2009}}

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

@misc{Brac10a,
  author = {Gilad Bracha},
  title = {Newspeak Programming Language Draft Specification Version 0.06},
  year = {2010}
}

@article{Brac88a,
	Author = {R.J. Brachman},
	Journal = {AT\&T Technical Journal},
	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},
	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.},
	Misc = {Oct. 13},
	Month = oct,
	Title = {Modularity Meets Inheritance},
	Type = {UUCS-91-017},
	Year = {1991}}

@phdthesis{Brac92a,
	Author = {Gilad Bracha},
	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},
	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},
	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}}

@inproceedings{Brad92a,
	Author = {Kathleen Brade and Mark Guzdial and Mark Steckel and Elliot Soloway},
	Booktitle = {Proceedings of IEEE Workshop on Visual Languages},
	Pages = {148--154},
	Publisher = {IEEE Society Press},
	Title = {Whorf: A Visualization Tool for Software Maintenance},
	Year = {1992}}

@inproceedings{Brag10a,
	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},
	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}}

@article{Bran00a,
	Address = {New York, NY, USA},
	Author = {Van den Brand, M. G. T. and de Jong, H. A. and Klint, P. and Olivier, P. A.},
	Issn = {0038-0644},
	Journal = {Softw. Pract. Exper.},
	Number = {3},
	Pages = {259--291},
	Publisher = {John Wiley \& Sons, Inc.},
	Title = {Efficient annotated terms},
	Volume = {30},
	Year = {2000}}

@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},
	Month = apr,
	Pages = {143--158},
	Publisher = {Springer-Verlag},
	Series = {Lecture Notes in Computer Science},
	Title = {Disambiguation Filters for Scannerless Generalized {LR} Parsers},
	Url = {http://www.cs.uu.nl/people/visser/ftp/BSVV02.pdf},
	Volume = {2304},
	Year = {2002},
	Bdsk-Url-1 = {http://www.cs.uu.nl/people/visser/ftp/BSVV02.pdf}}

@inproceedings{Bran07a,
	Author = {M.G.J. van den Brand and M. Bruntink and G.R. Economopoulos and H.A. de Jong and P. Klint and T. Kooiker and T. van der Storm and J.J. Vinju},
	Booktitle = {Proceedings of the 11th European Conference on Software Maintenance and Reengineering ({CSMR'07})},
	Pages = {331--332},
	Publisher = {IEEE Computer Society Press},
	Title = {Using {T}he {M}eta-Environment for {M}aintenance and {R}enovation},
	Year = {2007}}

@article{Bran07b,
	Address = {Newton, MA, USA},
	Author = {van den Brand, Mark G. J. and Klint, Paul},
	Doi = {10.1016/j.infsof.2006.08.009},
	Issn = {0950-5849},
	Journal = {Inf. Softw. Technol.},
	Number = {1},
	Pages = {55--64},
	Publisher = {Butterworth-Heinemann},
	Title = {ATerms for manipulation and exchange of structured data: It's all about sharing},
	Volume = {49},
	Year = {2007},
	Bdsk-Url-1 = {http://dx.doi.org/10.1016/j.infsof.2006.08.009}}

@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},
	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},
	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},
	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},
	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},
	Publisher = {Basic Books},
	Title = {The Clock of the Long Now},
	Year = {1999}}

@phdthesis{Brat93a,
	Author = {Svein Erik Bratsberg},
	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}}

@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},
	Month = {oct},
	Pages = {365--383},
	Publisher = {ACM Press},
	Title = {Concrete Syntax for Objects. {Domain}-Specific Language Embedding and Assimilation without Restrictions},
	Year = {2004}}

@inproceedings{Brav06a,
	Address = {Portland, Oregon, USA},
	Author = {Martin Bravenboer and {\'E}ric Tanter and Eelco Visser},
	Booktitle = {Proceedings of the 21st {ACM SIGPLAN} Conference on Object-Oriented Programming Systems, Languages and Applications (OOPSLA 2006)},
	Key = {OOPSLA 2006},
	Month = {oct},
	Pages = {209--228},
	Publisher = {ACM Press},
	Title = {Declarative, Formal, and Extensible Syntax Definition for {AspectJ} -- A Case for Scannerless Generalized-{LR} Parsing},
	Year = {2006}}

@inproceedings{Brav09a,
	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},
	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{Bray95a,
	Author = {Olin Bray and Michael M. Hess},
	Journal = {IEEE Software},
	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},
	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},
	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},
	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},
	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},
	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},
	Month = jun,
	Pages = {69--82},
	Publisher = {Springer-Verlag},
	Title = {Message-Based Choreography for Computer Animation},
	Year = {1989}}

@techreport{Brei92a,
	Author = {Christian Breiteneder and Laurent Dami and Simon Gibbs and Vicki de Mey and Dennis Tsichritzis},
	Editor = {D. Tsichritzis},
	Institution = {Centre Universitaire d'Informatique, University of Geneva},
	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},
	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},
	Month = jul,
	Pages = {65--67},
	Title = {They Shoot Video Actors, Don't They?},
	Type = {Visual Objects},
	Year = {1993}}

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

@incollection{Breu91a,
	Author = {P.T. Breuer and K.C. Lano},
	Booktitle = {REBOOT '91},
	Publisher = {ESPRIT},
	Title = {Hunting for Objects in the {COBOL} Jungle},
	Year = {1991}}

@book{Breu91b,
	Author = {R. Breu},
	Isbn = {3-540-54972-2},
	Publisher = {Springer-Verlag},
	Series = {LNCS},
	Title = {Algebraic Specification Techniques in Object Oriented Programming Environments},
	Volume = {562},
	Year = {1991}}

@inproceedings{Bria02e,
	Address = {San Francisco, CA, USA},
	Author = {Brian S. Mitchell and Spiros Mancoridis},
	Booktitle = {Proceedings of GECCO'02},
	Isbn = {1-55860-878-8},
	Pages = {1375--1382},
	Publisher = {Morgan Kaufmann Publishers Inc.},
	Title = {Using Heuristic Search Techniques To Extract Design Abstractions From Source Code},
	Year = {2002}}

@inproceedings{Bria03a,
	Address = {Washington, DC, USA},
	Author = {Brian S. Mitchell},
	Booktitle = {ICSM '03: Proceedings of the International Conference on Software Maintenance},
	Isbn = {0-7695-1905-9},
	Pages = {285},
	Publisher = {IEEE Computer Society},
	Title = {A Heuristic Approach to Solving the Software Clustering Problem},
	Year = {2003}}

@article{Bria04a,
	Author = {Erik Arisholm and Lionel C. Briand and Audun Foyen},
	Journal = {IEEE Transactions on Software Engineering},
	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},
	Volume = {30},
	Year = {2004},
	Bdsk-Url-1 = {http://csdl.computer.org/comp/trans/ts/2004/08/e0491abs.htm}}

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

@article{Bria08a,
	Address = {Berlin},
	Author = {Brian S. Mitchell and Spiros Mancoridis},
	Doi = {10.1007/s00500-007-0218-3},
	Issn = {1433-7479},
	Journal = {Soft Computing - A Fusion of Foundations, Methodologies and Applications},
	Number = {1},
	Pages = {77--93},
	Publisher = {Springer Berlin / Heidelberg},
	Title = {On the evaluation of the Bunch search-based software modularization algorithm},
	Volume = {12},
	Year = {2008},
	Bdsk-Url-1 = {http://dx.doi.org/10.1007/s00500-007-0218-3}}

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

@inproceedings{Bria97a,
	Address = {New York, NY, USA},
	Author = {Briand, Lionel and Devanbu, Prem and Melo, Walcelio},
	Booktitle = {ICSE '97: Proceedings of the 19th international conference on Software engineering},
	Doi = {10.1145/253228.253367},
	Isbn = {0-89791-914-9},
	Location = {Boston, Massachusetts, United States},
	Pages = {412--421},
	Publisher = {ACM},
	Title = {An investigation into coupling measures for C++},
	Year = {1997},
	Bdsk-Url-1 = {http://dx.doi.org/10.1145/253228.253367}}

@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},
	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},
	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{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,
	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},
	Publisher = {Eyrolles},
	Title = {Smalltalk: Programmation orient\'ee object et d\'eveloppement d'applications},
	Year = {1996}}

@book{Brig06a,
	Author = {Walter Bright},
	Publisher = {Digital Mars},
	Title = {D Programming Language, Contract Programming},
	Year = {2006}}

@inproceedings{Brig94a,
	Address = {Bologna, Italy},
	Author = {Ted L. Briggs and John Werth},
	Booktitle = {Proceedings ECOOP '94},
	Editor = {M. Tokoro and R. Pareschi},
	Month = jul,
	Pages = {365--385},
	Publisher = {Springer-Verlag},
	Series = {LNCS},
	Title = {A Specification Language for Object-Oriented Analysis and Design},
	Volume = {821},
	Year = {1994}}

@inproceedings{Bril01a,
	Author = {Reinder J. Bril and Andr\'e Postma},
	Booktitle = {Proceedings of International Workshop on Program Comprehension (IWPC'01)},
	Pages = {269--280},
	Publisher = {IEEE CS},
	Title = {An Architectural Connectivity Metric and Its Support for Incremental Re-architecting of Large Legacy Systems},
	Year = {2001}}

@techreport{Brin86a,
	Author = {Ed Brinksma and Giuseppe Scollo},
	Institution = {Twente University of technology},
	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},
	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},
	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},
	Publisher = {North Holland},
	Title = {A Theory for the Derivation of Tests},
	Year = {1989}}

@inproceedings{Brin95a,
	Author = {Sergey Brin and James Davis and H\'ector Garc{\'\i}a-Molina},
	Booktitle = {Proceedings {ACM} {SIGMOD} Annual Conference},
	Country = {CA},
	Location = {San Jose},
	Month = may,
	Title = {Copy Detection Mechanisms for Digital Documents},
	Year = {1995}}

@inproceedings{Brio87a,
	Address = {Paris, France},
	Author = {Jean-Pierre Briot and Akinori Yonezawa},
	Booktitle = {Proceedings ECOOP '87},
	Editor = {J. B\'ezivin and J-M. Hullot and P. Cointe and H. Lieberman},
	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},
	Month = oct,
	Pages = {419--432},
	Title = {Programming with Explicit Metaclasses in {Smalltalk}-80},
	Volume = {24},
	Year = {1989}}

@inproceedings{Brio89b,
	Address = {Nottingham},
	Author = {Jean-Pierre Briot},
	Booktitle = {Proceedings ECOOP '89},
	Editor = {S. Cook},
	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},
	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},
	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},
	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},
	Number = 3,
	Pages = {291--329},
	Title = {{Concurrency and Distribution in Object-Oriented Programming}},
	Volume = 30,
	Year = {1998}}

@inproceedings{Brit95a,
	Author = {F. {Brito e Abreu} and M. Goulao and R. Esteves},
	Booktitle = {Proc. 5th Int'l Conf. Software Quality},
	Month = oct,
	Pages = {44--57},
	Title = {Toward the design quality evaluation of object-oriented software systems},
	Year = {1995}}

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

@book{Brod95a,
	Author = {Michael L. Brodie and Michael Stonebraker},
	Publisher = {Morgan Kaufmann},
	Title = {Migrating Legacy Systems},
	Year = {1995}}

@inproceedings{Brod97a,
	Author = {Andrei Z. Broder},
	Booktitle = {In Compression and Complexity of Sequences (SEQUENCES'97)},
	Pages = {21--29},
	Publisher = {IEEE Computer Society},
	Title = {On the Resemblance and Containment of Documents},
	Year = {1997}}

@manual{Brok94a,
	Month = may,
	Organization = {Ilog},
	Title = {ILOG BROKER: Maintening Consistency in C++ Distributed Object-Oriented Systems},
	Year = {1994}}

@book{Bron04a,
	Author = {I.N. Bronshtein and K. A. Semendyayev and G. Musiol and H. Muehlig},
	Edition = {Fourth},
	Isbn = {3-540-43491-7},
	Publisher = {Springer-Verlag},
	Title = {Handbook of Mathematics},
	Year = {2004}}

@book{Broo75a,
	Address = {Reading, Mass.},
	Author = {Frederick P. Brooks},
	Isbn = {0-201-00650-2},
	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},
	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},
	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},
	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},
	Publisher = {Addison Wesley Longman},
	Title = {The Mythical Man-Month},
	Year = {1995}}

@article{Brot83a,
	Author = {D.K. Brotz},
	Journal = {ACM TOOIS},
	Number = {2},
	Pages = {179--192},
	Title = {Message System Mores: Etiquette in Laurel},
	Volume = {1},
	Year = {1983}}

@book{Brow01a,
	Author = {K. Brown and G. Craig et al.},
	Isbn = {0-201-61617-3},
	Publisher = {Addison Wesley},
	Title = {Enterprise Java Programming with IBM Websphere},
	Year = {2001}}

@article{Brow01b,
	Author = {Browning, T.R.},
	Journal = {IEEE Transactions on Engineering Management},
	Number = {3},
	Pages = {292-306},
	Title = {Applying the design structure matrix to system decomposition and integration problems: a review and new directions},
	Volume = {48},
	Year = {2001}}

@inproceedings{Brow02a,
	Author = {Adam Brown and Richard Cardone and Sean McDirmid and Calvin Lin},
	Booktitle = {Proceedings of the 1st international conference on Aspect-oriented software development},
	Doi = {10.1145/508386.508395},
	Isbn = {1-58113-469-X},
	Location = {Enschede, The Netherlands},
	Pages = {76--85},
	Publisher = {ACM Press},
	Title = {Using mixins to build flexible widgets},
	Year = {2002},
	Bdsk-Url-1 = {http://dx.doi.org/10.1145/508386.508395}}

@inproceedings{Brow91a,
	Author = {Marc H. Brown},
	Booktitle = {Proceedings of the 1991 IEEE Workshop on Visual Languages},
	Month = oct,
	Pages = {4--9},
	Title = {ZEUS: A System for Algorithm Animation and Multi-view Editing},
	Year = {1991}}

@incollection{Brow95a,
	Abstract = {This paper is about how to design correct computer
                  programs. In particular it concerns formal methods
                  for the construction and verification of parallel
                  algorithms. We develop the theoretical foundations
                  of a language and a programming methodology for
                  designing parallel algorithms and illustrate the
                  methodology by presenting a concrete program
                  derivation. The goal of the methodology is to define
                  a mapping of a program specification into a
                  concurrent programming language. The methodology is
                  developed in the context of the {\it Unity}
                  formalism. We put special emphasis on derivation of
                  parallel algorithms thar are correct with respect to
                  some high-level program specification. The issue of
                  efficiency in the sense of execution time and space
                  is outside the scope of the present paper.},
	Author = {Na\"ima Brown},
	Booktitle = {Object-Based Models and Languages for Concurrent Systems},
	Editor = {Paolo Ciancarini and Oscar Nierstrasz and Akinori Yonezawa},
	Pages = {29--48},
	Publisher = {Springer-Verlag},
	Series = {LNCS},
	Title = {Correctness Preserving Transformations for the Design of Parallel Programs},
	Volume = {924},
	Year = {1995}}

@incollection{Brow96a,
	Author = {Alan W. Brown and Kurt C. Wallnau},
	Booktitle = {Component-Based Software Engineering},
	Editor = {Alan W. Brown},
	Pages = {7--15},
	Publisher = {IEEE Press},
	Title = {Enginnering of Component-Based Systems},
	Year = {1997}}

@book{Brow96b,
	Editor = {Alan W. Brown},
	Publisher = {IEEE Press},
	Title = {Component-Based Software Engineering},
	Year = {1997}}

@mastersthesis{Brow96c,
	Author = {Kyle Brown},
	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},
	Pages = {227--238},
	Publisher = {Addison Wesley},
	Title = {Crossing Chasms: A Pattern Language for Object-RDBMS Integration},
	Year = {1996}}

@book{Brow98a,
	Author = {William J. Brown and Raphael C. Malveau and McCormick, III, Hays W. and Thomas J. Mowbray},
	Isbn = {0-471-19713-0},
	Publisher = {John Wiley Press},
	Title = {Anti{Patterns}: Refactoring Software, Architectures, and Projects in Crisis},
	Year = {1998}}

@misc{BrowseUnit,
	Author = {Romain Robbes},
	Key = {BrowseUnit},
	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.},
	Month = feb,
	Title = {An Example for the Design of Distributed Systems in a Formal Setting: The Lift Problem},
	Type = {MIP-8802},
	Year = {1988}}

@book{Bruc02a,
	Author = {Kim B. Bruce},
	Isbn = {0-262-02523-X},
	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},
	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}}

@article{Bruc86a,
	Author = {Kim B. Bruce and Peter Wegner},
	Journal = {ACM SIGPLAN Notices},
	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},
	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},
	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},
	Month = aug,
	Pages = {27--51},
	Publisher = {Springer-Verlag},
	Series = {LNCS},
	Title = {PolyTOIL: {A} Type-Safe Polymorphic Object-Oriented Language},
	Volume = {952},
	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},
	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}}

@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},
	Number = {3},
	Pages = {221--242},
	Publisher = {John, Wiley and Sons, Inc.},
	Title = {On Binary Methods},
	Volume = {1},
	Year = {1995}}

@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},
	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{Brue00a,
	Author = {Bruegge, Bernd and Dutoit, Allen H.},
	Isbn = {ISBN 0-13-017452-1},
	Publisher = {Prentice-Hall},
	Title = {{Object-Oriented Software Engineering: Conquering Complex and Changing Systems}},
	Year = {2000}}

@book{Brue04a,
	Author = {Bruegge, Bernd and Dutoit, Allen H.},
	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},
	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},
	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.},
	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},
	Medium = {2},
	Pages = {660-674},
	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}}

@inproceedings{Brue92a,
	Author = {Bernd Bruegge and Jim Blythe and Jeffrey Jackson and Jeff Shufelt},
	Booktitle = {Proceedings OOPSLA '92, ACM SIGPLAN Notices},
	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},
	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},
	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}}

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

@inproceedings{Brun04a,
	Author = {Magiel Bruntink and Deursen, {Arie van}},
	Booktitle = {Proceedings of the Fourth IEEE International Workshop on Source Code Analysis and Manipulation (SCAM)},
	Month = sep,
	Publisher = {IEEE Computer Society Press},
	Title = {Predicting Class Testability using Object-Oriented Metrics},
	Year = {2004}}

@inproceedings{Brun04b,
	Author = {Eric Bruneton and Thierry Coupaye and Matthieu Leclercq and Jean-Bernard Stefani},
	Booktitle = {Component-Based Software Engineering, 7th International Symposium, CBSE 2004},
	Editor = {Ivica Crankovic and Judith A. Stafford and Heinz W. Schmidt and Kurt C. Wallnau},
	Month = {may},
	Number = {3054},
	Series = {LNCS},
	Title = {An Open Component Model and Its Support in Java},
	Year = {2004}}

@article{Brun05a,
	Author = {Magiel Bruntink and Deursen, Arie van and Engelen, Remco van and Tom Tourw\'{e}},
	Journal = {IEEE Transactions on Software Engineering},
	Number = {10},
	Pages = {804--818},
	Title = {On the Use of Clone Detection for Identifying Cross Cutting Concern Code},
	Volume = {31},
	Year = {2005}}

@inproceedings{Brun06a,
	Author = {Magiel Bruntink},
	Booktitle = {Proceedings of the 6th IEEE International Workshop on Source Code Analysis and Manipulation (SCAM)},
	Month = dec,
	Pages = {107--116},
	Publisher = {IEEE Computer Society Press},
	Title = {Linking Analysis and Transformation Tools with Source-Based Mappings},
	Year = {2006}}

@article{Brun06b,
	Address = {New York, NY, USA},
	Author = {Magiel Bruntink and Arie van Deursen},
	Doi = {10.1016/j.jss.2006.02.036},
	Issn = {0164-1212},
	Journal = {J. Syst. Softw.},
	Number = {9},
	Pages = {1219--1232},
	Publisher = {Elsevier Science Inc.},
	Title = {An empirical study into class testability},
	Volume = {79},
	Year = {2006},
	Bdsk-Url-1 = {http://dx.doi.org/10.1016/j.jss.2006.02.036}}

@article{Brun06c,
	Author = {E. Bruneton and T. Coupaye and M. Leclercq and V. Quema and J.B. Stefani},
	Journal = {Software - Practice and Experience},
	Number = {11-12},
	Title = {The Fractal Component Model and its Support in Java},
	Volume = 36,
	Year = {2006}}

@phdthesis{Brun08a,
	Address = {Los Angeles, {CA}, {USA}},
	Author = {Yuriy Brun},
	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{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},
	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.},
	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},
	Medium = {2},
	Pages = {328--347},
	Publisher = {Springer-Verlag},
	Series = {LNBIP},
	Title = {{PyGirl}: Generating Whole-System {VMs} from High-Level Prototypes using {PyPy}},
	Url = {http://scg.unibe.ch/archive/papers/Brun09cPyGirl.pdf},
	Volume = {33},
	Year = {2009},
	Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Brun09cPyGirl.pdf},
	Bdsk-Url-2 = {http://dx.doi.org/10.1007/978-3-642-02571-6_19}}

@inproceedings{Brun09d,
	Author = {Bruneau, Julien and Jouve, Wilfried and Consel, Charles},
	Booktitle = {Mobiquitous'09: Proceedings of the 6th International Conference on Mobile and Ubiquitous Systems: Computing, Networking and Services},
	Publisher = {ICST/IEEE},
	Title = {{DiaSim}, A Parameterized Simulator for Pervasive Computing Applications},
	Year = {2009}}

@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},
	Title = {Virtual Testing for Smart Buildings},
	Year = {2010}}

@book{Brun56a,
	Address = {New York, NY},
	Author = {Jerome S. Bruner and Jacqueline J. Goodnow and George A. Austin},
	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},
	Month = nov,
	Pages = {284--293},
	Title = {Petri Net-Based Object-Oriented Modelling of Distributed Systems},
	Volume = {21},
	Year = {1986}}

@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},
	Month = dec,
	Publisher = {Springer-Verlag},
	Series = {LNCS},
	Title = {Deductive and Object-Oriented Databases},
	Volume = {1341},
	Year = {1997}}

@inproceedings{Bryc99a,
	Author = {Ciaran Bryce and Manuel Oriol and Jan Vitek},
	Booktitle = {Proceedings of Coordination '99 (Coordination Languages and Models},
	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}}

@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},
	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},
	Month = sep,
	School = {University of Bern},
	Title = {Detecting {Software} {Patterns} using {Formal} {Concept} {Analysis}},
	Type = {Diploma Thesis},
	Url = {http://scg.unibe.ch/archive/masters/Buch03a.pdf},
	Year = {2003},
	Bdsk-Url-1 = {http://scg.unibe.ch/archive/masters/Buch03a.pdf}}

@article{Buch88a,
	Author = {A.H. Reisner and C.A. Bucholtz},
	Journal = {CABIOS},
	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}}

@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},
	Pages = {309--332},
	Title = {Towards a Taxonomy of Software Change},
	Year = {2005}}

@book{Budd00a,
	Author = {Timothy Budd},
	Publisher = {Addison Wesley},
	Title = {Understanding Object-Oriented Programming with {Java} Updated Edition},
	Year = {2000}}

@book{Budd87a,
	Address = {Reading, Mass.},
	Author = {Tim Budd},
	Publisher = {Addison Wesley},
	Title = {A Little {Smalltalk}},
	Year = {1987}}

@techreport{Budd91a,
	Author = {Timothy A. Budd},
	Institution = {Oregon State University},
	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},
	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},
	Publisher = {Addison Wesley},
	Title = {An Introduction to Object-Oriented Programming},
	Year = {1991}}

@book{Budd91d,
	Author = {Timothy A. Budd},
	Isbn = {2-87908-003-7},
	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},
	Title = {Tools and Materials: An Analysis and Design Metaphor},
	Year = {1992}}

@book{Budd94a,
	Author = {Timothy A. Budd},
	Isbn = {2-87908-003-7},
	Publisher = {Addison Wesley},
	Title = {Classical Data Structures in {C}++},
	Year = {1994}}

@book{Budd94b,
	Author = {Timothy A. Budd},
	Publisher = {Oregon State University},
	Title = {Multiparadigm Programming in Leda},
	Year = {1994}}

@book{Budd98a,
	Author = {Timothy Budd},
	Isbn = {0-201-30881-9},
	Publisher = {Addison Wesley},
	Title = {Understanding Object-Oriented Programming with {Java}},
	Year = {1998}}

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

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

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

@book{Buec95a,
	Author = {Matthias C. B\"ucker and Joachim Geidel and Matthias F. Lachmann},
	Publisher = {Springer},
	Title = {Programmieren in {Smalltalk} mit VisualWorks},
	Year = {1995}}

@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},
	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},
	Month = sep,
	School = {University of Bern},
	Title = {Detecting and Visualizing Phases in Software Evolution},
	Type = {Diploma thesis},
	Url = {http://scg.unibe.ch/archive/masters/Bueh04a.pdf},
	Year = {2004},
	Bdsk-Url-1 = {http://scg.unibe.ch/archive/masters/Bueh04a.pdf}}

@book{Bues07a,
	Author = {C. Beust and H. Suleiman},
	Publisher = {Addison-Wesley},
	Title = {Next Generation Java Testing: TestNG and Advanced Concepts},
	Year = {2007}}

@inproceedings{Buff95a,
	Address = {London, UK},
	Author = {Buffenbarger, Jim},
	Booktitle = {Selected papers from the ICSE SCM-4 and SCM-5 Workshops, on Software Configuration Management},
	Isbn = {3-540-60578-9},
	Pages = {153--172},
	Publisher = {Springer-Verlag},
	Title = {Syntactic Software Merging},
	Year = {1995}}

@inproceedings{Buhr88a,
	Address = {Oslo},
	Author = {Peter A. Buhr and C.R. Zarnke},
	Booktitle = {Proceedings ECOOP '88},
	Editor = {S. Gjessing and K. Nygaard},
	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},
	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},
	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},
	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},
	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{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}}

@inproceedings{Bull96a,
	Address = {Linz, Austria},
	Author = {Fr\'ed\'erique Bullat and Michel Schneider},
	Booktitle = {Proceedings ECOOP '96},
	Editor = {P. Cointe},
	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}}

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

@book{Bung77a,
	Author = {M. Bunge},
	Publisher = {Riedel},
	Title = {Treatise on Basic Philosophy: Ontology I: The Furniture of the World},
	Year = {1977}}

@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{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)},
	Month = may,
	Pages = {37--46},
	Title = {Visual Data Mining in software Archives},
	Year = {2005}}

@book{Burc98a,
	Author = {H.W. Fowler and R. W. Burchfield},
	Edition = {Third},
	Isbn = {0-19-860263-4},
	Publisher = {Oxford University Press},
	Title = {Fowler's Modern English Usage},
	Year = {1998}}

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

@inproceedings{Burd97a,
	Author = {Elizabeth Burd and Malcolm Munro},
	Booktitle = {Proceedings of the International Conference on Software Maintenance (ICSM)},
	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}}

@mastersthesis{Burk97a,
	Author = {Benno Burkhardt},
	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},
	Publisher = {Addison Wesley},
	Title = {{UML}-Unified Modeling Language},
	Year = {1997}}

@book{Burl94a,
	Author = {Donald K. Burleson},
	Isbn = {0-471-08623-1},
	Publisher = {Wiley-QED},
	Title = {Managing Distributed Databases},
	Year = {1994}}

@techreport{Burm96a,
	Address = {Darmstadt, Germany},
	Author = {P. Burmeister},
	Institution = {TU-Darmstadt},
	Title = {Formal Concept Analysis with {ConImp}: Introduction to the basic features},
	Url = {http://www.mathematik.tu-darmstadt.de/~burmeister/},
	Year = {1996},
	Bdsk-Url-1 = {http://www.mathematik.tu-darmstadt.de/~burmeister/}}

@book{Burn87a,
	Author = {A. Burns and A.M. Lister and A.J. Wellings},
	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},
	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},
	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},
	Publisher = {Prentice-Hall},
	Title = {Visual Object-Oriented Programming},
	Year = {1995}}

@book{Burn97a,
	Author = {Alan Burns and Andy Wellings},
	Isbn = {0-201-40365-X},
	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},
	Pages = {275--283},
	Publisher = {John Wiley \& Sons Inc.},
	Title = {Visual Programming},
	Url = {ftp://ftp.cs.orst.edu/pub/burnett/whatIsVP.pdf},
	Year = {1999},
	Bdsk-Url-1 = {ftp://ftp.cs.orst.edu/pub/burnett/whatIsVP.pdf}}

@inproceedings{Burs80a,
	Author = {Ron M. Burstall and D.B. MacQueen and D.T. Sannella},
	Booktitle = {Proceedings, 1980 LISP Conference},
	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},
	Note = {Also appeared in Proceedings of the International Symposium on Semantics of Data Types, Springer, LNCS (1984), and as SRC Research Report 1},
	Number = {2/3},
	Title = {A Kernel Language for Abstract Data Types and Modules},
	Url = {http://gatekeeper.dec.com/pub/DEC/SRC/research-reports/abstracts/src-rr-001.html},
	Volume = 76,
	Year = {1984},
	Bdsk-Url-1 = {http://gatekeeper.dec.com/pub/DEC/SRC/research-reports/abstracts/src-rr-001.html}}

@book{Busc96a,
	Author = {Frank Buschmann and Regine Meunier and Hans Rohnert and Peter Sommerlad and Michael Stad},
	Isbn = {0-471-95869-7},
	Publisher = {John Wiley Press},
	Title = {Pattern-Oriented Software Architecture --- {A} System of Patterns},
	Year = {1996}}

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

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

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

@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},
	Number = {3},
	Pages = {477--500},
	Title = {Investigating Reverse Engineering Technologies for the {CAS} Program understanding Project},
	Volume = {33},
	Year = {1994}}

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

@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},
	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},
	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},
	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},
	Month = sep,
	Pages = {1--9},
	Publisher = {Springer-Verlag},
	Series = {LNCS},
	Title = {On the Decline of Classical Programming},
	Volume = {717},
	Year = {1993}}

@inproceedings{Byel06a,
	Address = {New York, NY, USA},
	Author = {Heorhiy Byelas and Alexandru C. Telea},
	Booktitle = {SoftVis '06: Proceedings of the 2006 ACM symposium on Software visualization},
	Doi = {10.1145/1148493.1148509},
	Isbn = {1-59593-464-2},
	Location = {Brighton, United Kingdom},
	Pages = {105--114},
	Publisher = {ACM},
	Title = {Visualization of areas of interest in software architecture diagrams},
	Year = {2006},
	Bdsk-Url-1 = {http://dx.doi.org/10.1145/1148493.1148509}}

@incollection{Byeo93a,
	Abstract = {There have been a number of approaches to views and
                  meta-data versioning for object databases. However,
                  the essential similarities between the notions of
                  views and versions have not been adequately
                  explored. This paper introduces the concept of a
                  virtual database to unify these two notions in the
                  object database context. The semantics of virtual
                  databases is presented, and a mechanism for
                  interactively creating and deleting virtual
                  databases and manipulating their schemas and
                  instances is described. The application of the
                  virtual database concept to supporting both views
                  and versions in a unified manner is studied, and its
                  practical utility is examined.},
	Author = {Kwang June Byeon and Dennis McLeod},
	Booktitle = {Object Technologies for Advanced Software, First JSSST International Symposium},
	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},
	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}},
	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}},
	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},
	Pages = {151--175},
	Publisher = {Springer Verlag},
	Series = {LNCS},
	Title = {Exception Handling: A Field Study in {Java} and {.NET}},
	Volume = {4609},
	Year = {2007},
	Bdsk-Url-1 = {http://dx.doi.org/10.1007/978-3-540-73589-2_8}}

@inproceedings{Cahi93a,
	Author = {Vinny Cahill and Se\'an Baker and Chris Horn and Gradimir Starovic},
	Booktitle = {Proceedings OOPSLA '93, ACM SIGPLAN Notices},
	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},
	Publisher = {Springer-Verlag},
	Title = {The {COMANDOS}: Distributed Application Platform},
	Year = {1993}}

@inproceedings{Cai07a,
	Address = {Washington, DC, USA},
	Author = {Cai, Yuangfang and Huynh, Sunny},
	Booktitle = {WoSQ '07: Proceedings of the 5th International Workshop on Software Quality},
	Doi = {10.1109/WOSQ.2007.2},
	Isbn = {0-7695-2959-3},
	Pages = {3},
	Publisher = {IEEE Computer Society},
	Title = {An Evolution Model for Software Modularity Assessment},
	Year = {2007},
	Bdsk-Url-1 = {http://dx.doi.org/10.1109/WOSQ.2007.2}}

@inproceedings{Cai90a,
	Author = {J. Cai and R. Paige and R. Tarjan},
	Booktitle = {Proceedings of CAAP},
	Pages = {72--86},
	Title = {More efficient bottom-up tree pattern matching},
	Year = {1990}}

@inproceedings{Caia98a,
	Author = {E.G. Caiani and A. Porta and G. Turiel and M. Muzzupappa and S. Pieruzzi and F. Grema and C. Malliani and A. Cerutti and S. Cerutti},
	Booktitle = {IEEE Computers in Cardiology},
	Title = {Warped-average template technique to track on a cycle-by-cycle basis the cardiac filling phases on left ventricular volume.},
	Volume = {25},
	Year = {1998}}

@phdthesis{Cain05a,
	Author = {Andrew Cain},
	School = {Swinburne University of Technology},
	Title = {Dynamic data flow analysis for object oriented programs},
	Year = {2005}}

@inproceedings{Calc03a,
	Author = {Cristiano Calcagno and Walid Taha and Liwen Huang and Xavier Leroy},
	Booktitle = {In Krzysztof Czarnecki, Frank Pfenning, and Yannis Smaragdakis, editors, Generative Programming and Component Engineering (GPCE)},
	Doi = {10.1007/b13639},
	Pages = {57--76},
	Publisher = {Springer-Verlag},
	Series = {LNCS},
	Title = {Implementing Multi-stage languages using {ASTs}, {GenSym}, and {Reflection}},
	Volume = {2830},
	Year = {2003},
	Bdsk-Url-1 = {http://dx.doi.org/10.1007/b13639}}

@article{Cald91a,
	Address = {Los Alamitos, CA, USA},
	Author = {Gianluigi Caldiera and Victor R. Basili},
	Doi = {10.1109/2.67210},
	Issn = {0018-9162},
	Journal = {IEEE Computer},
	Month = feb,
	Number = {2},
	Pages = {61--70},
	Publisher = {IEEE Computer Society Press},
	Title = {Identifying and Qualifying Reusable Software Components},
	Volume = {24},
	Year = {1991},
	Bdsk-Url-1 = {http://dx.doi.org/10.1109/2.67210}}

@inproceedings{Cald92a,
	Author = {Paul Calder and Mark Linton},
	Booktitle = {Proceedings OOPSLA '92, ACM SIGPLAN Notices},
	Month = oct,
	Pages = {154--165},
	Title = {The Object-Oriented Implementation of a Document Editor},
	Volume = {27},
	Year = {1992}}

@book{Call05a,
	Author = {Werner Callebaut and Diego Rasskin-Gutman},
	Publisher = {MIT press},
	Title = {Modularity: Understanding the Development and Evolution of Natural Complex Systems},
	Year = {2005}}

@inproceedings{Call87a,
	Author = {Lisa A. Call and David L. Cohrs and Barton P. Miller},
	Booktitle = {Proceedings OOPSLA '87, ACM SIGPLAN Notices},
	Month = dec,
	Pages = {277--286},
	Title = {{CLAM} --- an Open System for Graphical User Interfaces},
	Volume = {22},
	Year = {1987}}

@article{Call91a,
	Address = {New York, NY, USA},
	Author = {Frank W. Calliss},
	Doi = {10.1145/122203.122206},
	Issn = {0362-1340},
	Journal = {SIGPLAN Not.},
	Number = {1},
	Pages = {38--46},
	Publisher = {ACM Press},
	Title = {A comparison of module constructs in programming languages},
	Volume = {26},
	Year = {1991},
	Bdsk-Url-1 = {http://dx.doi.org/10.1145/122203.122206}}

@book{Cama01a,
	Address = {Princeton},
	Author = {Scott Camazine and Jean-Louis Deneubourg and Nigel R. Franks and James Sneyd and Guy Theraulaz and Eric Bonabeau},
	Publisher = {Princeton University Press},
	Title = {Self-Organization in Biological Systems},
	Year = {2001}}

@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, Manchester, England},
	Author = {Carlos Camarao de Figueiredo},
	Institution = {Departament of Comp. Science, University of Manchester},
	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}}

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

@article{Came86a,
	Author = {John R. Cameron},
	Journal = {IEEE Transactions on Software Engineering},
	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},
	Publisher = {O'Reilly},
	Title = {Learning {GNU} Emacs},
	Year = {1996}}

@incollection{Camp74a,
	Author = {Roy H. Campbell and A. Nico Habermann},
	Booktitle = {Operating Systems, International Symposium},
	Editor = {E. Gelenbe and C. Kaiser},
	Pages = {89--102},
	Publisher = {Springer-Verlag},
	Series = {LNCS},
	Title = {The Specification of Process Synchronization by Path Expressions},
	Volume = {16},
	Year = {1974}}

@book{Camp96a,
	Author = {Mary Campione and Hathy Walrath},
	Isbn = {0-201-63454-6},
	Publisher = {Addison Wesley},
	Title = {The {Java} Tutorial: {O}.{O} Programming for the Internet},
	Year = {1996}}

@inproceedings{Cand04a,
	Address = {Berkeley, CA, USA},
	Author = {Cantrill, Bryan M. and Shapiro, Michael W. and Leventhal, Adam H.},
	Booktitle = {Proceedings of USENIX 2004 Annual Technical Conference},
	Location = {Boston, MA},
	Pages = {15--28},
	Publisher = {USENIX Association},
	Title = {Dynamic instrumentation of production systems},
	Url = {http://www.usenix.org/event/usenix04/tech/general/cantrill.html},
	Year = {2004},
	Bdsk-Url-1 = {http://www.usenix.org/event/usenix04/tech/general/cantrill.html}}

@article{Cand06a,
	Abstract = {In December 1997, Sun Microsystems had just
                  announced its new flagship machine: a 64-processor
                  symmetric multiprocessor supporting up to 64
                  gigabytes of memory and thousands of I/O devices. As
                  with any new machine launch, Sun was working
                  feverishly on benchmarks to prove the
                  machine\’s performance. While the benchmarks
                  were generally impressive, there was one in
                  particular\—an especially complicated
                  benchmark involving several machines\—that was
                  exhibiting unexpectedly low performance. The
                  benchmark machine\—a fully racked-out behemoth
                  with the maximum configuration of 64
                  processors\—would occasionally become
                  mysteriously distracted: Benchmark activity would
                  practically cease, but the operating system kernel
                  remained furiously busy. After some number of
                  minutes spent on unknown work, the operating system
                  would suddenly right itself: Benchmark activity
                  would resume at full throttle and run to completion.
                  Those running the benchmark could see that the
                  machine was on course to break the world record, but
                  these minutes-long periods of unknown kernel
                  activity were enough to be the difference between
                  first and worst.},
	Address = {New York, NY, USA},
	Author = {Cantrill, Bryan},
	Doi = {10.1145/1117389.1117401},
	Issn = {1542-7730},
	Journal = {Queue},
	Number = {1},
	Pages = {26--36},
	Publisher = {ACM},
	Title = {Hidden in Plain Sight},
	Url = {http://dx.doi.org/10.1145/1117389.1117401},
	Volume = {4},
	Year = {2006},
	Bdsk-Url-1 = {http://dx.doi.org/10.1145/1117389.1117401}}

@inproceedings{Canf05a,
	Author = {Canfora, Gerardo and Cerulo, Luigi},
	Booktitle = {Proceedings of the Workshop on Empirical Studies in Reverse Engineering},
	Citeulike-Article-Id = {1727459},
	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{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},
	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.},
	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}}

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

@techreport{Cann82a,
	Author = {H. I. Cannon},
	Institution = {Symbolics Inc.},
	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},
	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},
	Month = oct,
	Pages = {457--468},
	Title = {Interfaces for Strongly-Typed Object-Oriented Programming},
	Volume = {24},
	Year = {1989}}

@inproceedings{Capi03a,
	Address = {Los Alamitos CA},
	Author = {Andrea Capiluppi},
	Booktitle = {Proceedings International Conference on Software Maintenance (ICSM 2003)},
	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)},
	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},
	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{Card00a,
	Author = {Luca Cardelli},
	Booktitle = {Foundations of Secure Computation},
	Editor = {Friedrich L. Bauer and Ralf Steinbr\"uggen},
	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},
	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},
	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},
	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},
	Note = {To appear},
	Title = {A Spatial Logic for Concurrency (Part I)},
	Url = {http://lucacardelli.name},
	Year = {2001},
	Bdsk-Url-1 = {http://lucacardelli.name}}

@book{Card83a,
	Address = {Mahwah, NJ, USA},
	Author = {Stuart K. Card and Allen Newell and Thomas P. Moran},
	Isbn = {0898592437},
	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},
	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},
	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},
	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},
	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},
	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},
	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},
	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},
	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},
	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},
	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},
	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},
	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},
	Publisher = {Morgan Kaufmann},
	Title = {Readings in Information Visualization --- Using Vision to Think},
	Year = {1999}}

@inproceedings{Carg86a,
	Author = {T.A. Cargill},
	Booktitle = {Proceedings OOPSLA '86, ACM SIGPLAN Notices},
	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},
	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},
	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},
	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{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{Caro90a,
	Address = {Sydney, Australia},
	Author = {Denis Caromel},
	Booktitle = {TOOLS Pacific '90},
	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},
	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},
	Month = sep,
	Number = {3},
	Pages = {34--42},
	Title = {Concurrency and Reusability: From Sequential to Parallel},
	Volume = {3},
	Year = {1990}}

@phdthesis{Caro91a,
	Author = {Denis Caromel},
	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},
	Month = aug,
	Title = {Object-Based Concurrency: 10 Language Features to Achieve Reuse},
	Year = {1993}}

@article{Carr86a,
	Author = {N. Carriero and D. Gelernter},
	Journal = {ACM Transactions on Computer Systems},
	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},
	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},
	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},
	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},
	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},
	Pages = {66--76},
	Publisher = {Springer-Verlag},
	Series = {LNCS},
	Title = {Bauhaus Linda},
	Volume = {924},
	Year = {1995}}

@article{Carr96a,
	Author = {M. Carrillo and J. Garcia Molina and E. Pimentel and I. Repiso},
	Institution = {ACM},
	Journal = {Journal of Object-Oriented Programming},
	Number = {7},
	Title = {Design by Contract in Smalltalk},
	Volume = {9},
	Year = {1996}}

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

@inproceedings{Cart91a,
	Address = {New York, NY, USA},
	Author = {Robert Cartwright and Mike Fagan},
	Booktitle = {PLDI '91: Proceedings of the ACM SIGPLAN 1991 conference on Programming language design and implementation},
	Doi = {10.1145/113445.113469},
	Isbn = {0-89791-428-7},
	Location = {Toronto, Ontario, Canada},
	Pages = {278--292},
	Publisher = {ACM},
	Title = {Soft typing},
	Year = {1991},
	Bdsk-Url-1 = {http://dx.doi.org/10.1145/113445.113469}}

@inproceedings{Carz94a,
	Author = {A. Carzaniga and G. P. Picco and G. Vigna},
	Booktitle = {Proceedings, Object-Oriented Methodologies and Systems},
	Editor = {E. Bertino and S. Urban},
	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},
	Month = nov,
	Pages = {17--20},
	Title = {Issues in Supporting Event-Based Architectural Styles},
	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{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)},
	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},
	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},
	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},
	Month = jun,
	Pages = {287--301},
	Title = {Managing Class Evolution Through Reorganisation},
	Type = {Object Composition},
	Year = {1991}}

@phdthesis{Casa91b,
	Author = {Eduardo Casais},
	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},
	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},
	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},
	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)},
	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}}

@unpublished{Case92a,
	Author = {Yves Caseau and Laurent Perron},
	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},
	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},
	Month = oct,
	Pages = {271--287},
	Title = {Efficient Handling of Multiple Inheritance Hierarchies},
	Volume = {28},
	Year = {1993}}

@article{Casn91a,
	Author = {Stephen M. Casner},
	Journal = {ACM Transactions of Graphics},
	Month = apr,
	Number = {2},
	Pages = {111--151},
	Title = {A Task-Analytic Approach to the Automated Design of Graphic Presentations},
	Volume = {10},
	Year = {1991}}

@misc{Cass06a,
	Author = {Damien Cassou and Karsten Kuche},
	Howpublished = {European Smalltalk User Group Innovation Technology Award},
	Month = sep,
	Title = {Dakar Testing},
	Year = {2006}}

@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.},
	Author = {Damien Cassou},
	School = {Universit\'e Bordeaux I},
	Title = {Remodularisation \`a base de traits},
	Url = {http://scg.unibe.ch/archive/external/Cass07b.pdf},
	Year = {2007},
	Bdsk-Url-1 = {http://scg.unibe.ch/archive/external/Cass07b.pdf}}

@inproceedings{Cass09b,
	Acceptnum = {18},
	Accepttotal = {62},
	Address = {Denver, CO, USA},
	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},
	Doi = {10.1145/1621607.1621629},
	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}}

@inproceedings{Cass10a,
	Author = {Cassou, Damien and Bruneau, Julien and Consel, Charles},
	Booktitle = {PerCom'10: Proceedings of the 8th International Conference on Pervasive Computing and Communications},
	Pages = {1--3},
	Publisher = {IEEE Computer Society},
	Title = {A Tool Suite to Prototype Pervasive Computing Applications (demo)},
	Year = {2010}}

@inproceedings{Cass10b,
	Author = {Cassou, Damien and Bruneau, Julien and Mercadal, Julien and Enard, Quentin and Balland, Emilie and Loriant, Nicolas and Consel, Charles},
	Booktitle = {SPLASH'10: Proceedings of the 1st International Conference on Systems, Programming, Languages, and Applications: Software for Humanity},
	Note = {poster},
	Pages = {1--2},
	Publisher = {ACM},
	Title = {Towards a Tool-based Development Methodology for Sense/Compute/Control Applications},
	Year = {2010}}

@article{Cast87a,
	Author = {Ilaria Castellani},
	Journal = {Journal of Computer and System Sciences},
	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},
	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},
	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},
	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},
	Publisher = {Birkhaeuser},
	Title = {Object-Oriented Programming A Unified Foundation},
	Year = {1997}}

@article{Casta95a,
	Author = {Guiseppe Castagna},
	Journal = {ACM Transactions on Programming Languages and Systems},
	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},
	Number = {1},
	Pages = {115--135},
	Title = {A Calculus for Overloaded Functions with Subtyping},
	Url = {ftp://ftp.ens.fr/pub/dmi/users/castagna/infocompu.ps.Z},
	Volume = {117},
	Year = {1995},
	Bdsk-Url-1 = {ftp://ftp.ens.fr/pub/dmi/users/castagna/infocompu.ps.Z}}

@book{Catt94a,
	Editor = {Rick Cattell},
	Isbn = {1-55860-302-6},
	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},
	Month = nov,
	Pages = {119--130},
	Title = {A Third Generation {Smalltalk}-80 Implementation},
	Volume = {21},
	Year = {1986}}

@article{Cazz04a,
	Author = {Walter Cazzola},
	Institution = {ETH Z\"urich},
	Journal = {Journal of Object Technology},
	Month = aug,
	Number = {11},
	Title = {SmartReflection: Efficient Introspection in Java},
	Volume = {3},
	Year = {2004}}

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

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

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

@book{Ceri93a,
	Address = {Phoenix, Arizona, USA},
	Editor = {Stefano Ceri and Katsumi Tanaka},
	Isbn = {3-540-57530-8},
	Month = dec,
	Publisher = {Springer-Verlag},
	Series = {LNCS},
	Title = {Proceedings {DOOD}'93},
	Volume = {760},
	Year = {1993}}

@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},
	Publisher = {InterEditions},
	Title = {Ing\'enierie Object: Concepts et techniques},
	Year = {1997}}

@manual{Chac08a,
	Author = {Chacon, Scott},
	Organization = {PeepCode},
	Title = {Git Internal},
	Year = {2008}}

@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},
	Month = aug,
	Posted-At = {2010-02-23 09:37:38},
	Priority = {2},
	Publisher = {Apress},
	Title = {Pro Git},
	Url = {http://www.amazon.com/exec/obidos/redirect?tag=citeulike07-20&path=ASIN/1430218339},
	Year = {2009},
	Bdsk-Url-1 = {http://www.amazon.com/exec/obidos/redirect?tag=citeulike07-20&path=ASIN/1430218339}}

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

@inproceedings{Cham89a,
	Author = {Craig Chambers and David Ungar and Elgin Lee},
	Booktitle = {Proceedings OOPSLA '89, ACM SIGPLAN Notices},
	Month = oct,
	Pages = {49--70},
	Title = {An Efficient Implementation of {SELF} --- a Dynamically-Typed Object-Oriented Language Based on Prototypes},
	Volume = {24},
	Year = {1989}}

@inproceedings{Cham91a,
	Address = {Geneva, Switzerland},
	Author = {Dennis de Champeaux},
	Booktitle = {Proceedings ECOOP '91},
	Editor = {P. America},
	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},
	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},
	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},
	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},
	Month = jun,
	Pages = {33--56},
	Publisher = {Springer-Verlag},
	Series = {LNCS},
	Title = {Object-Oriented Multi-Methods in {Cecil}},
	Volume = {615},
	Year = {1992}}

@inproceedings{Cham93a,
	Abstract = {Predicate classes are a new linguistic construct
                  designed to complement normal classes in
                  object-oriented languages. Like a normal class, a
                  predicate class has a set of superclasses, methods,
                  and instance variables. However, unlike a normal
                  class, an object is automatically an instance of a
                  predicate class whenever it satisfies a predicate
                  expression associated with the predicate class. The
                  predicate expression can test the value or state of
                  the object, thus supporting a form of implicit
                  property-based classification that augments the
                  explicit type-based classification provided by
                  normal classes. By associating methods with
                  predicate classes, method lookup can depend not only
                  on the dynamic class of an argument but also on its
                  dynamic value or state. If an object is modified,
                  the property-based classification of an object can
                  change over time, implementing shifts in major
                  behavior modes of the object. A version of predicate
                  classes has been designed and implemented in the
                  context of the Cecil language.},
	Address = {Kaiserslautern, Germany},
	Author = {Craig Chambers},
	Booktitle = {Proceedings ECOOP '93},
	Editor = {Oscar Nierstrasz},
	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},
	Publisher = {Addison Wesley},
	Title = {Object-Oriented System Development},
	Year = {1993}}

@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{Chan87a,
	Author = {Shi-Kuo Chang},
	Doi = {10.1109/MS.1987.229792},
	Journal = {IEEE Software},
	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},
	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 Transaction on Software Engineering},
	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},
	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},
	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},
	Publisher = {Addison Wesley},
	Title = {The {Java} Class Libraries},
	Year = {1998}}

@article{Chap01a,
	Author = {Ned Chapin and Joanne E. Hale and Khaled Md. Khan and Juan F. Ramil and Wui-Gee Than},
	Journal = {Journal of software maintenance and evolution},
	Pages = {3--30},
	Title = {Types of software evolution and software maintenance},
	Volume = 13,
	Year = {2001}}

@article{Char06a,
	Address = {Los Alamitos, CA, USA},
	Author = {Kaushal Chari and Alan Hevner},
	Journal = {IEEE Transactions on Software Enginering},
	Number = {07},
	Pages = {503--5099},
	Publisher = {IEEE Computer Society},
	Title = {System Test Planning of Software: An Optimization Approach},
	Volume = {32},
	Year = {2006}}

@inproceedings{Char06b,
	Author = {Anis Charfi and Michel Riveill and Mireille Blay-Fornarino and Anne-Marie Pinna-Dery},
	Booktitle = {In Proceedings of the 4th Software Engineering Properties of Languages and Aspect Technologies (SPLAT) Workshop},
	Month = mar,
	Title = {Transparent and Dynamic Aspect Composition},
	Url = {http://aosd.net/workshops/splat/2006/papers/charfi.pdf},
	Year = {2006},
	Bdsk-Url-1 = {http://aosd.net/workshops/splat/2006/papers/charfi.pdf}}

@inproceedings{Char09a,
	Author = {Philippe Charles and Robert M. Fuhrer and Stanley M. Sutton Jr. and Evelyn Duesterwald and Jurgen J. Vinju},
	Booktitle = {OOPSLA},
	Doi = {10.1145/1640089.1640104},
	Editor = {Shail Arora and Gary T. Leavens},
	Pages = {191-206},
	Publisher = {ACM},
	Title = {Accelerating the creation of customized, language-Specific {IDEs} in {Eclipse}},
	Year = {2009},
	Bdsk-Url-1 = {http://dx.doi.org/10.1145/1640089.1640104}}

@inproceedings{Chas92a,
	Author = {Jeffrey S. Chase and Henry M. Levy and Edward D. Lazowska and Miche Baker-Harvey},
	Booktitle = {Proceedings OOPSLA '92, ACM SIGPLAN Notices},
	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{Chau01a,
	Address = {Vienna, Austria},
	Author = {Michel Chaudron},
	Booktitle = {Workshop on Composition Languages, WCL '01},
	Month = sep,
	Pages = {15--24},
	Title = {Reflections on the Anatomy of Software Composition Languages and Mechanisms},
	Url = {http://www.cs.iastate.edu/~lumpe/WCL2001/},
	Year = {2001},
	Bdsk-Url-1 = {http://www.cs.iastate.edu/~lumpe/WCL2001/}}

@article{Chau02a,
	Author = {M. Ajmal Chaumun and Hind Kabaili and Rudolf K. Keller and Francois Lustman},
	Doi = {DOI: 10.1016/S0167-6423(02)00058-8},
	Issn = {0167-6423},
	Journal = {Science of Computer Programming},
	Number = {2-3},
	Pages = {155 - 174},
	Title = {A change impact model for changeability assessment in object-oriented software systems},
	Url = {http://www.sciencedirect.com/science/article/B6V17-45JYFFD-3/2/53450199f9d97f551f74d07e46aa00ea},
	Volume = {45},
	Year = {2002},
	Bdsk-Url-1 = {http://www.sciencedirect.com/science/article/B6V17-45JYFFD-3/2/53450199f9d97f551f74d07e46aa00ea},
	Bdsk-Url-2 = {http://dx.doi.org/10.1016/S0167-6423(02)00058-8}}

@book{Chau98a,
	Author = {Akmal B. Chaudhri and Mary Loomis},
	Publisher = {Prentice-Hall},
	Title = {Object Databases in Practice},
	Year = {1998}}

@inproceedings{Chen00a,
	Author = {Chen, Kunrong and Rajlich, V{\'a}clav},
	Booktitle = {Proceedings IEEE International Conference on Software Maintenance (ICSM)},
	Location = {Los Alamitos CA},
	Pages = {241--249},
	Publisher = {IEEE Computer Society Press},
	Title = {Case Study of Feature Location Using Dependence Graph},
	Year = {2000}}

@article{Chen02a,
	Author = {Chen, Chun-Houh},
	Journal = {Statistica Sinica},
	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},
	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},
	Publisher = {Springer},
	Title = {Guide to Graphics Software Tools},
	Year = {2003}}

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

@article{Chen76a,
	Author = {P.P.S. Chen},
	Journal = {ACM TODS},
	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},
	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},
	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},
	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},
	Location = {Sorrento, Italy},
	Pages = {211--220},
	Publisher = {IEEE Computer Society Press},
	Title = {TestTube: a system for selective regression testing},
	Year = {1994}}

@inproceedings{Chen95a,
	Address = {Washington, DC, USA},
	Author = {T. Y. Chen and C. K. Low},
	Booktitle = {Proceedings of the Second Asia Pacific Software Engineering Conference (APSEC'95)},
	Isbn = {0-8186-7171-8},
	Pages = {22},
	Publisher = {IEEE Computer Society},
	Title = {Dynamic Data Flow Analysis for {C++}},
	Year = {1995}}

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

@article{Chen98a,
	Author = {Chen, Yih-Farn and Gansner, Emden R. and Koutsofios, Eleftherios},
	Journal = {IEEE Transactions on Software Engineering},
	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{Cheo02a,
	Address = {Malaga, Spain},
	Author = {Y. Cheon and G. T. Leavens},
	Booktitle = {Proceedings ECOOP 2002},
	Editor = {Boris Magnusson},
	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}}

@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},
	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},
	Location = {San Jose, California, USA},
	Pages = {557--566},
	Posted-At = {2010-01-08 08:27:08},
	Priority = {2},
	Publisher = {ACM},
	Title = {Let's go to the whiteboard: how and why software developers use drawings},
	Url = {http://dx.doi.org/10.1145/1240624.1240714},
	Year = {2007},
	Bdsk-Url-1 = {http://dx.doi.org/10.1145/1240624.1240714}}

@article{Chev78a,
	Address = {New York, NY, USA},
	Author = {R. J. Chevance and T. Heidet},
	Doi = {10.1145/953411.953414},
	Issn = {0362-1340},
	Journal = {SIGPLAN Not.},
	Number = {4},
	Pages = {44--57},
	Publisher = {ACM},
	Title = {Static profile and dynamic behavior of COBOL programs},
	Volume = {13},
	Year = {1978},
	Bdsk-Url-1 = {http://dx.doi.org/10.1145/953411.953414}}

@article{Chi89a,
	Author = {Michelene T. H. Chi and Miriam Bassok and Matthew W. Lewis and Peter Reimann and Robert Glaser},
	Journal = {Cognitive Science},
	Month = apr,
	Number = {2},
	Pages = {145--182},
	Title = {Self-Explanations: How students study and use examples in learning to solve problems.},
	Volume = {13},
	Year = {1989}}

@inproceedings{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{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},
	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},
	Month = oct,
	Pages = {285--299},
	Series = {ACM SIGPLAN Notices},
	Title = {A Metaobject Protocol for {C}++},
	Volume = {30},
	Year = {1995}}

@inproceedings{Chib96a,
	Author = {Shigeru Chiba and Gregor Kiczales and John Lamping},
	Booktitle = {Proceedings of {ISOTAS} '96},
	Editor = {Kokichi Futatsugi and Satoshi Matsuoka},
	Isbn = {3-540-60954-7},
	Pages = {157--172},
	Publisher = {Springer},
	Series = {Lecture Notes in Computer Science},
	Title = {Avoiding Confusion in Metacircularity: The Meta-Helix},
	Url = {http://www2.parc.com/csl/groups/sda/publications/papers/Chiba-ISOTAS96/for-web.pdf},
	Volume = {1049},
	Year = {1996},
	Bdsk-Url-1 = {http://www2.parc.com/csl/groups/sda/publications/papers/Chiba-ISOTAS96/for-web.pdf}}

@inproceedings{Chid91a,
	Author = {Shyam R. Chidamber and Chris F. Kemerer},
	Booktitle = {Proceedings OOPSLA '91, ACM SIGPLAN Notices},
	Month = nov,
	Pages = {197--211},
	Title = {Towards a Metrics Suite for Object Oriented Design},
	Volume = {26},
	Year = {1991}}

@article{Chid94a,
	Author = {Shyam R. Chidamber and Chris F. Kemerer},
	Journal = {IEEE Transactions on Software Engineering},
	Month = jun,
	Number = {6},
	Pages = {476--493},
	Title = {A Metrics Suite for Object Oriented Design},
	Volume = {20},
	Year = {1994}}

@article{Chik90a,
	Author = {Elliot Chikofsky and Cross II, James},
	Doi = {10.1109/52.43044},
	Journal = {IEEE Software},
	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},
	Pages = {54--58},
	Publisher = {IEEE Computer Society Press},
	Title = {Reverse Engineering and Design Recovery: A Taxonomy},
	Year = {1992}}

@book{Chil00a,
	Author = {Childs, Matt and Lomax, Paul and Petrusha, Ron},
	Isbn = {ISBN 1-56592-720-6},
	Month = may,
	Publisher = {O'Reilly},
	Title = {{VBScript in a Nutshell}},
	Url = {http://www.oreilly.com/catalog/vbscriptian/index.html},
	Year = {2000},
	Bdsk-Url-1 = {http://www.oreilly.com/catalog/vbscriptian/index.html}}

@article{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},
	Number = {5},
	Pages = {193--200},
	Title = {Applicability of modified condition/decision coverage to software testing},
	Volume = {9},
	Year = {1994}}

@article{Chin91a,
	Author = {R.S. Chin and S.T. Chanson},
	Journal = {ACM Computing Surveys},
	Month = mar,
	Number = {1},
	Pages = {91--124},
	Title = {Distributed Object-Based Programming Systems},
	Volume = {23},
	Year = {1991}}

@book{Chis07a,
	Author = {David Chisnall},
	Isbn = {978-0132349710},
	Publisher = {Prentice Hall},
	Series = {Open Source Software Development Series},
	Title = {The Definitive Guide to the Xen Hypervisor},
	Year = {2007}}

@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},
	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},
	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},
	Month = jan,
	Pages = {66--71},
	Title = {Extracting and {Restructuring} the {Design} of {Large} {Systems}},
	Year = {1990}}

@book{Chom57a,
	Address = {The Hague},
	Author = {Noam Chomsky},
	Publisher = {Mouton and Co},
	Title = {Syntactic Structures},
	Year = {1957}}

@inproceedings{Chou88a,
	Author = {H. Chou and W. Kim},
	Booktitle = {25th ACM/IEEE Design Automation Conference},
	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},
	Note = {University of Iowa},
	Title = {{CADDET}: {A} Configurable Automated Database Design Engineering Tool},
	Type = {Draft},
	Year = {1995}}

@article{Chri03a,
	Author = {Aske Simon Christensen and Anders Moller and Michael I. Schwartzbach},
	Journal = {ACM Transaction 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}}

@book{Chri98a,
	Author = {Tom Christiansen and Nathan Torkington},
	Publisher = {O'Reilly},
	Title = {Perl Cookbook},
	Year = {1998}}

@inproceedings{Chu03a,
	Address = {New York, NY, USA},
	Author = {Mark C. Chu-Carroll and James Wright and Annie T. T. Ying},
	Booktitle = {AOSD '03: Proceedings of the 2nd international conference on Aspect-oriented software development},
	Doi = {10.1145/643603.643623},
	Isbn = {1-58113-660-9},
	Pages = {188--197},
	Publisher = {ACM Press},
	Title = {Visual separation of concerns through multidimensional program storage},
	Year = {2003},
	Bdsk-Url-1 = {http://dx.doi.org/10.1145/643603.643623}}

@article{Chua98a,
	Author = {Mei C. Chuah and Stephen G. Eick},
	Journal = {IEEE Computer Graphics and Applications},
	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{Chug09a,
	Author = {Ravi Chugh and Jeffrey A. Meister and Ranjit Jhala and Sorin Lerner},
	Booktitle = {Proceedings of PLDI '09},
	Doi = {10.1145/1542476.1542483},
	Isbn = {978-1-60558-392-1},
	Pages = {50--62},
	Publisher = {ACM},
	Title = {Staged information flow for javascript},
	Year = {2009},
	Bdsk-Url-1 = {http://dx.doi.org/10.1145/1542476.1542483}}

@article{Chun06a,
	Address = {New York, NY, USA},
	Author = {Chung-Horng Lung and Xia Xu and Marzia Zaman and Anand Srinivasan},
	Doi = {10.1016/j.jss.2006.02.037},
	Issn = {0164-1212},
	Journal = {J. Syst. Softw.},
	Number = {9},
	Pages = {1261--1279},
	Publisher = {Elsevier Science Inc.},
	Title = {Program restructuring using clustering techniques},
	Volume = {79},
	Year = {2006},
	Bdsk-Url-1 = {http://dx.doi.org/10.1016/j.jss.2006.02.037}}

@inproceedings{Chur03a,
	Address = {Darlinghurst, Australia, Australia},
	Author = {Churcher, Neville and Irwin, Warwick and Kriz, Ron},
	Booktitle = {APVis '03: Proceedings of the Asia-Pacific symposium on Information visualisation},
	Location = {Adelaide, Australia},
	Pages = {89--97},
	Publisher = {Australian Computer Society, Inc.},
	Title = {Visualising class cohesion with virtual worlds},
	Year = {2003}}

@inproceedings{Chur93a,
	Author = {Kenneth Ward Church},
	Booktitle = {Proceedings 31st Annual Meeting of the Association for Computational Linguistics},
	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},
	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,
	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},
	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},
	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.},
	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},
	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},
	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},
	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},
	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},
	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},
	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},
	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)},
	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}}

@inproceedings{Cimp07a,
	Author = {Cristina Videira Lopes and Sushil Krishna Bajracharya},
	Booktitle = {International Conference on Enterprise Information Systems (ICEIS)},
	Title = {Dynamic architecture based evolution of enterprise information systems},
	Year = {2007}}

@inproceedings{Cimp07b,
	Author = {Sorana C\^impan and Herve Verjus and Ilham Alloui},
	Booktitle = {9th Int. Conf. on Enterprise Information Systems},
	Pages = {221-229},
	Title = {Dynamic Architecture based Evolution of Enterprise Information Systems},
	Year = {2007}}

@inproceedings{Cimp08a,
	Author = {Sorana C\^impan and Vincent Couturier},
	Booktitle = {WICSA},
	Title = {Can Styles Improve Architectural Pattern Reuse?},
	Year = {2008}}

@article{Cimp09a,
	Author = {Sorana C{\^\i}mpan and Herv{\'e} Verjus and Ilham Alloui},
	Journal = {Technique et Science Informatiques (TSI)},
	Title = {Gestion de l'\'evolution dans le cadre d'une approche d'ing\'enierie logicielle centr\'ee architecture},
	Year = {2009}}

@misc{Cincom2002,
	Key = {Cincom2002},
	Note = {Cincom},
	Title = {VisualWorks Application Developer's Guide},
	Year = {2002}}

@book{Cioba06a,
	Booktitle = {Applications of Membrane Computing},
	Editor = {Gabriel Ciobanu and Mario J. P{\'e}rez-Jim{\'e}nez and Gheorghe Paun},
	Isbn = {978-3-540-25017-3},
	Publisher = {Springer},
	Series = {Natural Computing Series},
	Title = {Applications of Membrane Computing},
	Year = {2006}}

@article{Citr98a,
	Author = {Wayne Citrin and Soraya Ghiasi and Benjamin G. Zorn},
	Doi = {10.1006/jvlc.1998.0080},
	Journal = {Journal of Visual Languages and Computing},
	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{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}}

@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},
	Editor = {Oliver Ciupke and St\'ephane Ducasse},
	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{Cive93a,
	Author = {Franco Civello},
	Booktitle = {Proceedings OOPSLA '93, ACM SIGPLAN Notices},
	Month = oct,
	Pages = {376--393},
	Title = {Roles for composite objects in object-oriented analysis and design},
	Volume = {28},
	Year = {1993}}

@techreport{Clam91a,
	Address = {Pittsburgh, PA},
	Author = {Stewart M. Clamen},
	Institution = {Carnegie Mellon University},
	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},
	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},
	Month = jan,
	Number = {1},
	Title = {Schema Evolution and Integration},
	Volume = {2},
	Year = {1994}}

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

@inproceedings{Clar03a,
	Author = {John Clarke and Jose Javier Dolado and Mark Harman and Bryan Jones and Mary Lumkin and Brian Mitchell and Kearton Rees and Marc Roper},
	Booktitle = {IEEE Proceedings on Software},
	Numero = {150},
	Pages = {161-175},
	Title = {Reformulating software engineering as a search problem},
	Volume = {3},
	Year = {2003}}

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

@article{Clar86a,
	Author = {Edmund M. Clarke and E.A. Emerson and A.P. Sistla},
	Journal = {ACM TOPLAS},
	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.},
	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}}

@article{Clav01a,
	Author = {Manuel Clavel and Francisco Dur{\'a}n and Steven Eker and Patrick Lincoln and Narciso Mart{\'\i}-Oliet and Jos{\'e} Meseguer and Jos{\'e} F. Quesada},
	Journal = {Theoretical Computer Science},
	Note = {To appear},
	Title = {{Maude}: Specification and Programming in Rewriting Logic},
	Year = {2001}}

@inproceedings{Clay98a,
	Author = {R. Clayton and S. Rugaber and L. Wills},
	Booktitle = {Proceedings of WCRE '98},
	Note = {ISBN: 0-8186-89-67-6},
	Pages = {69--79},
	Publisher = {IEEE Computer Society},
	Title = {Incremental Migration Strategies: Data Flow Analysis for Wrapping},
	Year = {1998}}

@inproceedings{Clea89a,
	Author = {Rance Cleaveland and Joachim Parrow and Bernhard Steffen},
	Booktitle = {Automatic Verification Methods for Finite State Systems: Proceedings},
	Editor = {Joseph Sifakis},
	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},
	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},
	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},
	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},
	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},
	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},
	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{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}}

@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},
	Publisher = {Addison-Wesley Professional},
	Title = {Documenting Software Architectures: Views and Beyond},
	Year = {2002}}

@article{Clem95a,
	Author = {Paul C. Clements},
	Journal = {American Programmer},
	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},
	Pages = {55--68},
	Publisher = {IEEE Press},
	Title = {Software Architecture: An Executive Overview},
	Year = {1997}}

@inproceedings{Cler88a,
	Address = {Oslo},
	Author = {Silvia Clerici and F. Orejas},
	Booktitle = {Proceedings ECOOP '88},
	Editor = {S. Gjessing and K. Nygaard},
	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}}

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

@book{Clev94a,
	Author = {William S. Cleveland},
	Publisher = {Hobart Press},
	Title = {The Elements of Graphing Data},
	Year = {1994}}

@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},
	Month = may,
	Title = {Foundations of Actor Semantics},
	Type = {AI-TR-633},
	Year = {1981}}

@book{Clin95a,
	Author = {Marshall P. Cline and Greg A. Lomow},
	Isbn = {0-201-58958-3},
	Publisher = {Addison Wesley},
	Title = {{C}++ FAQs},
	Year = {1995}}

@book{Cloc87a,
	Author = {W. F. Clocksin and Chris Mellish},
	Bibsource = {DBLP, http://dblp.uni-trier.de},
	Isbn = {3-540-17539-3},
	Publisher = {Springer},
	Title = {Programming in Prolog, 3rd Edition},
	Year = {1987}}

@misc{ClosureCompiler,
	Author = {Anthony Hannan},
	Key = {ClosureCompiler},
	Month = jul,
	Note = {http://wiki.squeak.org/squeak/ClosureCompiler},
	Title = {Squeak {Closure} {Compiler}},
	Year = {2004}}

@techreport{Clou00a,
	Author = {Paul Clough},
	Institution = {University of Sheffield, Department of Computer Science},
	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},
	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}}

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

@book{Coad91a,
	Author = {Peter Coad and Edward Yourdon},
	Isbn = {0-13-630070-7},
	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},
	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},
	Publisher = {Prentice Hall},
	Title = {Java Modeling in Color with UML},
	Year = {1999}}

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

@book{Cock02a,
	Author = {Alistair Cockburn},
	Isbn = {0201699699},
	Publisher = {Addison Wesley},
	Title = {Agile Software Development},
	Year = {2002}}

@book{Cock03a,
	Author = {Alistair Cockburn},
	Isbn = {0201702258},
	Publisher = {Addison Wesley},
	Title = {Writing Effective Use Cases},
	Year = {2003}}

@misc{Cock06a,
	Author = {Alistair Cockburn},
	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}}

@article{Cock93a,
	Author = {Alistair Cockburn},
	Journal = {IBM Systems Journal},
	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}}

@misc{Cocoon,
	Key = {Cocoon},
	Note = {http://cocoon.apache.org/},
	Title = {Apache Cocoon, The Apache Cocoon Project}}

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

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

@article{Cohe75a,
	Address = {Austin, Texas},
	Author = {E. Cohen and D. Jefferson},
	Journal = {ACM SIGOPS},
	Month = nov,
	Number = {5},
	Pages = {141--160},
	Title = {Protection in the Hydra Operating System},
	Volume = {9},
	Year = {1975}}

@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},
	Month = dec,
	Pages = {156--167},
	Title = {Metaclasses are First Class: the {ObjVlisp} Model},
	Volume = {22},
	Year = {1987}}

@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},
	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},
	Note = {To appear},
	Publisher = {Publisher Unknown},
	Title = {Architectural Patterns for Business Information Systems},
	Year = {1999}}

@inproceedings{Cole01a,
	Address = {Berlin},
	Author = {R.J. Cole and P.W. Eklund},
	Booktitle = {Proceedings 9th International Conference on Conceptual Structures},
	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},
	Month = jun,
	Pages = {726--733},
	Publisher = {Knowledge Systems Institute},
	Title = {Conceptual Analysis of Software Structure},
	Year = {2003}}

@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},
	Publisher = {Prentice-Hall},
	Title = {Object-Oriented Development: The Fusion Method},
	Year = {1994}}

@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},
	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{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},
	Pages = {1--9},
	Title = {Player 2.0: Toward a Practical Robot Programming Framework},
	Year = {2005}}

@book{Coll09a,
	Author = {Collins-Sussman, Ben and Fitzpatrick, Brian W. and Pilato, C. Michael},
	Month = jun,
	Publisher = {O'Reilly Media},
	Title = {Version Control with Subversion (for Subversion 1.6)},
	Year = {2009}}

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

@book{Coly04a,
	Author = {Colyer, Adrian and Clement, Andy and Harley, George and Webster, Matthew},
	Isbn = {0321245873},
	Publisher = {Addison-Wesley Professional},
	Title = {Eclipse aspectj: aspect-oriented programming with aspectj and the eclipse aspectj development tools},
	Year = {2004}}

@misc{Comanche,
	Key = {Comanche},
	Note = {http://squeaklab.org/comanche},
	Title = {Comanche: a full featured web serving environment for {Smalltalk}}}

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

@techreport{Comp93a,
	Author = {Adriana B. Compagnoni and Benjamin C. Pierce},
	Institution = {LFCS, University of Edinburgh},
	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},
	Month = jan,
	Title = {Subtyping in {${F}^\omega_\wedge$} is decidable},
	Type = {ECS-LFCS-94-281},
	Year = {1994}}

@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},
	Misc = {19 December},
	Month = dec,
	Title = {Concurrency and Formal Methods},
	Type = {Journee scientifique Groupe ConForM},
	Year = {1995}}

@misc{Concentration,
	Key = {Concentration},
	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},
	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},
	Publisher = {Yourdon Press Computing Series},
	Title = {Object-Oriented Rapid Prototyping},
	Year = {1995}}

@article{Conr98a,
	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},
	Pages = {228--231},
	Title = {{SCM}: Status and Future Challenges},
	Year = {1999}}

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

@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},
	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},
	Month = jan,
	Number = {FORTH.92.E2.1},
	Title = {The Software Information Base: {A} Server for Reuse},
	Type = {ITHACA report},
	Year = {1992}}

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

@inproceedings{Cons93a,
	Author = {Mariano P. Consens and Alberto O. Mendelzon},
	Booktitle = {Proceeding of the 1993 ACM SIGMOD International Conference on Management Data, SIGMOD Record Volume 22, No. 2},
	Pages = {511--516},
	Title = {Hy+: {A} Hygraph-based Query and Visualisation System},
	Year = {1993}}

@inproceedings{Cons93c,
	Author = {Charles Consel and Olivier Danvy},
	Booktitle = {Conference Record of {POPL}~'93},
	Month = jan,
	Organization = {ACM},
	Pages = {493--501},
	Title = {Tutorial Notes on Partial Evaluation},
	Year = {1993}}

@inproceedings{Cons94b,
	Author = {M. Consens and M. Z. Hazan and A. Mendelzon},
	Booktitle = {Proceedings 1st. International Conference on Applications of Databases, LNCS 819},
	Title = {Debugging Distributed Programs by Visualizing and Querying Event Traces},
	Year = {1994}}

@incollection{Cons95a,
	Abstract = {A key component in a reuse-oriented software
                  development environment is an appropriate software
                  repository. We present a repository system which
                  supports the entire software development lifecycle,
                  providing for the integrated and consistent
                  representation, organization, storage, and
                  management of reusable artefacts. The system can
                  support multiple development and representation
                  models and is dynamically adaptable to new ones. The
                  chapter focuses on the facilities offered by the
                  system for component classification, an important
                  technique for retrieving reusable software. It is
                  demonstrated that the inherently delicate and
                  complex process of classification is streamlined and
                  considerably facilitated by integrating it into a
                  wider documentation environment and, especially, by
                  connecting it with software static analysis. The
                  benefits in terms of precision, consistency and ease
                  of use can be significant for large scale
                  applications.},
	Author = {Panos Constantopoulos and Martin D{\"o}rr},
	Booktitle = {Object-Oriented Software Composition},
	Editor = {Oscar Nierstrasz and Dennis Tsichritzis},
	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}}

@misc{ContextJ,
	Key = {ContextJ},
	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},
	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},
	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},
	Month = apr,
	Number = {4},
	Pages = {28--31},
	Title = {How do committees invent?},
	Volume = {14},
	Year = {1968}}

@inproceedings{Cook01a,
	Author = {Stephen Cook and Rachel Harrison and Brian Ritchie},
	Booktitle = {ECOOP 2001 Workshop Reader},
	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},
	Title = {Dynamic and Static Views of Software Evolution},
	Year = {2001}}

@article{Cook09a,
	Address = {New York, NY, USA},
	Author = {William R. Cook},
	Doi = {10.1145/1639949.1640133},
	Issn = {0362-1340},
	Journal = {SIGPLAN Not.},
	Number = {10},
	Pages = {557--572},
	Publisher = {ACM},
	Title = {On understanding data abstraction, revisited},
	Url = {http://www.cs.utexas.edu/~wcook/Drafts/2009/essay.pdf},
	Volume = {44},
	Year = {2009},
	Bdsk-Url-1 = {http://www.cs.utexas.edu/~wcook/Drafts/2009/essay.pdf},
	Bdsk-Url-2 = {http://dx.doi.org/10.1145/1639949.1640133}}

@article{Cook84a,
	Author = {P.R. Cook},
	Journal = {Byte},
	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},
	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},
	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},
	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},
	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},
	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},
	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},
	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}}

@book{Coop00a,
	Author = {James W. Cooper},
	Publisher = {Addison Wesley},
	Title = {Java Design Patterns},
	Year = {2000}}

@book{Coop95a,
	Author = {Alan Cooper},
	Publisher = {Hungry Minds},
	Title = {About Face --- The Essentials of User Interface Design},
	Year = {1995}}

@book{Coop99a,
	Author = {Alan Cooper},
	Publisher = {SAMS},
	Title = {The Inmates are running the Asylum},
	Year = {1999}}

@book{Copl92a,
	Author = {James O. Coplien},
	Isbn = {0-201-54855-0},
	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},
	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},
	Number = {1995},
	Title = {Multi-Paradigm Design and Implementation},
	Type = {Report},
	Year = {1995}}

@booklet{Copl95c,
	Author = {James O. Coplien},
	Howpublished = {CHOOSE Tutorial},
	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},
	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},
	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},
	Pages = {535--560},
	Publisher = {Academic Press},
	Title = {Principal type schemes and lambda calculus semantics},
	Year = {1980}}

@inproceedings{Copp92a,
	Address = {New York, NY, USA},
	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},
	Location = {Kansas City, Missouri, United States},
	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{Corb89a,
	Author = {Thomas A. Corbi},
	Journal = {IBM Systems Journal},
	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},
	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{Cord03a,
	Address = {Portland, Oregon, USA},
	Author = {James R. Cordy},
	Booktitle = {Proc. 11th Int. Workshop on Program Comprehension (IWPC'03)},
	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}}

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

@article{Cordy06a,
	Author = {James R. Cordy},
	Bibsource = {DBLP, http://dblp.uni-trier.de},
	Ee = {10.1016/j.scico.2006.04.002},
	Journal = {Sci. Comput. Program.},
	Number = {3},
	Pages = {190-210},
	Title = {The {TXL} source transformation language},
	Url = {http://research.cs.queensu.ca/~cordy/Papers/Cordy_TXL_SCP.pdf},
	Volume = {61},
	Year = {2006},
	Bdsk-Url-1 = {http://research.cs.queensu.ca/~cordy/Papers/Cordy_TXL_SCP.pdf}}

@inproceedings{Cordy06b,
	Author = {James R. Cordy},
	Bibsource = {DBLP, http://dblp.uni-trier.de},
	Booktitle = {PEPM},
	Ee = {10.1145/1111542.1111544},
	Pages = {1-11},
	Title = {Source transformation, analysis and generation in {TXL}},
	Url = {http://research.cs.queensu.ca/~cordy/Papers/Cordy_PEPM06_TXL.pdf},
	Year = {2006},
	Bdsk-Url-1 = {http://research.cs.queensu.ca/~cordy/Papers/Cordy_PEPM06_TXL.pdf}}

@inproceedings{Corm90a,
	Address = {White Plains, New York},
	Author = {G.V. Cormack and A.K. Wright},
	Booktitle = {Proceedings of the ACM SIGPLAN '90 Conference on Programming Language Design and Implementation},
	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},
	Publisher = {MIT Press},
	Title = {Introduction to Algorithms},
	Year = {1990}}

@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},
	Title = {Minimum Acceptable Code Coverage},
	Url = {http://www.bullseye.com/minimum.html},
	Year = {2006},
	Bdsk-Url-1 = {http://www.bullseye.com/minimum.html}}

@inproceedings{Corn07a,
	Author = {Bas Cornelissen},
	Booktitle = {Proceeding of the 14th Working Conference on Reverse Engineering (WCRE)},
	Publisher = {IEEE},
	Title = {Dynamic Analysis Techniques for the Reconstruction of Architectural Views},
	Year = {2007}}

@inproceedings{Corn07b,
	Author = {Bas Cornelissen and Danny Holten and Andy Zaidman and Leon Moonen and Jarke J. van Wijk and Arie van Deursen},
	Booktitle = {Proceedings of the 15th International Conference on Program Comprehension (ICPC)},
	Doi = {10.1109/ICPC.2009.5090033},
	Pages = {49--58},
	Publisher = {IEEE Computer Society},
	Title = {Understanding Execution Traces Using Massive Sequence and Circular Bundle Views},
	Year = {2007},
	Bdsk-Url-1 = {http://dx.doi.org/10.1109/ICPC.2009.5090033}}

@article{Corn09a,
	Address = {Los Alamitos, CA, USA},
	Author = {Bas Cornelissen and Andy Zaidman and Arie van Deursen and Leon Moonen and Rainer Koschke},
	Doi = {10.1109/TSE.2009.28},
	Issn = {0098-5589},
	Journal = {IEEE Transactions on Software Engineering},
	Number = {5},
	Pages = {684--702},
	Publisher = {IEEE Computer Society},
	Title = {A Systematic Survey of Program Comprehension through Dynamic Analysis},
	Url = {http://swerl.tudelft.nl/twiki/pub/Main/TechnicalReports/TUD-SERG-2008-033.pdf},
	Volume = {35},
	Year = {2009},
	Bdsk-Url-1 = {http://swerl.tudelft.nl/twiki/pub/Main/TechnicalReports/TUD-SERG-2008-033.pdf},
	Bdsk-Url-2 = {http://dx.doi.org/10.1109/TSE.2009.28}}

@inproceedings{Corn09b,
	Author = {Bas Cornelissen and Andy Zaidman and Arie van Deursen and Bart van Rompaey},
	Booktitle = {Proceedings 17th International Conference on Program Comprehension (ICPC)},
	Isbn = {0-7695-2860-0},
	Pages = {100--109},
	Publisher = {IEEE Computer Society},
	Title = {Trace Visualization for Program Comprehension: A Controlled Experiment},
	Year = {2009}}

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

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

@inproceedings{Cost03a,
	Address = {Darmstadt, Germany},
	Author = {Pascal Costanza},
	Booktitle = {ECOOP 2003 Workshop on Object-oriented Language Engineering for the Post-Java Era},
	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},
	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},
	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, England},
	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},
	Month = sep,
	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}}

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

@article{Cost84a,
	Author = {G. Costa and Colin Stirling},
	Journal = {Acta Informatica},
	Number = {5},
	Pages = {417--442},
	Title = {A Fair Calculus of Communicating Systems},
	Volume = {21},
	Year = {1984}}

@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{Cott95a,
	Author = {Sean Cottter and Mike Potel},
	Isbn = {0-201-40970-4},
	Publisher = {Addison Wesley},
	Title = {Inside Taligent Technology},
	Year = {1995}}

@book{Coul94a,
	Author = {George Coulouris and Jean Dollimore and Tim Kindberg},
	Isbn = {0-201-62433-8},
	Publisher = {Addison Wesley},
	Title = {Distributed Systems Concepts and Design},
	Year = {1994}}

@book{Coul98a,
	Author = {Bernard Coulange},
	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},
	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},
	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},
	Misc = {July 10-14},
	Month = jul,
	Pages = {383--399},
	Publisher = {Cambridge University Press},
	Title = {Architecture Models for Interactive Software},
	Year = {1989}}

@book{Covi97a,
	Author = {Michael A. Covington and Donald Nute and Andr\'e Vellino},
	Isbn = {0-13-138645-X},
	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},
	Publisher = {Prentice-Hall},
	Title = {The NetRexx Language},
	Year = {1997}}

@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},
	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},
	Month = may,
	Pages = {154--163},
	Publisher = {IEEE},
	Title = {Syntactic Approximation Using Iterative Lexical Analysis},
	Year = {2003},
	Bdsk-Url-1 = {http://dx.doi.org/10.1109/IWPC.2003.10006}}

@article{Cox08a,
	Address = {New York, NY, USA},
	Author = {Russ Cox and Tom Bergan and Austin T. Clements and Frans Kaashoek and Eddie Kohler},
	Doi = {10.1145/1353534.1346312},
	Issn = {0163-5964},
	Journal = {SIGARCH Comput. Archit. News},
	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}}

@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},
	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},
	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},
	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},
	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},
	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},
	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},
	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},
	Pages = {45--66},
	Publisher = {Manning Publications Co.},
	Title = {Prograph},
	Year = {1995}}

@book{Cox96a,
	Author = {Brad J. Cox},
	Isbn = {0-201-50208-9},
	Publisher = {Addison Wesley},
	Title = {Superdistribution},
	Year = {1996}}

@article{Cox97a,
	Author = {Brad J. Cox},
	Journal = {IEEE Software Magazine},
	Month = jan,
	Title = {Objects as Property},
	Url = {http://virtualschool.edu/cox/IEEE97.html},
	Year = {1997},
	Bdsk-Url-1 = {http://virtualschool.edu/cox/IEEE97.html}}

@book{Coyn95a,
	Author = {Richard Coyne},
	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,
	Address = {London, UK},
	Author = {Iain Craig},
	Isbn = {1852331593},
	Publisher = {Springer-Verlag},
	Title = {The Integration of Object-Oriented Programming Languages},
	Year = {2000}}

@book{Crai02a,
	Author = {Craig and Lain},
	Publisher = {O'Reilly},
	Title = {The Interpretation of object-oriented programming languages},
	Year = {2006}}

@book{Crai05a,
	Address = {Berlin, Germany},
	Author = {Iain D. Craig},
	Isbn = {1-85233-969-1},
	Pages = {269},
	Publisher = {Springer Verlag},
	Title = {Virtual machines},
	Year = {2005}}

@misc{Crar07a,
	Author = {Karl Crary and Robert Harper and Frank Pfenning and Benjamin C. Pierce and Stephanie Weirich and Stephan Zdancewic},
	Title = {Manifest Security},
	Year = {2007}}

@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},
	Number = {4},
	Pages = {257--292},
	Publisher = {John Wiley \& Sons, Inc.},
	Title = {Graph-based tools for re-engineering},
	Volume = {14},
	Year = {2002},
	Bdsk-Url-1 = {http://dx.doi.org/10.1002/smr.254}}

@inproceedings{Crew97a,
	Author = {Roger F. Crew},
	Booktitle = {Proceedings of the USENIX Conference on Domain-Specific Languages},
	Title = {ASTLOG: A Language for Examining Abstract Syntax Trees},
	Year = {1997}}

@techreport{Cris99a,
	Abstract = {Die Visualisierung von Programmen erlaubt, durch
                  animiertes Anzeigen, die Darstellung bedeutender
                  Zust\"nde, die w\"ahrend der Programmausf\"uhrung
                  auftreten k\"onnen und sonst unsichtbar f\"ur den
                  Benutzer bleiben. Ziel dieser Arbeit ist die
                  Implementation eines interaktiven
                  Visualisierungswerkzeuges f\"ur das JPict Framework.
                  In dieser Dokumentation werden Konzepte des JPict
                  und HotDraw Frameworks und der
                  Visualisierungsmodelle kurz dargestellt. Danach wird
                  auf das Design und den verfolgten Ansatz in der
                  Implementierung dieses Visualisierungswerkzeuges
                  eingegangen.},
	Author = {Cristina Gheorghiu Cris},
	Institution = {University of Bern},
	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},
	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},
	Pages = {55--62},
	Title = {Using a Planner to Support Office Work},
	Year = {1988}}

@article{Cros95a,
	Author = {Cross II, James H. and Alex Quilici and Linda Wills and Philip Newcomb and Elliot Chikofsky},
	Journal = {SIGSoft Software Engineering Notes},
	Month = dec,
	Number = {5},
	Title = {Second Working Conference on Reverse Engineering Summary Report},
	Volume = {20},
	Year = {1995}}

@inproceedings{Cros98a,
	Author = {Cross II, James H. and T. Dean Hendrix and Larry A. Barowsky and Karl S. Mathias},
	Booktitle = {Proceedings of WCRE '98},
	Note = {ISBN: 0-8186-89-67-6},
	Pages = {201--210},
	Publisher = {IEEE Computer Society},
	Title = {Scalable Visualizations to Support Reverse Engineering: A Framework for Evaluation},
	Year = {1998}}

@article{Cross98b,
	Author = {Cross II, James H. and Saeed Maghsoodloo and Dean Hendrix},
	Journal = {Journal of Empirical Software Engineering},
	Number = {2},
	Pages = {131--158},
	Title = {Control Structure Diagrams: Overview and Evaluation},
	Volume = {3},
	Year = {1998}}

@book{Crow95a,
	Author = {Jon Crowcroft},
	Isbn = {1-85728-229-9},
	Publisher = {UCL Press},
	Title = {Open Distributed Systems},
	Year = {1995}}

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

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

@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},
	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},
	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}},
	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},
	Pages = {92--97},
	Title = {Automatic bug triage using text categorization.},
	Url = {http://dblp.uni-trier.de/db/conf/seke/seke2004.html#CubraniM04},
	Year = {2004},
	Bdsk-Url-1 = {http://dblp.uni-trier.de/db/conf/seke/seke2004.html#CubraniM04}}

@unpublished{Cuet95a,
	Author = {A. Cueto and Mahesh Dodani},
	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},
	Note = {University of Iowa},
	Title = {Spy: An Object-Oriented Interactive Debugger},
	Type = {Draft},
	Year = {1995}}

@misc{Cunn06a,
	Author = {Ward Cunningham},
	Title = {{P}rivate communication},
	Year = {2006}}

@inproceedings{Cunn86a,
	Author = {Ward Cunningham and Kent Beck},
	Booktitle = {Proceedings OOPSLA '86, ACM SIGPLAN Notices},
	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},
	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}}

@inproceedings{Curr82a,
	Address = {Philadelphia},
	Author = {Gael Curry and Larry Baer and Daniel Lipkie and Bruce Lee},
	Booktitle = {Proceedings ACM SIGOA, Newsletter},
	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},
	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},
	Pages = {25--30},
	Title = {An approach to type safety in a traits system},
	Year = {1986}}

@inproceedings{Curt90a,
	Author = {Pavel Curtis and James Rauen},
	Booktitle = {Proceedings of the 1990 ACM conference on LISP and functional programming},
	Isbn = {0-89791-368-X},
	Location = {Nice, France},
	Pages = {13--19},
	Publisher = {ACM Press},
	Title = {A module system for scheme},
	Year = {1990}}

@article{Cusa91a,
	Author = {Elspeth Cusack},
	Journal = {Formal Aspects of Computing},
	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},
	Misc = {July 15--19},
	Month = jul,
	Pages = {167--179},
	Publisher = {Springer-Verlag},
	Series = {LNCS},
	Title = {Inheritance in Object-Oriented gz},
	Volume = 512,
	Year = {1991}}

@article{Cuts07a,
	Address = {Los Alamitos, CA, USA},
	Author = {Van Cutsem, Tom and Mostinckx, Stijn and Boix, Elisa Gonzalez and Dedecker, Jessie and De Meuter, Wolfgang},
	Doi = {10.1109/SCCC.2007.12},
	Issn = {1522-4902},
	Journal = {XXVI International Conference of the Chilean Computer Science Society (SCCC 2007)},
	Month = nov,
	Pages = {3-12},
	Publisher = {IEEE Computer Society},
	Title = {AmbientTalk: Object-oriented Event-driven Programming in Mobile Ad hoc Networks},
	Volume = {0},
	Year = {2007},
	Bdsk-Url-1 = {http://dx.doi.org/10.1109/SCCC.2007.12}}

@article{Cvs00a,
	Address = {Seattle, WA, USA},
	Author = {Morse, Tom},
	Date-Added = {2009-10-20 17:20:47 +0200},
	Date-Modified = {2009-10-20 17:26:02 +0200},
	Issn = {1075-3583},
	Journal = {Linux J.},
	Number = {21},
	Publisher = {Specialized Systems Consultants, Inc.},
	Title = {CVS},
	Volume = {1996},
	Year = {1996}}

@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},
	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.},
	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{Czaj00a,
	Address = {New York, NY, USA},
	Author = {Czajkowski, Grzegorz},
	Booktitle = {OOPSLA '00: Proceedings of the 15th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications},
	Doi = {10.1145/353171.353195},
	Isbn = {1-58113-200-X},
	Location = {Minneapolis, Minnesota, United States},
	Pages = {354--366},
	Publisher = {ACM},
	Title = {Application isolation in the Java Virtual Machine},
	Year = {2000},
	Bdsk-Url-1 = {http://dx.doi.org/10.1145/353171.353195}}

@inproceedings{Czaj03a,
	Author = {Grzegorz Czajkowski and Laurent Dayn{\`e}s and Ben Titzer},
	Bibsource = {DBLP, http://dblp.uni-trier.de},
	Booktitle = {USENIX Annual Technical Conference, General Track},
	Ee = {http://www.usenix.org/events/usenix03/tech/czajkowski.html},
	Pages = {85-98},
	Title = {A Multi-User Virtual Machine},
	Year = {2003}}

@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{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},
	Month = jun,
	Pages = {18--42},
	Publisher = {Springer-Verlag},
	Series = {LNCS},
	Title = {Synthesizing Objects},
	Volume = 1628,
	Year = {1999}}

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

@techreport{DCE97a,
	Author = {{Open} {Group}},
	Institution = {{Open} {Group}},
	Key = {DCE},
	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{DHon00a,
	Author = {D'Hondt, Theo and De Volder, Kris and Mens, Kim and Wuyts, Roel},
	Booktitle = {Proceedings of the international symposium on Software Architectures and Component Technology 2000.},
	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}}

@inproceedings{DHon99a,
	Author = {D'Hondt, Maja and De Meuter, Wolfgang and Wuyts, Roel},
	Booktitle = {Proceedings of GCSE '99},
	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}}

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

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

@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{DSM,
	Key = {DSM},
	Title = {The Design Structure Matrix (DSM)},
	Url = {http://www.dsmweb.org},
	Bdsk-Url-1 = {http://www.dsmweb.org}}

@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},
	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{Dage08a,
	Address = {New York, NY, USA},
	Author = {Dagenais, Barth\'{e}l\'{e}my and Robillard, Martin P.},
	Booktitle = {ICSE '08: Proceedings of the 30th international conference on Software engineering},
	Doi = {10.1145/1368088.1368154},
	Isbn = {978-1-60558-079-1},
	Location = {Leipzig, Germany},
	Pages = {481--490},
	Publisher = {ACM},
	Title = {Recommending adaptive changes for framework evolution},
	Year = {2008},
	Bdsk-Url-1 = {http://dx.doi.org/10.1145/1368088.1368154}}

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

@techreport{Dahl70a,
	Address = {Oslo, N},
	Author = {O.-J. Dahl and B. Myrhaug and K. Nygaard},
	Institution = {Norsk Regnesentral (Norwegian Computing Center)},
	Month = oct,
	Number = {N. S-22},
	Title = {{(Simula67) Common Base Language}},
	Year = {1970}}

@book{Dahl72a,
	Author = {Ole-Johan Dahl and Edsgar W. Dijkstra and C.A.R. Hoare},
	Publisher = {Academic Press},
	Title = {Structured Programming},
	Year = {1972}}

@inproceedings{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{Dalz00a,
	Author = {Silvano Dal Zilio},
	Booktitle = {Proc. of IFIP TCS 2000},
	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}}

@inproceedings{Dalz98a,
	Author = {Silvano Dal Zilio},
	Booktitle = {Proc. of SOAP '98 --- International Workshop on Semantics of Objects as Processes},
	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},
	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{Dam09a,
	Author = {Mads Dam1 and Bart Jacobs2 and Andreas Lundblad and Frank Piessens},
	Booktitle = {ECOOP 2009},
	Title = {Security Monitor Inlining for Multithreaded Java},
	Year = {2009}}

@techreport{Dam88a,
	Address = {Edinburgh},
	Author = {Mads Dam},
	Institution = {Computer Society Press},
	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},
	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}}

@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},
	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},
	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},
	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},
	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},
	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},
	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},
	Month = jul,
	Pages = {151--212},
	Title = {The {HOP} Calculus},
	Type = {Visual Objects},
	Year = {1993}}

@phdthesis{Dami94a,
	Author = {Laurent Dami},
	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},
	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},
	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},
	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},
	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},
	Month = feb,
	Number = {2},
	Pages = {201--231},
	Title = {A lambda-calculus for dynamic binding},
	Url = {ftp://cui.unige.ch/pub/dami/dynBind.ps.Z},
	Volume = {192},
	Year = {1998},
	Bdsk-Url-1 = {ftp://cui.unige.ch/pub/dami/dynBind.ps.Z}}

@article{Danf88a,
	Author = {S. Danforth and Chris Tomlinson},
	Journal = {ACM Computing Surveys},
	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},
	Month = jun,
	Title = {{ASTRA} --- Portfolio},
	Type = {Informatikprojekt},
	Url = {http://scg.unibe.ch/archive/projects/Danz00a.pdf},
	Year = {2000},
	Bdsk-Url-1 = {http://scg.unibe.ch/archive/projects/Danz00a.pdf}}

@inproceedings{Dao02a,
	Author = {Michel Dao and Marianne Huchard and Th{\'e}r{\`e}se Libourel and Cyril Roume and Herv{\'e} Leblanc},
	Booktitle = {Proceedings of {METRICS} '02 (8$_{th}$ IEEE International Symposium on Software Metrics},
	Pages = {227--236},
	Publisher = {IEEE Computer Society},
	Title = {A {New} {Approach} to {Factorization}: {Introducing} {Metrics}},
	Year = {2002}}

@inproceedings{Dao04a,
	Author = {Michel Dao and Marianne Huchard and Mohamed Rouane Hacene and Cyril Roume andPetko Valtchev},
	Booktitle = {Proceedings of {ICCS} '94 (12th International Conference on Conceptual Structures)},
	Month = jul,
	Pages = {346--360},
	Publisher = {Springer-Verlag},
	Series = {Lecture Notes in Computer Science},
	Title = {Improving {Generalization} {Level} in {UML} {Models} {Iterative} {Cross} {Generalization} in {Practice}},
	Volume = {3127},
	Year = {2004}}

@inproceedings{Dao06a,
	Author = {Michel Dao and Marianne Huchard and Mohamed Rouane-Hacene and Cyril Roume and Petko Valtchev},
	Booktitle = {{ICEIS}'06: {I}nternational {C}onference on {E}nterprise {I}nformation {S}ystems},
	Isbn = {972-8865-43-0},
	Pages = {276-283},
	Title = {{T}owards {P}ractical {T}ools for {M}ining {A}bstractions in {UML} {M}odels},
	Year = {2006}}

@inproceedings{Daqi09a,
	Abstract = {Programmers copy and paste code ...},
	Author = {Hou, Daqing and Jablonski, Patricia and Jacob, Ferosh},
	Booktitle = {2009 IEEE 17th International Conference on Program Comprehension},
	Citeulike-Article-Id = {6707981},
	Citeulike-Linkout-0 = {http://dx.doi.org/10.1109/ICPC.2009.5090049},
	Citeulike-Linkout-1 = {http://ieeexplore.ieee.org/xpls/abs_all.jsp?arnumber=5090049},
	Doi = {10.1109/ICPC.2009.5090049},
	Isbn = {978-1-4244-3998-0},
	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}}

@misc{Darcs00a,
	Key = {darcs},
	Title = {Darcs: The distributed change-based revision control system},
	Url = {http://darcs.net/},
	Bdsk-Url-1 = {http://darcs.net/}}

@misc{Dard04,
	Author = {Betiana Darderes and M{\'\a}ximo Prieto},
	Title = {Subjective Behavior: a General Dynamic Method Dispatch},
	Year = {2004}}

@inproceedings{Daro87a,
	Author = {Ph. Darondeau and B. Gamatie},
	Booktitle = {Proceedings TAPSOFT '87},
	Editor = {Ehrig and Kowalski and Levi and Montanari},
	Pages = {153--168},
	Publisher = {Springer-Verlag},
	Series = {LNCS},
	Title = {A Fully Observational Model for Infinite Behaviours of Communicating Systems},
	Volume = {249},
	Year = {1987}}

@inproceedings{Dasg86a,
	Author = {Partha Dasgupta},
	Booktitle = {Proceedings OOPSLA '86, ACM SIGPLAN Notices},
	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},
	Month = nov,
	Number = {11},
	Pages = {34--44},
	Title = {The Cloads Distributed Operating System},
	Volume = {24},
	Year = {1991}}

@inproceedings{Dash99a,
	Address = {New York, NY, 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},
	Location = {Los Angeles, California, United States},
	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}}

@book{Date92a,
	Author = {C. J. Date and D. McGoveran},
	Isbn = {0-201-55710-X},
	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}}

@inproceedings{Dave00a,
	Address = {Washington, DC, USA},
	Author = {Davey, John and Burd, Elizabeth},
	Booktitle = {WCRE '00: Proceedings of the Seventh Working Conference on Reverse Engineering (WCRE'00)},
	Isbn = {0-7695-0881-2},
	Pages = {268},
	Publisher = {IEEE Computer Society},
	Title = {Evaluating the Suitability of Data Clustering for Software Remodularization},
	Year = {2000}}

@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)},
	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},
	Publisher = {Cambridge University Press},
	Title = {Introduction to Lattices and Order},
	Year = {2003}}

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

@book{Davi05a,
	Author = {Martha Davis},
	Isbn = {0120884240},
	Publisher = {Elsevier Academic Press},
	Title = {Scientific Papers and Presentations},
	Year = {2005}}

@article{Davi93a,
	Author = {John Davis and Tom Morgan},
	Journal = {IEEE Software (Special Issue on "Making O-O Work")},
	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},
	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},
	Publisher = {McGraw-Hill},
	Title = {201 Principles of Software Development},
	Year = {1995}}

@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},
	Publisher = {Penguin Books Ltd},
	Title = {Simplicity},
	Year = {1990}}

@inproceedings{DeLa98a,
	Author = {David E. DeLano and Linda Rising},
	Booktitle = {Pattern Languages of Program Design 3},
	Editor = {Robert Martin and Dirk Riehle and Frank Buschmann},
	Isbn = {978-0201310115},
	Pages = {503--527},
	Publisher = {Addison-Welsey},
	Title = {Patterns for System Testing},
	Year = {1998}}

@inproceedings{DeLa98b,
	Author = {David E. DeLano and Linda Rising},
	Booktitle = {Pattern Languages of Program Design 2},
	Editor = {Robert Martin and Dirk Riehle and Frank Buschmann},
	Isbn = {0201895277		978-0201895278},
	Note = {ordered but not received},
	Pages = {503--527},
	Publisher = {Addison-Welsey},
	Title = {Patterns for System Testing},
	Year = {1998}}

@inproceedings{DeLa98c,
	Author = {David E. DeLano and Linda Rising},
	Booktitle = {Pattern Languages of Program Design 1},
	Editor = {Robert Martin and Dirk Riehle and Frank Buschmann},
	Isbn = {0201607344		978-0201607345},
	Note = {ordered but not received},
	Pages = {503--527},
	Publisher = {Addison-Welsey},
	Title = {Patterns for System Testing},
	Year = {1998}}

@inproceedings{DeLa98d,
	Author = {David E. DeLano and Linda Rising},
	Booktitle = {Pattern Languages of Program Design 4},
	Editor = {Robert Martin and Dirk Riehle and Frank Buschmann},
	Isbn = {0201433044		978-0201433043},
	Note = {ordered but not received},
	Pages = {503--527},
	Publisher = {Addison-Welsey},
	Title = {Patterns for System Testing},
	Year = {1998}}

@inproceedings{DeLa98e,
	Author = {David E. DeLano and Linda Rising},
	Booktitle = {Pattern Languages of Program Design 5},
	Editor = {Robert Martin and Dirk Riehle and Frank Buschmann},
	Isbn = {0321321944		978-0321321947},
	Note = {ordered but not received},
	Pages = {503--527},
	Publisher = {Addison-Welsey},
	Title = {Patterns for System Testing},
	Year = {1998}}

@book{DeMa02,
	Author = {Tom DeMarco},
	Isbn = {0-7679-0769-8},
	Publisher = {Broadway Books},
	Title = {Slack, Getting Past Burnout, BusyWork, and the Myth of Total Efficiency},
	Year = {2002}}

@book{DeMa86a,
	Author = {Tom deMarco},
	Isbn = {0131717111},
	Publisher = {Springer-Verlag},
	Title = {Controlling Software Projects: Management, Measurement, and Estimates},
	Year = {1986}}

@book{DeMa99a,
	Author = {Tom DeMarco and Timothy Lister},
	Edition = {2nd},
	Publisher = {Dorset House},
	Title = {Peopleware, Productive Projects and Teams},
	Year = {1999}}

@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},
	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},
	Month = jun,
	Number = {2},
	Pages = {80--86},
	Title = {Programming in the Large Versus Programming in the Small},
	Volume = {2},
	Year = {1976}}

@inproceedings{DeVo00a,
	Author = {De Volder, Kris and Fabry, Johan and Wuyts, Roel},
	Booktitle = {Proceedings of the ECOOP 2000: Fifth International Workshop on Component-Oriented Programming},
	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{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}}

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

@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.},
	Number = {4},
	Pages = {311-336},
	Title = {Agile Parsing in {TXL}},
	Url = {http://research.cs.queensu.ca/~cordy/Papers/JASE_AP.pdf},
	Volume = {10},
	Year = {2003},
	Bdsk-Url-1 = {http://research.cs.queensu.ca/~cordy/Papers/JASE_AP.pdf}}

@inproceedings{Dean95a,
	Address = {Aarhus, Denmark},
	Author = {Jeffrey Dean and David Grove and Craig Chambers},
	Booktitle = {Proceedings ECOOP '95},
	Editor = {W. Olthoff},
	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}}

@inproceedings{Dean96a,
	Author = {Drew Dean and Edward W. Felten and Dan S. Wallach},
	Booktitle = {In Proceedings of the 1996 IEEE Symposium on Security and Privacy},
	Pages = {190--200},
	Title = {Java Security: From HotJava to Netscape and Beyond},
	Year = {1996}}

@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},
	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},
	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.},
	Title = {Using the Prototype-based Programming Paradigm for Structuring Mobile Applications},
	Year = {2002}}

@inproceedings{Dede06a,
	Author = {Dedecker, Jessie and Van Cutsem, Tom and Mostinckx, Stijn and D'Hondt, Theo and De Meuter, Wolfgang},
	Booktitle = {ECOOP'06: Proceedings of the 20th European Conference on Object-Oriented Programming},
	Doi = {10.1007/11785477_16},
	Editor = {Dave Thomas},
	Pages = {230--254},
	Publisher = {Springer-Verlag},
	Title = {Ambient-Oriented Programming in AmbientTalk},
	Volume = {4067},
	Year = {2006},
	Bdsk-Url-1 = {http://dx.doi.org/10.1007/11785477_16}}

@article{Deer90a,
	Author = {Scott C. Deerwester and Susan T. Dumais and Thomas K. Landauer and George W. Furnas and Richard A. Harshman},
	Journal = {Journal of the American Society of Information Science},
	Number = {6},
	Pages = {391--407},
	Title = {Indexing by Latent Semantic Analysis},
	Url = {citeseer.ist.psu.edu/deerwester90indexing.html},
	Volume = {41},
	Year = {1990},
	Bdsk-Url-1 = {citeseer.ist.psu.edu/deerwester90indexing.html}}

@article{Dega88a,
	Author = {P. Degano and Rocco De Nicola and Ugo Montanari},
	Journal = {Acta Informatica},
	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},
	Month = apr,
	Pages = {15--30},
	Publisher = {Springer-Verlag},
	Series = {LNCS},
	Title = {On Relating Some Models for Concurrency},
	Volume = {668},
	Year = {1993}}

@inproceedings{Deis05a,
	Author = {Florian Dei{\ss}enb\"ock and Markus Pizska},
	Booktitle = {International Workshop on Program Comprehension (IWPC 2005)},
	Pages = {97--106},
	Title = {Concise and Consistent Naming},
	Year = {2005}}

@inproceedings{Deis06a,
	Author = {Florian Deissenboeck and Daniel Ratiu},
	Booktitle = {Proceedings of the 3rd International Workshop on Metamodels, Schemas, Grammars and Ontologies (ATEM'06)},
	Title = {A Unified Meta-Model for Concept-Based Reverse Engineering},
	Year = {2006}}

@techreport{Deke02a,
	Author = {Uri Dekel},
	Institution = {Department of Computer Science, Technion},
	Title = {Applications of Concept Lattices to Code Inspection and Review},
	Year = {2002}}

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

@inproceedings{Deke03b,
	Abstract = {This paper promotes the use of a mathematical
                  concept lattice based upon the binary relation of
                  accesses between methods and fields as a novel
                  visualization of individual JAVA classes. We
                  demonstrate in a detailed real-life case study that
                  such a lattice is valuable for reverse-engineering
                  purposes, in that it helps reason about the
                  interface and structure of the class and find errors
                  in the absence of source code. Our technique can
                  also serve as a heuristic for automatic feature
                  categorization, enabling it to assist efforts of
                  re-documentation.},
	Author = {Uri Dekel and Yossi Gil},
	Booktitle = {WCRE},
	Month = nov,
	Pages = {353--362},
	Publisher = {IEEE Press},
	Title = {Revealing Class Structure with Concept Lattices},
	Year = {2003}}

@inproceedings{Deko05a,
	Author = {Steve Dekorte},
	Booktitle = {Companion to the 20th Annual {ACM} {SIGPLAN} Conference on Object-Oriented Programming, Systems, Languages, and Applications, {OOPSLA} 2005, October 16-20, 2004, San Diego, {CA}, {USA}},
	Editor = {Ralph Johnson and Richard P. Gabriel},
	Pages = {166--167},
	Publisher = {ACM},
	Title = {Io: a small programming language},
	Url = {http://www.iolanguage.com/},
	Year = {2005},
	Bdsk-Url-1 = {http://www.iolanguage.com/}}

@inproceedings{Delc91a,
	Address = {Geneva, Switzerland},
	Author = {Christine Delcourt and Roberto Zicari},
	Booktitle = {Proceedings ECOOP '91},
	Editor = {P. America},
	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},
	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},
	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},
	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},
	Month = dec,
	Publisher = {Springer-Verlag},
	Series = {LNCS},
	Title = {Proceedings {DOOD}'91},
	Volume = {566},
	Year = {1991}}

@book{Dema82a,
	Author = {Tom De Marco},
	Publisher = {Yourdon Press},
	Title = {Controlling Software Projects},
	Year = {1982}}

@article{Deme00m,
	Author = {Serge Demeyer and Harald Gall},
	Doi = {10.1145/340855.340857},
	Journal = {Software Engineering Notes},
	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}}

@inproceedings{Deme03c,
	Author = {Wolfgang De Meuter, Theo D'hondt, Jessie Dedecker},
	Booktitle = {Andrei Ershov Fifth International Conference on Perspectives of System Informatics, Siberia, Russia},
	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}}

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

@inproceedings{Deme80a,
	Author = {A.J. Demers and Jim Donahue},
	Booktitle = {Proceedings, POPL 80},
	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},
	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},
	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},
	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},
	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},
	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).},
	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},
	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},
	Month = sep,
	Publisher = {Technical University of Vienna --- Information Systems Institute --- Distributed Systems Group},
	Series = {TUV-1841-97-10},
	Title = {Proceedings of the {ESEC}/{FSE} Workshop on Object-Oriented Re-engineering},
	Url = {http://www.iam.unibe.ch/~demeyer/Deme97a/},
	Year = {1997},
	Bdsk-Url-1 = {http://www.iam.unibe.ch/~demeyer/Deme97a/}}

@article{Deme97b,
	Abstract = {Since the early 1980s, object-oriented frameworks
                  have demonstrated that programmers can encapsulate a
                  reusable, tailorable software architecture as a
                  collection of collaborating, extensible object
                  classes. Such frameworks are particularly important
                  for developing open systems in which not only
                  functionality but architecture is reused across a
                  family of related applications. Unfortunately, the
                  design of frameworks remains an art rather than a
                  science, because of the inherent conflict between
                  reuse --- packaging software components that can be
                  reused in as many contexts as possible --- and
                  tailorability --- designing software architectures
                  easily adapted to target requirements.},
	Author = {Serge Demeyer and Theo Dirk Meijler and Oscar Nierstrasz and Patrick Steyaert},
	Doi = {10.1145/262793.262805},
	Journal = {Communications of the ACM},
	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},
	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},
	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}}

@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},
	Note = {To appear in March 2000},
	Publisher = {ACM},
	Title = {Consistent Framework Documentation with Computed Links and Framework Contracts},
	Url = {http://www.iam.unibe.ch/~demeyer/Deme98a/ http://www.iam.unibe.ch/~demeyer/Deme98a/paper.html},
	Year = {1998},
	Bdsk-Url-1 = {http://www.iam.unibe.ch/~demeyer/Deme98a/%20http://www.iam.unibe.ch/~demeyer/Deme98a/paper.html}}

@book{Deme98c,
	Address = {Kaiserslautern, Germany},
	Editor = {Serge Demeyer and Jan Bosch},
	Isbn = {3-540-65460-7-(Donation-Serge)},
	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},
	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{Deme98o,
	Author = {Serge Demeyer},
	Booktitle = {Object-Oriented Technology (ECOOP '98 Workshop Reader)},
	Editor = {Serge Demeyer and Jan Bosch},
	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},
	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},
	Publisher = {Springer-Verlag},
	Title = {Agora: The Story of the Simplest {MOP} in the World --- or --- The Scheme of Object--Orientation},
	Year = {1998}}

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

@misc{Deme99e,
	Author = {Isabelle Borne and Serge Demeyer and Galal Hassan Galal},
	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},
	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},
	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{Dems02a,
	Address = {New York, NY, USA},
	Author = {Brian Demsky and Martin Rinard},
	Booktitle = {Proceedings of the 24th International Conference on Software Engineering (ICSE'02)},
	Doi = {10.1145/581339.581379},
	Isbn = {1-58113-472-X},
	Location = {Orlando, Florida},
	Pages = {313--324},
	Publisher = {ACM},
	Title = {Role-based exploration of object-oriented programs},
	Year = {2002},
	Bdsk-Url-1 = {http://dx.doi.org/10.1145/581339.581379}}

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

@proceedings{Denn96a,
	Address = {Leysin, Suisse},
	Booktitle = {Actes LMO '96},
	Editor = {Yves Dennebouy},
	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},
	Pages = {274--288},
	Publisher = {Springer-Verlag},
	Series = {LNCS},
	Title = {Programmable Coordination Medium},
	Volume = 1282,
	Year = {1997}}

@book{Deo74a,
	Author = {Deo, N.},
	Publisher = {Prentice-Hall, Inc. Upper Saddle River, NJ, USA},
	Title = {Graph Theory with Applications to Engineering and Computer Science},
	Year = {1974}}

@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},
	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},
	Month = jun,
	Pages = {158--167},
	Title = {Surfin' Network Resources Across the Web},
	Year = {1996}}

@phdthesis{Deri97a,
	Author = {Luca Deri},
	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},
	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{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)},
	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)},
	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}}

@article{Desm08a,
	Author = {Desmet, Lieven and Verbaeten, Petrus and Joosen, Wouter and Piessens, Frank},
	Doi = {10.1109/TSE.2007.70742},
	Issn = {0098-5589},
	Journal = {IEEE transactions on software engineering},
	Month = jan,
	Number = {1},
	Pages = {50--64},
	Title = {Provable protection against web application vulnerabilities related to session data dependencies},
	Url = {https://lirias.kuleuven.be/handle/123456789/161855},
	Volume = {34},
	Year = {2008},
	Bdsk-Url-1 = {https://lirias.kuleuven.be/handle/123456789/161855},
	Bdsk-Url-2 = {http://dx.doi.org/10.1109/TSE.2007.70742}}

@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},
	Month = jun,
	Pages = {258--278},
	Publisher = {Springer-Verlag},
	Series = {LNCS},
	Title = {Inlining of Virtual Methods},
	Volume = 1628,
	Year = {1999}}

@article{Deur00a,
	Author = {Deursen, {Arie van} and Paul Klint and Joost Visser},
	Doi = {10.1145/352029.352035},
	Journal = {ACM SIGPLAN Notices},
	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},
	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},
	Pages = {176-},
	Title = {Program Comprehension Risks and Opportunities in Extreme Programming},
	Year = {2001}}

@inproceedings{Deur02a,
	Author = {Deursen, {Arie van} and Leon Moonen},
	Booktitle = {Proceedings of the 3nd International Conference on Extreme Programming and Flexible Processes in Software Engineering (XP2002)},
	Editor = {M. Marchesi and G. Succi},
	Month = may,
	Title = {The Video Store Revisited --- Thoughts on Refactoring and Testing},
	Year = {2002}}

@inproceedings{Deur04a,
	Author = {Deursen, {Arie van} and Hofmeister, Christine and Koschke, Rainer and Moonen, Leon and Riva, Claudio},
	Booktitle = {Proceedings of the Fourth Working IEEE/IFIP Conference on Software Architecture (WICSA)},
	Key = {Deursen},
	Pages = {122--134},
	Title = {Symphony: View-Driven Software Architecture Reconstruction},
	Url = {http://csdl.computer.org/comp/proceedings/wicsa/2004/2172/00/21720122abs.htm},
	Year = {2004},
	Bdsk-Url-1 = {http://csdl.computer.org/comp/proceedings/wicsa/2004/2172/00/21720122abs.htm}}

@inproceedings{Deur97a,
	Author = {Deursen, {Arie van} and Paul Klint},
	Booktitle = {First ACM-SIGPLAN Workshop on Domain-Specific Languages; DSL'97},
	Editor = {S. Kamin},
	Month = jan,
	Pages = {109--127},
	Title = {Little Languages: Little Maintenance?},
	Year = {1997}}

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

@inproceedings{Deur99a,
	Author = {Deursen, {Arie van} and Tobias Kuipers},
	Booktitle = {Proceedings ICSM'99 (International Conference on Software Maintenance)},
	Editor = {Hongji Yang and Lee White},
	Month = sep,
	Pages = {40--49},
	Publisher = {IEEE},
	Title = {Building Document Generators},
	Year = {1999}}

@inproceedings{Deur99b,
	Abstract = {Many approaches to support (semi-automatic)
                  identification of objects in legacy code take the
                  data structures as starting point for candidate
                  classes. Unfortunately, legacy data structures tend
                  to grow over time, and may contain many unrelated
                  fields at the time of migration. We propose a method
                  for identifying objects by semi-automatically
                  restructuring the legacy data structures. Issues
                  involved include the selection of record fields of
                  interest, the identification of procedures actually
                  dealing with such fields, and the construction of
                  coherent groups of fields and procedures into
                  candidate classes. We explore the use of cluster and
                  concept analysis for the purpose of object
                  identification, and we illustrate their effect on a
                  100,000 LOC Cobol system. Furthermore, we use these
                  results to contrast clustering with concept analysis
                  techniques.},
	Author = {Deursen, {Arie van} and Tobias Kuipers},
	Booktitle = {ICSE},
	Pages = {246--255},
	Publisher = {IEEE Press},
	Title = {Identifying objects using cluster and concept analysis},
	Year = {1999}}

@article{Deut76a,
	Author = {L. Peter Deutsch and Daniel G. Bobrow},
	Journal = {CACM},
	Month = sep,
	Number = {9},
	Pages = {522--526},
	Title = {An Efficient, Incremental Garbage Collector},
	Volume = {19},
	Year = {1976}}

@inproceedings{Deut84a,
	Address = {Salt Lake City, Utah},
	Author = {L. Peter Deutsch and Allan M. Schiffman},
	Booktitle = {Proceedings POPL '84},
	Doi = {10.1145/800017.800542},
	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},
	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},
	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},
	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},
	Month = may,
	Number = {5},
	Pages = {34--49},
	Title = {LaSSIE: {A} Knowledge-Based Software Information System},
	Volume = {34},
	Year = {1991}}

@article{Deve84a,
	Author = {J. Devereux and P. H{\"a}berli and O. Smithies},
	Journal = {Nucleic Acids Research},
	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.},
	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},
	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},
	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},
	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},
	Journal = {Human-Computer Interaction},
	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}}

@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.},
	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)},
	Medium = {2},
	Note = {Extended version published in Scientific Annals of Computer Science},
	Title = {A Calculus of Evolving Objects},
	Url = {http://homepages.fh-regensburg.de/~mpool/mpool08/programme.html http://scg.unibe.ch/archive/papers/Deza08aEvolvingObjects.pdf},
	Year = {2008},
	Bdsk-Url-2 = {http://homepages.fh-regensburg.de/~mpool/mpool08/programme.html%20http://scg.unibe.ch/archive/papers/Deza08aEvolvingObjects.pdf}}

@article{Deza08b,
	Abstract = {The demands of developing modern, highly dynamic
                  applications have led to an increasing interest in
                  dynamic programming languages and mechanisms. Not
                  only must applications evolve over time, but the
                  object models themselves may need to be adapted to
                  the requirements of different run-time contexts.
                  Class-based models and prototype-based models, for
                  example, may need to co-exist to meet the demands of
                  dynamically evolving applications. Multi-dimensional
                  dispatch, fine-grained and dynamic software
                  composition, and run-time evolution of behaviour are
                  further examples of diverse mechanisms which may
                  need to co-exist in a dynamically evolving run-time
                  environment. How can we model the semantics of these
                  highly dynamic features, yet still offer some
                  reasonable safety guarantees? To this end we present
                  an original calculus in which objects can adapt
                  their behaviour at run-time. Both objects and
                  environments are represented by first-class mappings
                  between variables and values. Message sends are
                  dynamically resolved to method calls. Variables may
                  be dynamically bound, making it possible to model a
                  variety of dynamic mechanisms within the same
                  calculus. Despite the highly dynamic nature of the
                  calculus, safety properties are assured by a type
                  assignment system.},
	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},
	Medium = {2},
	Organization = {``A.I. Cuza'' University, Ia\c si, Rom\^ania},
	Pages = {63-98},
	Publisher = {``A.I. Cuza'' University Press, Ia\c si},
	Title = {A Calculus of Evolving Objects},
	Url = {http://www.info.uaic.ro/bin/Annals/XVIII http://scg.unibe.ch/archive/papers/Deza08bEvolvingObjects.pdf},
	Volume = {XVIII},
	Year = {2008},
	Bdsk-Url-2 = {http://www.info.uaic.ro/bin/Annals/XVIII%20http://scg.unibe.ch/archive/papers/Deza08bEvolvingObjects.pdf}}

@inproceedings{DiLu01a,
	Author = {Guiseppe Antonio {Di Lucca} and Massimiliano {Di Penta} and Anna Rita Fasolino and Pasquale Granato},
	Booktitle = {Proceedings Seventh IEEE Workshop on Empirical Studies of Software Maintenance},
	Month = oct,
	Publisher = {IEEE},
	Title = {Clone Analysis in the Web Era: an Approach to Identify Cloned Web Pages},
	Year = {2001}}

@inproceedings{DiLu02a,
	Address = {Oxford, England},
	Author = {Guiseppe Antonio {Di Lucca} and Massimiliano {Di Penta} and Anna Rita Fasolino},
	Booktitle = {Proceedings of the 26th Annual Computer Software and Application Conference},
	Month = aug,
	Pages = {481--486},
	Publisher = {IEEE},
	Title = {An Approach to Identify Duplicated Web Pages},
	Year = {2002}}

@book{Diac98a,
	Address = {Singapore},
	Author = {R. Diaconescu and K. Futatsugi},
	Publisher = {World Scientific},
	Title = {Cafe{OBJ} Report},
	Year = {1998}}

@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{Diaz89a,
	Address = {Barcelona, Spain},
	Editor = {J. D\'iaz and F. Orejas},
	Isbn = {3-540-53939-9},
	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},
	Month = mar,
	Publisher = {Springer-Verlag},
	Series = {LNCS},
	Title = {Proceedings {TAPSOFT}'89: Volume 2},
	Volume = {352},
	Year = {1989}}

@book{Diba99a,
	Author = {Giuseppe Di Battista and Peter Eades and Roberto Tamassia and Ioannis G. Tolls},
	Publisher = {Prentice-Hall},
	Title = {Graph Drawing --- Algorithms for the visualization of graphs},
	Year = {1999}}

@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},
	Location = {Toronto, Ontario, Canada},
	Pages = {339--348},
	Publisher = {IEEE Computer Society},
	Title = {Finding failures by cluster analysis of execution profiles},
	Year = {2001}}

@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},
	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{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},
	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},
	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},
	Pages = {177--197},
	Publisher = {ACM Press and Addison Wesley},
	Title = {Objects, Messages and Rules in Database Design},
	Year = {1989}}

@book{Dieh02a,
	Editor = {Stephan Diehl},
	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{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{Diet89a,
	Author = {Dietrich, Jr., Walter C. and Lee R. Nackman and Franklin Gracer},
	Booktitle = {Proceedings OOPSLA '89, ACM SIGPLAN Notices},
	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},
	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{Dig05a,
	Author = {Daniel Dig and Ralph Johnson},
	Booktitle = {Proceedings of 21st International Conference on Software Maintenance (ICSM 2005)},
	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)},
	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)},
	Pages = {427--436},
	Title = {Refactoring-aware Configuration Management for Object-Oriented Programs},
	Year = {2007}}

@article{Dig08a,
	Address = {Los Alamitos, CA, USA},
	Author = {Danny Dig and Kashif Manzoor and Ralph E. Johnson and Tien N. Nguyen},
	Date-Added = {2009-10-21 13:31:17 +0200},
	Date-Modified = {2009-10-22 14:32:13 +0200},
	Doi = {10.1109/TSE.2008.29},
	Issn = {0098-5589},
	Journal = {IEEE Transactions on Software Engineering},
	Number = {3},
	Pages = {321-335},
	Publisher = {IEEE Computer Society},
	Title = {Effective Software Merging in the Presence of Object-Oriented Refactorings},
	Volume = {34},
	Year = {2008},
	Bdsk-Url-1 = {10.1109/TSE.2008.29}}

@incollection{Dijk68a,
	Address = {New York},
	Author = {Edsgar W. Dijkstra},
	Booktitle = {Programming Languages},
	Editor = {F. Genuys},
	Pages = {43--112},
	Publisher = {Academic Press},
	Title = {Co-operating Sequential Processes},
	Year = {1968}}

@article{Dijk68b,
	Author = {Edsgar W. Dijkstra},
	Journal = {CACM},
	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},
	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},
	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},
	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},
	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},
	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},
	Publisher = {Springer Verlag},
	Title = {Predicate Calculus and Program Semantics},
	Year = {1990}}

@book{Diko92a,
	Author = {Marc Dik{\"o}tter},
	Publisher = {Ecole Polytechnique F\'ed\'erale de Lausanne (EPFL)},
	Title = {Le Calcul des Accepteurs: Une Approache Uniforme de l'Abstraction},
	Year = {1992}}

@article{Dimit04a,
	Author = {Sergey Dimitriev},
	Journal = {onBoard Online Magazine},
	Month = nov,
	Number = {1},
	Title = {Language Oriented Programming: The Next Programming Paradigm},
	Url = {http://www.onboard.jetbrains.com/is1/articles/04/10/lop/},
	Volume = {1},
	Year = {2004},
	Bdsk-Url-1 = {http://www.onboard.jetbrains.com/is1/articles/04/10/lop/}}

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

@book{Dipe05a,
	Address = {Milano},
	Editor = {Massimiliano {Di Penta} and Maarit Harsu},
	Isbn = {88-464-6396-X},
	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}}

@inproceedings{Ditt86a,
	Author = {K. Dittrich and W. Gotthard and P. Lockemann},
	Booktitle = {Proceedings of the International Workshop on Advanced Programming Environments},
	Pages = {353--371},
	Series = {LNCS},
	Title = {DAMOKLES, a Database System for Software Engineering Environments},
	Volume = {244},
	Year = {1986}}

@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},
	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},
	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},
	Misc = {July 10-14},
	Month = jul,
	Pages = {169--189},
	Publisher = {Cambridge University Press},
	Title = {The Treatment of Persistent Objects in Arjuna},
	Year = {1989}}

@inproceedings{Dmit01a,
	Author = {M. Dmitriev},
	Booktitle = {Proceedings of the Workshop on Engineering Complex Object-Oriented Systems for Evolution, in association with OOPSLA 2001},
	Month = oct,
	Title = {Towards Flexible and Safe Technology for Runtime Evolution of {Java} Language Applications},
	Year = {2001}}

@misc{Dmit04a,
	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}}

@inproceedings{Dmit04b,
	Author = {M. Dmitriev},
	Booktitle = {Proceedings of the Fourth International Workshop on Software and Performance},
	Pages = {139--150},
	Publisher = {ACM Press},
	Title = {Profiling Java Applications Using Code Hotswapping and Dynamic Call Graph Revelation},
	Year = {2004}}

@article{Doda89a,
	Author = {Mahesh Dodani and Charles Hughes and Michael Moshell},
	Journal = {BYTE},
	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},
	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},
	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},
	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},
	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},
	Number = {1},
	Pages = {87--98},
	Title = {Practical Object-Oriented Software Engineering},
	Volume = {4},
	Year = {1993}}

@article{Doda93b,
	Author = {Mahesh Dodani},
	Journal = {OOPS Messenger},
	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},
	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},
	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},
	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},
	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},
	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},
	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},
	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},
	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},
	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},
	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},
	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},
	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},
	Title = {Integrating Formal Specifications with Object-Oriented Software Engineering Methodologies: {A} Case Study},
	Year = {1995}}

@unpublished{Doda95c,
	Author = {Mahesh Dodani and J.H Perng},
	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},
	Note = {University of Iowa},
	Title = {Dynamic Modules for Establishing Relationships Between Collaborating Objects in Object-Oriented Programming},
	Type = {Draft},
	Year = {1995}}

@inproceedings{Doi88a,
	Address = {Oslo},
	Author = {Norihisa Doi and Yasushi Kodama and Ken Hirose},
	Booktitle = {Proceedings ECOOP '88},
	Editor = {S. Gjessing and K. Nygaard},
	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},
	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}}

@book{Dona76a,
	Author = {Jim Donahue},
	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},
	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},
	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{Dong07a,
	Author = {Xinyi Dong and Godfrey, M.W.},
	Booktitle = {ICSM 2007},
	Doi = {10.1109/ICSM.2007.4362650},
	Isbn = {978-1-4244-1256-3},
	Publisher = {IEEE Comp. Society},
	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{Dony88a,
	Address = {Oslo},
	Author = {Christophe Dony},
	Booktitle = {Proceedings ECOOP '88},
	Editor = {S. Gjessing and K. Nygaard},
	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},
	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},
	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},
	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},
	Month = apr,
	Number = {Rapport d'avancement 01.98},
	Pages = {2--29},
	Title = {Meta-modele de representation de hierarchies de classes},
	Year = {1998}}

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

@misc{Doors,
	Key = {Doors},
	Note = {http://www2.telelogic.com/products/doorsers/doors/index.cfm},
	Title = {Telelogic DOORS},
	Url = {http://www2.telelogic.com/products/doorsers/doors/index.cfm},
	Bdsk-Url-1 = {http://www2.telelogic.com/products/doorsers/doors/index.cfm}}

@inproceedings{Doue01a,
	Address = {Berlin, Heidelberg, and New York},
	Author = {Remi Douence and Olivier Motelet and Mario Sudholt},
	Booktitle = {Proceedings of the Third International Conference on Metalevel Architectures and Separation of Crosscutting Concerns (Reflection 2001)},
	Month = sep,
	Pages = {170--186},
	Publisher = {Springer-Verlag},
	Series = {Lecture Notes in Computer Science},
	Title = {A formal definition of crosscuts},
	Volume = {2192},
	Year = {2001}}

@article{Doue01b,
	Address = {Hingham, MA, USA},
	Author = {Douence, R\'{e}mi and S\"{u}dholt, Mario},
	Doi = {10.1023/A:1011549115358},
	Issn = {1388-3690},
	Journal = {Higher Order Symbol. Comput.},
	Number = {1},
	Pages = {7--34},
	Publisher = {Kluwer Academic Publishers},
	Title = {A Generic Reification Technique for Object-Oriented Reflective Languages},
	Volume = {14},
	Year = {2001},
	Bdsk-Url-1 = {http://dx.doi.org/10.1023/A:1011549115358}}

@techreport{Doue02a,
	Author = {R\'{e}mi Douence and Mario S\"{u}dholt},
	Institution = {Ecole des Mines de Nantes},
	Month = dec,
	Title = {A model and a tool for Event-based Aspect-Oriented Programming (EAOP)},
	Type = {Technical Report},
	Year = {2002}}

@inproceedings{Doue02b,
	Author = {Douence, R\'{e}mi and Fradet, Pascal and S\"{u}dholt, Mario},
	Booktitle = {GPCE'02: Proceedings of the 1st International Conference on Generative Programming and Component Engineering},
	Pages = {173-188},
	Publisher = {Springer-Verlag},
	Title = {A Framework for the Detection and Resolution of Aspect Interactions},
	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{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.},
	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},
	Medium = {2},
	Number = {2},
	Pages = {448-459},
	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}}

@inproceedings{Dova99c,
	Address = {Washington, DC, USA},
	Author = {D. Doval and S. Mancoridis and B. S.Mitchell},
	Booktitle = {STEP '99: Proceedings of the Software Technology and Engineering Practice},
	Isbn = {0-7695-0328-4},
	Pages = {73},
	Publisher = {IEEE Computer Society},
	Title = {Automatic Clustering of Software Systems Using a Genetic Algorithm},
	Year = {1999}}

@book{Dowd06a,
	Author = {Mark Dowd and John McDonald and Justin Schuh},
	Isbn = {0-321-44442-6},
	Month = nov,
	Publisher = {Addison Wesley Professional},
	Title = {The art of software security assessment},
	Year = {2006}}

@book{Dowd07a,
	Author = {Dowd and Mark},
	Note = {received, Suen},
	Publisher = {Addison-Wesley},
	Title = {Art of software security assessment},
	Year = {2007}}

@book{Down98a,
	Address = {Foster City, CA, USA},
	Author = {Troy Bryan Downing},
	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},
	Month = sep,
	School = {Politehnica University of Timisoara},
	Title = {Reverse Engineering Techniques for Lisp Systems},
	Url = {http://scg.unibe.ch/archive/external/Dozs07a.pdf},
	Year = {2007},
	Bdsk-Url-1 = {http://scg.unibe.ch/archive/external/Dozs07a.pdf}}

@inproceedings{Dozs08a,
	Abstract = {Many reverse engineering approaches have been
                  developed to analyze software systems written in
                  different languages like C/C++ or Java. These
                  approaches typically rely on a meta-model, that is
                  either specific for the language at hand or language
                  independent (e.g. UML). However, one language that
                  was hardly addressed is Lisp. While at first sight
                  it can be accommodated by current language
                  independent meta-models, Lisp has some unique
                  features (e.g. macros, CLOS entities) that are
                  crucial for reverse engineering Lisp systems. In
                  this paper we propose a suite of new visualizations
                  that reveal the special traits of the Lisp language
                  and thus help in understanding complex Lisp systems.
                  To validate our approach we apply them on several
                  large Lisp case studies, and summarize our
                  experience in terms of a series of recurring visual
                  patterns that we have detected.},
	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},
	Medium = {2},
	Pages = {223--232},
	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},
	Note = {http://www.drscheme.org/},
	Title = {{Dr}{Scheme}}}

@inproceedings{Drah03a,
	Address = {Los Alamitos CA},
	Author = {Dirk Draheim and Lukasz Pekacki},
	Booktitle = {International Workshop on Principles of Software Evolution (IWPSE 2003)},
	Pages = {131--136},
	Publisher = {IEEE Computer Society Press},
	Title = {Process-Centric Analytical Processing of Version Control Data},
	Year = {2003}}

@book{Drak98a,
	Author = {Caleb Drake},
	Publisher = {Prentice-Hall},
	Title = {Object-Oriented Programming with {C}++ and {Smalltalk}},
	Year = {1998}}

@inproceedings{Drav91a,
	Address = {New York, NY, USA},
	Author = {Richard P. Draves and Brian N. Bershad and Richard F. Rashid and Randall W. Dean},
	Booktitle = {SOSP '91: Proceedings of the thirteenth ACM symposium on Operating systems principles},
	Doi = {10.1145/121132.121155},
	Isbn = {0-89791-447-3},
	Location = {Pacific Grove, California, United States},
	Pages = {122--136},
	Publisher = {ACM Press},
	Title = {Using continuations to implement thread management and communication in operating systems},
	Year = {1991},
	Bdsk-Url-1 = {http://dx.doi.org/10.1145/121132.121155}}

@inproceedings{Drey09a,
	Author = {Drey, Zo{\'e} and Mercadal, Julien and Consel, Charles},
	Booktitle = {DSL WC'09: Proceedings of the 1st Working Conference on Domain-Specific Languages},
	Pages = {78--99},
	Title = {A Taxonomy-Driven Approach to Visually Prototyping Pervasive Computing Applications},
	Volume = {5658},
	Year = {2009}}

@inproceedings{Drie93a,
	Author = {Karel Driesen},
	Booktitle = {Proceedings OOPSLA '93, ACM SIGPLAN Notices},
	Month = oct,
	Pages = {259--270},
	Title = {Selector Table Indexing \& Sparse Arrays},
	Volume = {28},
	Year = {1993}}

@inproceedings{Drie95a,
	Address = {Aarhus, Denmark},
	Author = {Karel Driesen and Urs H{\"o}lzle and Jan Vitek},
	Booktitle = {Proceedings ECOOP '95},
	Editor = {W. Olthoff},
	Month = aug,
	Pages = {253--282},
	Publisher = {Springer-Verlag},
	Series = {LNCS},
	Title = {Message Dispatch on Pipelined Processors},
	Volume = {952},
	Year = {1995}}

@article{Dris89a,
	Author = {James R. Driscoll and Neil Sarnak and Daniel D. Sleator and Robert E. Tarjan},
	Journal = {Journal of Computer and System Sciences},
	Month = feb,
	Number = {1},
	Pages = {86--124},
	Title = {Making Data Structures Persistent},
	Volume = {38},
	Year = {1989}}

@inproceedings{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{Drus92a,
	Author = {Druschel, P. and Peterson, L.L. and Hutchinson, N.C.},
	Booktitle = {Distributed Computing Systems, 1992., Proceedings of the 12th International Conference on},
	Doi = {10.1109/ICDCS.1992.235002},
	Pages = {512 -520},
	Title = {Beyond micro-kernel design: decoupling modularity and protection in Lipto},
	Year = {1992},
	Bdsk-Url-1 = {http://dx.doi.org/10.1109/ICDCS.1992.235002}}

@inproceedings{Dubo87a,
	Address = {Monterey, CA},
	Author = {Eric Dubois and Jacques Hagelstein},
	Booktitle = {Proceedings of the Fourth International Workshop on Software Specifications and Design},
	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},
	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}}

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

@proceedings{Duca98d,
	Address = {Forschungszentrum Informatik, Haid-und-Neu-Strasse 10-14, 76131 Karlsruhe, Germany},
	Editor = {St\'ephane Ducasse and Joachim Weisbrod},
	Month = jun,
	Note = {FZI 6/7/98},
	Title = {Proceedings of the {ECOOP}'98 Workshop on Experiences in Object-Oriented Re-Engineering},
	Year = {1998}}

@proceedings{Duca99e,
	Editor = {St\'ephane Ducasse and Oliver Ciupke},
	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}}

@book{Duca99x,
	Editor = {St\'ephane Ducasse and Serge Demeyer},
	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}}

@techreport{Duco01a,
	Author = {R. Ducournau},
	Institution = {L.I.R.M.M., Montpellier},
	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{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},
	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},
	Month = oct,
	Pages = {16--24},
	Title = {Monotonic Conflict Resolution Mechanisms for Inheritance},
	Volume = {27},
	Year = {1992}}

@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},
	Publisher = {Presses Polytechniques et Universitaires Romandes},
	Title = {Smalltalk-80: Programmation par Objets},
	Year = {1991}}

@inproceedings{Dugg00a,
	Address = {Berlin Heidelberg},
	Author = {Dominic Duggan},
	Booktitle = {Proceedings ECOOP 2000},
	Editor = {Elisa bertino},
	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},
	Month = oct,
	Pages = {223--240},
	Title = {Modular Mixin-Based Inheritance for Application Frameworks},
	Year = {2001}}

@inproceedings{Dugg01b,
	Author = {Dominic Duggan},
	Booktitle = {Intl. Conf. on Functional Programming},
	Pages = {62--73},
	Title = {Type-Based Hot Swapping of Running Modules},
	Year = {2001}}

@inproceedings{Dugg02a,
	Author = {Sheryl L. Duggin and Barbara Bernal Thomas},
	Booktitle = {Proceedings of the 15th Conference on Software Engineering Education and Training (CSEET'02},
	Doi = {1093-0175/02},
	Publisher = {IEEE},
	Title = {An Historical Investigation of Graduate Software Engineering Curriculum},
	Year = {2002},
	Bdsk-Url-1 = {http://dx.doi.org/1093-0175/02}}

@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{Duhl88a,
	Author = {Joshua Duhl and Craig Damon},
	Booktitle = {Proceedings OOPSLA '88, ACM SIGPLAN Notices},
	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},
	Publisher = {Addison Wesley},
	Title = {Bugs in Writing},
	Year = {1998}}

@inproceedings{Duss89a,
	Author = {Patrick H. Dussud},
	Booktitle = {Proceedings OOPSLA '89, ACM SIGPLAN Notices},
	Month = oct,
	Pages = {215--220},
	Title = {{TICLOS}: An Implementation of {CLOS} for the Explorer Family},
	Volume = {24},
	Year = {1989}}

@article{Dutc06a,
	Address = {Amsterdam, The Netherlands, The Netherlands},
	Author = {Christopher Dutchyn and David B. Tucker and Shriram Krishnamurthi},
	Doi = {10.1016/j.scico.2006.01.003},
	Issn = {0167-6423},
	Journal = {Sci. Comput. Program.},
	Number = {3},
	Pages = {207--239},
	Publisher = {Elsevier North-Holland, Inc.},
	Title = {Semantics and scoping of aspects in higher-order languages},
	Volume = {63},
	Year = {2006},
	Bdsk-Url-1 = {http://dx.doi.org/10.1016/j.scico.2006.01.003}}

@book{Duto97a,
	Author = {Thierry Dutoit},
	Isbn = {1402003692},
	Publisher = {Kluwer Academic Publishers},
	Title = {An Introduction to Text-to-Speech Synthesis},
	Year = {1997}}

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

@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})},
	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},
	Month = jun,
	Title = {Enhancing {System} {Analysis} by {Means} of {Formal} {Concept} {Analysis}},
	Year = {1999}}

@techreport{Dwye96a,
	Author = {Mattew B. Dwyer and Mattew J. Craig},
	Institution = {CIS TR},
	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)},
	Month = jun,
	Title = {Object-Oriented Coordination Abstractions for Parallel Software},
	Url = {http://www.cis.ksu.edu/~dwyer/papers/ooca.ps},
	Year = {1997},
	Bdsk-Url-1 = {http://www.cis.ksu.edu/~dwyer/papers/ooca.ps}}

@book{Dybv03a,
	Author = {Kent Dybvig},
	Isbn = {0-262-54148-3},
	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}}

@book{Dybv87a,
	Author = {R. Kent Dybvig},
	Isbn = {0-13-791864-X},
	Publisher = {Prentice-Hall},
	Title = {The {SCHEME} Programming Language},
	Year = {1987}}

@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},
	Publisher = {Addison Wesley},
	Title = {State Patterns},
	Year = {1997}}

@techreport{ECMA83a,
	Author = {{ECMA}},
	Institution = {ECMA},
	Title = {Office Document Architecture},
	Type = {TC 29/83/56, Fourth Working Draft},
	Year = {1983}}

@book{ECMA97a,
	Editor = {ECMA},
	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},
	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,
	Author = {Steve Easterbrook and Janice Singer and Margaret-Anne Storey and Daniela Damian},
	Booktitle = {Guide to Advanced Empirical Software Engineering},
	Editor = {Forrest Shull and Janice Singer and Daq I. K. Sjoberg},
	Publisher = {Springer verlag},
	Title = {Selecting Empirical Methods for Software Engineering Research},
	Year = {2008}}

@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},
	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{Eber94a,
	Author = {J. Ebert and G. Engels},
	Booktitle = {Proceedings, Object-Oriented Methodologies and Systems},
	Editor = {E. Bertino and S. Urban},
	Pages = {142--157},
	Publisher = {Springer-Verlag},
	Series = {LNCS},
	Title = {Structural and Behavioral Views of {OMT}-Classes},
	Volume = {858},
	Year = {1994}}

@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{Ebra08a,
	Author = {Peter Ebraert},
	Booktitle = {2008 15th Working Conference on Reverse Engineering},
	Pages = {319-322},
	Title = {First-Class Change Objects for Feature-Oriented Programming},
	Year = {2008}}

@phdthesis{Ebra09a,
	Author = {Peter Ebraert},
	School = {Vrije Universiteit Brussels},
	Title = {A bottom-up approach to program variation},
	Year = {2009}}

@misc{Ecke03a,
	Author = {Bruce Eckel},
	Key = {Ecke03a},
	Note = {http://www.mindview.net/WebLog/log-0025},
	Title = {{Strong} {Typing} vs. {Strong} {Testing}},
	Url = {http://www.mindview.net/WebLog/log-0025},
	Year = {2003},
	Bdsk-Url-1 = {http://www.mindview.net/WebLog/log-0025}}

@misc{Eclipse03a,
	Key = {Eclipse03a},
	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/}}

@article{Edel88a,
	Author = {Mark Edel},
	Doi = {10.1109/32.7621},
	Journal = {IEEE Trans on Software Engineering},
	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}}

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

@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{Edwa97a,
	Address = {New York, NY, USA},
	Author = {Edwards, W. Keith},
	Booktitle = {UIST '97: Proceedings of the 10th annual ACM symposium on User interface software and technology},
	Date-Added = {2009-10-21 13:01:42 +0200},
	Date-Modified = {2009-10-21 13:01:51 +0200},
	Doi = {/10.1145/263407.263533},
	Isbn = {0-89791-881-9},
	Location = {Banff, Alberta, Canada},
	Pages = {139--148},
	Publisher = {ACM},
	Title = {Flexible conflict detection and management in collaborative applications},
	Year = {1997},
	Bdsk-Url-1 = {/10.1145/263407.263533}}

@inproceedings{Edwi02c,
	Address = {Calgary, AB, Canada},
	Author = {Edwin Hautus},
	Booktitle = {Software Engineering and Applications - 2002},
	Publisher = {ACTA Press},
	Title = {Improving Java Software through Package Structure Analysis},
	Year = {2002}}

@techreport{Eert91a,
	Author = {Henk Eertink and Dietmar Wolz},
	Institution = {University of Twente},
	Month = may,
	Number = {91/016},
	Title = {Symbolic Execution of {LOTOS} Specifications},
	Type = {Memoranda Informatica 91-47, TIOS},
	Year = {1991}}

@article{Egbe92a,
	Author = {Parris K. Egbert and William J. Kubitz},
	Journal = {IEEE Computer (Special Issue on Inheritance \& Classification)},
	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},
	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},
	Month = oct,
	Pages = {166--177},
	Title = {{ET}++ Swaps Manager: Using Object Technology in the Financial Engineering Domain},
	Volume = {27},
	Year = {1992}}

@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{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{Ehri90a,
	Address = {Noordwijkerhout},
	Author = {H-D. Ehrich and Joseph A. Goguen and Amilcar Sernadas},
	Booktitle = {Proc. REX/FOOLS Workshop},
	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},
	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{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},
	Number = {4},
	Pages = {396--412},
	Title = {Visualizing Software Changes},
	Volume = {28},
	Year = {2002}}

@article{Eick92a,
	Author = {Stephen G. Eick and Joseph L. Steffen and Eric E., Jr., Sumner},
	Journal = {IEEE Transactions on Software Engineering},
	Month = nov,
	Note = {Depth},
	Number = {11},
	Pages = {957--968},
	Title = {{SeeSoft}---A Tool for Visualizing Line Oriented Software Statistics},
	Volume = {18},
	Year = {1992}}

@article{Eick93a,
	Author = {Christoph F. Eick and Bogdan Czejdo},
	Journal = {JOOP},
	Month = oct,
	Number = {6},
	Pages = {56--62},
	Title = {Reactive rules for {C++}},
	Volume = {6},
	Year = {1993}}

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

@article{Eick95a,
	Author = {Stephen G. Eick and Paul J. Lucas},
	Journal = {Software Practice and Experience},
	Number = {4},
	Pages = {399--409},
	Title = {Displaying Trace Files},
	Volume = {26},
	Year = {1995}}

@article{Eick95b,
	Author = {Stephen G. Eick and Graham J. Wills},
	Journal = {European Journal of Operational Research},
	Pages = {445--459},
	Title = {High Interaction Graphics},
	Url = {citeseer.ist.psu.edu/eick94high.html},
	Volume = {84},
	Year = {1995},
	Bdsk-Url-1 = {citeseer.ist.psu.edu/eick94high.html}}

@inproceedings{Eide01a,
	Author = {Eric Eide and Alastair Reid and Matthew Flatt and Jay Lepreau},
	Booktitle = {Workshop on Advanced Separation of Concerns in Software Engineering},
	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{Eise01a,
	Author = {Thomas Eisenbarth and Rainer Koschke and Daniel Simon},
	Booktitle = {Proceedings of ICSM '01 (International Conference on Software Maintenance)},
	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)},
	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},
	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},
	Month = mar,
	Number = {3},
	Pages = {210--224},
	Title = {Locating Features in Source Code},
	Volume = {29},
	Year = {2003}}

@inproceedings{Eise05a,
	Address = {Los Alamitos CA},
	Author = {Eisenberg, Andrew and De Volder, Kris},
	Booktitle = {Proceedings IEEE International Conference on Software Maintenance (ICSM 2004)},
	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{Eise93a,
	Author = {Susan Eisenbach and Ross Paterson},
	Booktitle = {Proceedings of the 26th Annual Hawaii International Conference on System Sciences},
	Publisher = {IEEE Computer Society Press},
	Title = {Pi-Calculus Semantics of the Concurrent Configuration Language Darwin},
	Url = {ftp://dse.doc.ic.ac.uk/dse-papers/darwin/formal.ps.Z},
	Volume = {2},
	Year = {1993},
	Bdsk-Url-1 = {ftp://dse.doc.ic.ac.uk/dse-papers/darwin/formal.ps.Z}}

@inproceedings{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},
	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,
	Author = {Torbj{\"o}rn Ekman and G{\"o}rel Hedin},
	Journal = {Journal of Object Technology},
	Number = {9},
	Pages = {455--475},
	Title = {Pluggable checking and inferencing of non-null types for {Java}},
	Volume = {6},
	Year = {2007}}

@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},
	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 = {New York, NY, USA},
	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.},
	Location = {Montreal, Quebec, Canada},
	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},
	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},
	Pages = {102--112},
	Publisher = {ACM Press},
	Title = {Prioritizing test cases for regression testing},
	Year = {2000}}

@article{Elba03a,
	Author = {S. Elbaum and P. Kallakuri and Malishevsky, A. G. and Rothermel, G. and Kanduri, S.},
	Journal = {Journal of Software Testing, Verification, and Reliability},
	Title = {Understanding the effects of changes on the cost-effectiveness of regression testing techniques},
	Year = {2003}}

@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},
	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},
	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},
	Publisher = {Addison Wesley},
	Title = {Principles of Object-Oriented Software Development},
	Year = {1995}}

@article{Elli80a,
	Author = {Clarence Ellis and Gary J. Nutt},
	Journal = {ACM Computing Surveys},
	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},
	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},
	Title = {The Modelling and Analysis of Coordination Systems},
	Type = {Technical Report},
	Year = {1992}}

@inproceedings{Elli99a,
	Author = {Susan Elliott Sim and Charles L.A. Clarke and Richard C. Holt and Anthony M. Cox},
	Booktitle = {International Conference on Software Maintenant (ICSM)},
	Doi = {10.1109/ICSM.1999.792636},
	Issn = {1063-6773},
	Pages = {381--391},
	Publisher = {IEEE CS},
	Title = {Browsing and Searching Software Architectures},
	Year = {1999},
	Bdsk-Url-1 = {http://dx.doi.org/10.1109/ICSM.1999.792636}}

@book{Elma94a,
	Author = {Ramez Elmasri and Shamkant B. Navathe},
	Isbn = {0-8053-1753-8},
	Publisher = {Benjamin/Cummings},
	Title = {Fundamentals of Database Systems},
	Year = {1994}}

@inproceedings{Elra02a,
	Address = {New York NY},
	Author = {Mohammad El-Ramly and Eleni Stroulia and Paul Sorenson},
	Booktitle = {Proceedings ACM International Conference on Software Engineering and Knowledge Engineering},
	Pages = {447--454},
	Publisher = {ACM Press},
	Title = {Recovering software requirements from system-user interaction traces},
	Year = {2002}}

@article{Elrad01a,
	Author = {Elrad, Tzilla and Filman, Robert E. and Bader, Atef},
	Journal = {cacm},
	Month = oct,
	Number = 10,
	Title = {Aspect-Oriented Programming},
	Volume = 44,
	Year = {2001}}

@inproceedings{Emer84a,
	Author = {Thomas Emerson},
	Booktitle = {Proceedings of the 7th International Conference on Software Engineering (ICSE)},
	Title = {A Discriminant Metric for Module Cohesion},
	Year = {1984}}

@techreport{Engb86a,
	Author = {Uffe Engberg and M. Nielsen},
	Institution = {University of Aarhus},
	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},
	Month = may,
	Pages = {147--161},
	Publisher = {Springer-Verlag},
	Series = {LNCS},
	Title = {Petri Nets as Models of Linear Logic},
	Volume = {431},
	Year = {1990}}

@article{Enge03a,
	Author = {Engelbrecht, R.L. and Kourie, D.G.},
	Doi = {10.1049/ip-sen:20030582},
	Issn = {1462-5970},
	Journal = {Software, IEE Proceedings},
	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{Enge96a,
	Address = {Linz, Austria},
	Author = {Vadim Engelson and Dag Fritzson and Peter Fritzson},
	Booktitle = {Proceedings ECOOP '96},
	Editor = {P. Cointe},
	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}}

@book{Enja93a,
	Address = {Wurzburg, Germany},
	Editor = {P.Enjalbert and Finkel, K.W.Wagner, A.},
	Isbn = {3-540-56503-5},
	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},
	Publisher = {Springer-Verlag},
	Series = {LNCS},
	Title = {Proceedings of {STACS} '94 11th Annual Symposium on Theoretical Aspects of Computer Science},
	Volume = {775},
	Year = {1994}}

@inproceedings{Eppi91a,
	Author = {Steven D. Eppinger, David A. Gebala},
	Booktitle = {ASME Conference on Design Theory and Methodology},
	Note = {Miami},
	Pages = {227--233},
	Title = {Methods for Analyzing Design Procedures},
	Year = {1991}}

@inproceedings{Epst88a,
	Author = {Danny Epstein and Wilf R. LaLonde},
	Booktitle = {Proceedings OOPSLA '88, ACM SIGPLAN Notices},
	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},
	Publisher = {Springer},
	Title = {Advances in Software Engineering},
	Year = {2002}}

@book{Erik98a,
	Author = {Hans-Erik Eriksson and Magnus Penker},
	Isbn = {0-471-19161-2},
	Publisher = {John Wiley \& Sons},
	Title = {{UML} Toolkit},
	Year = {1998}}

@article{Erli00a,
	Address = {Piscataway, NJ, USA},
	Author = {Len Erlikh},
	Doi = {10.1109/6294.846201},
	Journal = {IT Professional},
	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}}

@inproceedings{Erli00b,
	Author = {Erlingsson, U. and Schneider, F.B.},
	Booktitle = {IEEE Symposium on Security and Privacy},
	Pages = {246-255},
	Title = {IRM enforcement of Java stack inspection},
	Year = {2000}}

@phdthesis{Erli04a,
	Address = {Ithaca, NY, USA},
	Author = {Erlingsson, Ulfar},
	Note = {Adviser-Schneider, Fred B.},
	Order_No = {AAI3114521},
	Publisher = {Cornell University},
	School = {Cornell University},
	Title = {The inlined reference monitor approach to security policy enforcement},
	Year = {2004}}

@article{Erli06a,
	Address = {New York, NY, USA},
	Author = {Erlingsson, \'{U}lfar and MacCormick, John},
	Doi = {10.1145/1151374.1151393},
	Issn = {0163-5980},
	Journal = {SIGOPS Oper. Syst. Rev.},
	Number = {3},
	Pages = {93--101},
	Publisher = {ACM},
	Title = {Ad hoc extensibility and access control},
	Volume = {40},
	Year = {2006},
	Bdsk-Url-1 = {http://dx.doi.org/10.1145/1151374.1151393}}

@inproceedings{Erli99a,
	Author = {Erlingsson, U. and Schneider, F.B.},
	Booktitle = {Proc. Workshop on New Security Paradigms (NSPW 1999)},
	Pages = {87-95},
	Title = {SASI enforcement of security policies: a retrospective},
	Year = {2000}}

@techreport{Erni08a,
	Abstract = {Today's programming language models support a wide
                  variety of mechanisms to share or define the
                  behavior of objects but this often addresses a
                  single object only. As there are operations that are
                  related to a group of objects rather than to a
                  single object, we propose a way to define how those
                  objects operate as group, when stored inside a data
                  container (e.g. Collection, Set, ...). We present a
                  prototype of Collective Behavior in Java that
                  enables some basic collective functionality.},
	Author = {David Erni},
	Institution = {University of Bern},
	Month = aug,
	Title = {{JAG} --- a Prototype for Collective Behavior in {Java}},
	Type = {Bachelor's thesis},
	Url = {http://scg.unibe.ch/archive/projects/Erni08a.pdf},
	Year = {2008},
	Bdsk-Url-1 = {http://scg.unibe.ch/archive/projects/Erni08a.pdf}}

@techreport{Erni08b,
	Abstract = {This document is an introduction to hacking the Java
                  compiler. An introduction to the Java compiler is
                  given. Two examples are exercised, a simple hello
                  world and a AST rewriting plugin.},
	Author = {David Erni},
	Institution = {University of Bern},
	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},
	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{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)},
	Location = {Darmstadt, Germany},
	Month = jul,
	Pages = {303--329},
	Publisher = {Springer Verlag},
	Series = {LNCS},
	Title = {Higher-order hierarchies},
	Year = {2003}}

@inproceedings{Erns98,
	Abstract = {"\emph{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."},
	Author = {"Michael Ernst and Craig Kaplan and Craig Chambers"},
	Booktitle = {"{ECOOP}~'98---Object-Oriented Programming"},
	Editor = {"Eric Jul"},
	Isbn = {"3-540-64737-6"},
	Issn = {"0302-9743"},
	Pages = {"186--211"},
	Publisher = {"Springer"},
	Referencedby = {"\cite{1998:oois:kristensen}"},
	Series = {"Lecture Notes in Computer Science"},
	Title = {"Predicate Dispatching: {A} Unified Theory of Dispatch"},
	Volume = {"1445"},
	Year = {"1998"}}

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

@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},
	Month = oct,
	Number = {4},
	Pages = {383--430},
	Title = {Impact of Software Engineering Research on the Practice of Software Configuration Management},
	Volume = {14},
	Year = {2005}}

@incollection{Estu94a,
	Author = {J. Estublier and R. Casallas},
	Booktitle = {Trends in Software: Configuration Management},
	Editor = {W. F. Tichy},
	Pages = {99--134},
	Publisher = {Wiley},
	Title = {The Adele Configuration Manager},
	Volume = {2},
	Year = {1994}}

@book{Etie92a,
	Address = {Paris, France},
	Editor = {D.Etiemble and J.C.Syre},
	Isbn = {3-540-55599-4},
	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},
	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},
	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 = {Patrick Th. Eugster and Pascal A. Felber and Rachid Guerraoui and {Anne-Marie} Kermarrec},
	Doi = {10.1145/857076.857078},
	Journal = {{ACM} Comput. Surv.},
	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}}

@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,
	Author = {Evans and Eric},
	Publisher = {Addison-Wesley},
	Title = {Domain-driven design},
	Year = {2004}}

@inproceedings{Evan99a,
	Address = {Oakland, CA},
	Author = {David Evans and Andrew Twyman},
	Booktitle = {Proceedings of the 1999 IEEE Symposium on Security and Privacy},
	Month = may,
	Title = {{Flexible Policy-Directed Code Safety}},
	Year = {1999}}

@book{Ever74a,
	Address = {London},
	Author = {B. Everitt},
	Publisher = {Heineman Educational Books},
	Title = {Cluster Analysis},
	Year = {1974}}

@inproceedings{Ewin86a,
	Author = {Juanita J. Ewing},
	Booktitle = {Proceedings OOPSLA '86, ACM SIGPLAN Notices},
	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},
	Pages = {1--19},
	Publisher = {Springer-Verlag},
	Series = {LNCS},
	Title = {Issues in Extending a Relational System with Object-Oriented Features},
	Volume = {858},
	Year = {1994}}

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

@article{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 = {Luc Fabresse and Christophe Dony and Marianne Huchard},
	Doi = {10.1016/j.cl.2007.05.002},
	Issn = {1477-8424},
	Journal = {Computer Languages, Systems and Structures},
	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}}

@article{Fabr74a,
	Author = {R.S. Fabry},
	Journal = {CACM},
	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}}

@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},
	Location = {Santa Barbara, California},
	Pages = {19--19},
	Publisher = {USENIX Association},
	Title = {{KHEPERA}: a system for rapid implementation of domain specific languages},
	Url = {http://www.cs.unc.edu/~faith/faith-dsl-1997.ps},
	Year = {1997},
	Bdsk-Url-1 = {http://www.cs.unc.edu/~faith/faith-dsl-1997.ps}}

@techreport{Fank98a,
	Author = {Simon Fankhauser},
	Institution = {University of Bern},
	Month = jan,
	Title = {Installation einer Datenbank am Astronomischen Institut der Universit{\"a}t Bern},
	Type = {Informatikprojekt},
	Url = {http://scg.unibe.ch/archive/projects/Fank98a-bericht.pdf http://scg.unibe.ch/archive/projects/Fank98a-hb.pdf},
	Year = {1998},
	Bdsk-Url-1 = {http://scg.unibe.ch/archive/projects/Fank98a-bericht.pdf%20http://scg.unibe.ch/archive/projects/Fank98a-hb.pdf}}

@inproceedings{Fant98a,
	Author = {Richard Fanta and Vaclav Rajlich},
	Booktitle = {Proceedings of the International Conference on Software Maintenance},
	Title = {Reengineering Object-Oriented Code},
	Year = {1998}}

@book{Farl98a,
	Author = {Jim Farley},
	Isbn = {1-56592-206-9},
	Publisher = {O'Reilly},
	Title = {Java Distributed Computing},
	Year = {1998}}

@inproceedings{Farr82a,
	Author = {R. Farrow},
	Booktitle = {ACM SIGPLAN Notices, Proceedings 1982 Symposium on Compiler Construction},
	Month = jun,
	Pages = {160--171},
	Title = {{LINGUIST}-86: Yet Another Translator Writing System Based on Attribute Grammars},
	Volume = {17},
	Year = {1982}}

@inproceedings{Faus90a,
	Author = {John E. Faust and Henry M. Levy},
	Booktitle = {Proceedings OOPSLA/ECOOP '90, ACM SIGPLAN Notices},
	Month = oct,
	Pages = {278--288},
	Title = {The Performance of an Object-Oriented Threads Package},
	Volume = {25},
	Year = {1990}}

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

@inproceedings{Favr03a,
	Author = {Jean-Marie Favre},
	Booktitle = {Proceedings of the International Workshop on Evolution of Large-Scale Industrial Software 2003},
	Month = sep,
	Title = {Meta-Model and Model Co-Evolution within the 3D Software Space},
	Year = {2003}}

@inproceedings{Favr04a,
	Address = {Los Alamitos CA},
	Author = {Jean-Marie Favre},
	Booktitle = {Proceedings of 11th Working Conference on Reverse Engineering (WCRE 2004)},
	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}}

@book{Favr06a,
	Author = {Jean-Marie Favre and Jacky Estublier and Mireille Blay},
	Month = {feb},
	Note = {ISBN: 2-7462-12-12-7},
	Pages = {240},
	Publisher = {Hermes-Lavoisier},
	Title = {L'ing\'enierie dirig\'ee par les mod\`eles: au-del\`a du MDA},
	Year = {2006}}

@article{Faya97a,
	Author = {Mohamed E. Fayad and Douglas C. Schmidt},
	Journal = {Communications of the ACM},
	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},
	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},
	Pages = {240--261},
	Publisher = {Springer-Verlag},
	Series = {LNCS},
	Title = {Object-Oriented Extendibility in Hermes/{ST}, a Transactional Distributed Programming Environment},
	Volume = {791},
	Year = {1994}}

@book{Feat05a,
	Author = {Michael C. Feathers},
	Isbn = {0-13-117705-2},
	Publisher = {Prentice Hall},
	Title = {Working Effectively with Legacy Code},
	Year = {2005}}

@inproceedings{Feat89a,
	Address = {New York, NY, USA},
	Author = {Feather, Martin S.},
	Booktitle = {IWSSD '89: Proceedings of the 5th international workshop on Software specification and design},
	Date-Added = {2009-10-21 12:59:58 +0200},
	Date-Modified = {2009-10-21 13:00:10 +0200},
	Doi = {10.1145/75199.75226},
	Isbn = {0-89791-305-1},
	Location = {Pittsburgh, Pennsylvania, United States},
	Pages = {169--176},
	Publisher = {ACM},
	Title = {Detecting interference when merging specification evolutions},
	Year = {1989},
	Bdsk-Url-1 = {http://dx.doi.org/10.1145/75199.75226}}

@inproceedings{Feel92a,
	Author = {Michael J. Feeley and Henry M. Levy},
	Booktitle = {Proceedings OOPSLA '92, ACM SIGPLAN Notices},
	Month = oct,
	Pages = {247--262},
	Title = {Distributed Shared Memory with Versioned Objects},
	Volume = {27},
	Year = {1992}}

@article{Feij98a,
	Address = {New York, NY, USA},
	Author = {Loe Feijs and Roel De Jong},
	Doi = {10.1145/290133.290151},
	Issn = {0001-0782},
	Journal = {Communication of the ACM},
	Number = {12},
	Pages = {73--78},
	Publisher = {ACM Press},
	Title = {{3D} visualization of software architectures},
	Volume = {41},
	Year = {1998},
	Bdsk-Url-1 = {http://dx.doi.org/10.1145/290133.290151}}

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

@inproceedings{Feij99a,
	Address = {Toulouse, France},
	Author = {Loe M.G. Feijs},
	Booktitle = {Proceedings of FM '99},
	Month = sep,
	Publisher = {Springer Verlag},
	Series = {LNCS},
	Title = {Modelling Microsoft {COM} Using $\pi$-calculus},
	Volume = 1709,
	Year = {1999}}

@techreport{Feil91a,
	Author = {Peter H. Feiler},
	Institution = {Carnegie-Mellon University},
	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},
	Publisher = {Addison Wesley},
	Title = {Essential OpenDoc},
	Year = {1996}}

@inproceedings{Feld02a,
	Author = {Yishai A. Feldman},
	Booktitle = {Extreme Programming and Agile Processes in Software Engineering},
	Editor = {Michele Marchesi and Giancarlo Succi},
	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{Feld79a,
	Author = {J.A. Feldman},
	Journal = {CACM},
	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}}

@book{Fell01a,
	Author = {Matthias Felleisen and Robert Bruce Findler and Matthew Flatt and Shiram Krishnamurthi},
	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},
	Publisher = {The MIT Press},
	Title = {How to Design Programs},
	Url = {http://www.htdp.org/},
	Year = {2003},
	Bdsk-Url-1 = {http://www.htdp.org/}}

@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},
	Publisher = {MIT Press},
	Title = {A Little {Java}, {A} Few Patterns},
	Year = {1998}}

@inproceedings{Fent89a,
	Author = {Jay Fenton and Kent Beck},
	Booktitle = {Proceedings OOPSLA '89, ACM SIGPLAN Notices},
	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},
	Note = {06-8147-I*, envoye a l'inria lille le 19 aout},
	Publisher = {International Thomson Computer Press},
	Title = {Software Metrics: {A} Rigorous and Practical Approach},
	Year = {1996}}

@article{Fent99a,
	Address = {Los Alamitos, CA, USA},
	Author = {Norman E. Fenton and Martin Neil},
	Doi = {10.1109/32.815326},
	Issn = {0098-5589},
	Journal = {IEEE Transactions on Software Engineering},
	Number = {5},
	Pages = {675-689},
	Publisher = {IEEE Computer Society},
	Title = {A Critique of Software Defect Prediction Models},
	Volume = {25},
	Year = {1999},
	Bdsk-Url-1 = {http://dx.doi.org/10.1109/32.815326}}

@techreport{Ferb83a,
	Author = {Jacques Ferber},
	Institution = {Universite de Paris VI},
	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},
	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},
	Month = oct,
	Pages = {317--326},
	Title = {Computational Reflection in Class-Based Object-Oriented Languages},
	Volume = {24},
	Year = {1989}}

@book{Ferb95a,
	Author = {Jacques Ferber},
	Publisher = {InterEditions},
	Title = {Les Syst\`emes Multiagents: Vers une Intelligence Collective},
	Year = {1995}}

@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{Fere94a,
	Address = {Budapest, Hungary},
	Author = {Szabolcs Ferenczi},
	Booktitle = {Proceedings of the 2nd Austrian-Hungarian Workshop on Transputer Applications},
	Editor = {Szabolcs Ferenczi and Peter Kacsuk},
	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},
	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},
	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}}

@misc{Ferl01c,
	Author = {Jacques A. Ferland and Daniel Costa},
	Title = {Heuristic Search Methods for Combinatorial Programming Problems},
	Url = {http://www.iro.umontreal.ca/~ferland/Genetic/Heur_Search_Methods_Ferland_Costa.pdf},
	Year = {2001},
	Bdsk-Url-1 = {http://www.iro.umontreal.ca/~ferland/Genetic/Heur_Search_Methods_Ferland_Costa.pdf}}

@article{Ferr00a,
	Address = {Duluth, MN, USA},
	Author = {GianLuigi Ferrari and Ugo Montanari},
	Doi = {10.1006/inco.1999.2825},
	Issn = {0890-5401},
	Journal = {Inf. Comput.},
	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{Ferr82a,
	Author = {J.C. Ferrans},
	Booktitle = {Proceedings of the First ACM SIGOA Conference},
	Pages = {123--130},
	Title = {{SEDL} --- {A} Language for Specifying Integrity Constraints on Office Forms},
	Year = {1982}}

@inproceedings{Ferr89a,
	Author = {Patrick J. Ferrel and Robert F. Meyer},
	Booktitle = {Proceedings OOPSLA '89, ACM SIGPLAN Notices},
	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},
	Month = may,
	Pages = {162--176},
	Publisher = {Springer-Verlag},
	Series = {LNCS},
	Title = {Towards the Unification of Models of Concurrency},
	Volume = {431},
	Year = {1990}}

@article{Ferr96a,
	Author = {Gian-Luigi Ferrari and Ugo Montanari and Paola Quaglia},
	Journal = {Theoretical Computer Science},
	Month = nov,
	Number = {1},
	Pages = {53--103},
	Title = {A $\pi$-calculus with explicit substitutions},
	Volume = {168},
	Year = {1996}}

@inproceedings{Ferr96b,
	Address = {Philadelphia, Pennsylvania},
	Author = {William Ferreira and Matthew Hennessy and Alan Jeffrey},
	Booktitle = {Proceedings of the 1996 {ACM} {SIGPLAN} International Conference on Functional Programming},
	Month = may,
	Pages = {201--212},
	Title = {A Theory of Weak Bisimulation for Core {CML}},
	Year = {1996}}

@article{Ferr99a,
	Author = {Paolo Ferragina and Roberto Grossi},
	Journal = {Journal of the ACM},
	Number = {2},
	Pages = {236--280},
	Title = {The String {B}-tree: A New Data Structure for String Search in External Memory and its Applications},
	Url = {citeseer.ist.psu.edu/ferragina98string.html},
	Volume = {46},
	Year = {1999},
	Bdsk-Url-1 = {citeseer.ist.psu.edu/ferragina98string.html}}

@book{Few04a,
	Author = {Stephen Few},
	Isbn = {0-970-60199-9},
	Publisher = {Analytics Press},
	Title = {Show me the numbers: Designing Tables and Graphs to Enlighten},
	Year = {2004}}

@book{Few06a,
	Author = {S. Few},
	Isbn = {0596100167 978-0596100162},
	Publisher = {OReilly},
	Title = {Information Dashboard Design},
	Year = {2006}}

@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)},
	Month = oct,
	Number = {10},
	Pages = {22--39},
	Title = {Object-Oriented and Conventional Analysis and Design Methodologies},
	Volume = {25},
	Year = {1992}}

@techreport{Fier07a,
	Abstract = {Java Wiretap is a profiler tool that instruments
                  Java applications and allows a reverse engineer to
                  directly control the extraction of behavioral data
                  units (features) and the level of detail of the
                  dynamic data in a well-defined format. Java Wiretap
                  captures fine-grained dynamic data such as message
                  semds (activations), field access and instance
                  tracking. The extracted model can then be used by a
                  reverse engineering platform for further analysis in
                  reverse engineering environments like Moose extended
                  with DynaMoose for Feature Analysis and Object Flow
                  Analysis, Java Wiretap allows the user to trace
                  different triggerable actions of an application,
                  each representing different features, which can then
                  be treated as distinct feature entities when
                  performing feature analysis. To control the large
                  volume of detailed dynamic information, Java Wiretap
                  allows selective instrumentation of an application
                  at package level.},
	Author = {Julien Fierz},
	Institution = {University of Bern},
	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},
	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},
	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{Film05a,
	Editor = {Filman, R. and Elrad, T. and Ak\c{s}it, M. and Clarke, S.},
	Publisher = {Addison-Wesley},
	Title = {Aspect-Oriented Software Development},
	Year = {2005}}

@book{Film84a,
	Author = {Robert E. Filman and Daniel P. Friedman},
	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},
	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}}

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

@book{Fink92a,
	Address = {Cachan, France},
	Editor = {A. Finkel and M. Jantzen},
	Isbn = {3-540-55210-3},
	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},
	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}}

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

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

@book{Fisc93a,
	Author = {Alice E. Fischer and Frances S. Grodzinsky},
	Isbn = {0-13-042219-3},
	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},
	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},
	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{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{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},
	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},
	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},
	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}}

@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},
	Number = {6},
	Pages = {381--391},
	Title = {The Information Capacity of the Human Motor System in Controlling the Amplitude of Movement.},
	Volume = {47},
	Year = {1954}}

@techreport{Fium83a,
	Author = {Eugene Fiume},
	Institution = {Department of Computer Science, University of Toronto},
	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},
	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)},
	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},
	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},
	Misc = {June 15-17},
	Month = jun,
	Title = {Dynamic Multimedia Objects},
	Year = {1987}}

@inproceedings{Fiut96a,
	Author = {Roberto Fiutem and Paolo Tonella and Giuliano Antoniol and Ettore Merlo},
	Booktitle = {Proceedings ICSM '96},
	Month = nov,
	Organization = {IEEE},
	Title = {A Clich\'{e}-Based Environment to Support Architectural Reverse Engineering},
	Year = {1996}}

@article{Fiut99a,
	Author = {R. Fiutem and G. Antoniol and P. Tonella and E. Merlo},
	Doi = {10.1002/(SICI)1096-908X(199909/10)11:5<339::AID-SMR196>3.3.CO;2-9},
	Issn = {1040-550X},
	Journal = {Journal of Software Maintenance: Research and Practice},
	Number = 5,
	Pages = {339--364},
	Publisher = {Wiley},
	Title = {ART: an Architectural Reverse Engineering Environment},
	Volume = 11,
	Year = {1999},
	Bdsk-Url-1 = {http://dx.doi.org/10.1002/(SICI)1096-908X(199909/10)11:5%3C339::AID-SMR196%3E3.3.CO;2-9}}

@inproceedings{Fjel79a,
	Author = {R.K. Fjeldstad and W. T. Hamlen},
	Booktitle = {Proceedings of GUIDE 48},
	City = {Philedalphia},
	Publisher = {The Guide Corporation},
	Title = {Application Program maintenance study: report to our respondents},
	Year = {1979}}

@inproceedings{Flaj90a,
	Author = {Philippe Flajolet and Paolo Sipala and Jean-Marc Steyaert},
	Booktitle = {Automata, Languages, and Programming},
	Pages = {220--234},
	Publisher = {Springer Verlag},
	Series = {LNCS},
	Title = {Analytic variations on the common subexpression problem},
	Volume = {443},
	Year = {1990}}

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

@book{Flan96a,
	Author = {David Flanagan},
	Isbn = {1-56592-183-6},
	Publisher = {O'Reilly},
	Title = {Java in Nutshell},
	Year = {1996}}

@book{Flan97a,
	Author = {David Flanagan},
	Edition = {Second},
	Isbn = {1-56592-234-4},
	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},
	Publisher = {O'Reilly},
	Title = {Java Examples in a Nutshell},
	Year = {1997}}

@book{Flan97c,
	Author = {David Flanagan},
	Edition = {2nd},
	Isbn = {1-56592-262-X},
	Publisher = {O'Reilly},
	Title = {Java in a Nutshell: 2nd Edition},
	Year = {1997}}

@book{Flan99a,
	Author = {David Flanagan},
	Edition = {3rd},
	Publisher = {O'Reilly},
	Title = {Java In a Nutshell: 3rd Edition},
	Year = {1999}}

@book{Flan99b,
	Author = {David Flanagan},
	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},
	Publisher = {O'Reilly},
	Title = {Java Enterprise In {A} Nutshell},
	Year = {1999}}

@inproceedings{Flat06a,
	Author = {Matthew Flatt and Robert Bruce Finder and Matthias Felleisen},
	Booktitle = {AAPLAS 2006},
	Title = {Scheme with Classes, Mixins and Traits},
	Year = {2006}}

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

@inproceedings{Flat98b,
	Author = {Matthew Flatt and Shriram Krishnamurthi and Matthias Felleisen},
	Booktitle = {Proceedings of the 25th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages},
	Doi = {10.1145/268946.268961},
	Isbn = {0-89791-979-3},
	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},
	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{Fleis07a,
	Address = {New York, NY, USA},
	Author = {Sebastian Fleissner and Elisa L. A. Baniassad},
	Booktitle = {Proceedings of OOPSLA '07},
	Doi = {10.1145/1297027.1297076},
	Isbn = {978-1-59593-786-5},
	Location = {Montreal, Quebec, Canada},
	Pages = {659--674},
	Publisher = {ACM},
	Title = {Epi-aspects: aspect-oriented conscientious software},
	Year = {2007},
	Bdsk-Url-1 = {http://dx.doi.org/10.1145/1297027.1297076}}

@article{Fleu04a,
	Address = {Los Alamitos, CA, USA},
	Author = {Franck Fleurey and Yves Le Traon and Benoit Baudry},
	Doi = {10.1109/ASE.2004.10013},
	Issn = {1068-3062},
	Journal = {ase},
	Pages = {306--309},
	Publisher = {IEEE Computer Society},
	Title = {From Testing to Diagnosis: An Automated Approach},
	Volume = {00},
	Year = {2004},
	Bdsk-Url-1 = {http://dx.doi.org/10.1109/ASE.2004.10013}}

@phdthesis{Fleu06a,
	Author = {Franck Fleurey},
	School = {Th\`ese de doctorat, Universit\'e de Rennes 1},
	Title = {Langage et m\'ethode pour une ing\'enierie des mod\`eles fiable},
	Year = {2006}}

@inproceedings{Flor95a,
	Address = {Aarhus, Denmark},
	Author = {Gert Florijn},
	Booktitle = {Proceedings ECOOP '95},
	Editor = {W. Olthoff},
	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},
	Month = jun,
	Pages = {472--495},
	Publisher = {Springer-Verlag},
	Series = {LNCS},
	Title = {Tool Support for Object-Oriented Patterns},
	Volume = 1241,
	Year = {1997}}

@book{Foge01a,
	Author = {Karl Fogel and Moshe Bar},
	Publisher = {Coriolis},
	Title = {Open Source Development with CVS},
	Year = {2001}}

@book{Fole82a,
	Address = {Reading, Mass.},
	Author = {James Foley and Andy van Dam},
	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},
	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},
	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},
	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{Fong10a,
	Address = {Amsterdam, The Netherlands, The Netherlands},
	Author = {Fong, Philip W. L. and Orr, Simon},
	Doi = {10.1016/j.cl.2009.12.002},
	Issn = {1477-8424},
	Journal = {Comput. Lang. Syst. Struct.},
	Number = {3},
	Pages = {268--287},
	Publisher = {Elsevier Science Publishers B. V.},
	Title = {Isolating untrusted software extensions by custom scoping rules},
	Volume = {36},
	Year = {2010},
	Bdsk-Url-1 = {http://dx.doi.org/10.1016/j.cl.2009.12.002}}

@article{Food94a,
	Author = {Michael Foody},
	Journal = {??},
	Number = {??},
	Pages = {??-??},
	Title = {Providing Object System Interoperability},
	Volume = {??},
	Year = {1994}}

@incollection{Foot00a,
	Author = {Brian Foote and Joseph W. Yoder},
	Booktitle = {Pattern Languages of Program Design},
	Editor = {N. Harrison and B. Foote and H. Rohnert},
	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{Foot89a,
	Author = {Brian Foote and Ralph E. Johnson},
	Booktitle = {Proceedings OOPSLA '89, ACM SIGPLAN Notices},
	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},
	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,
	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,
	Author = {Brian Foote and Joseph W. Yoder},
	Booktitle = {Proceedings of PLoP '97},
	Title = {{Big} {Ball} of {Mud}},
	Year = {1997}}

@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},
	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},
	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},
	Location = {Venice, Italy},
	Pages = {111--122},
	Publisher = {ACM},
	Title = {Parsing expression grammars: a recognition-based syntactic foundation},
	Url = {http://pdos.csail.mit.edu/~baford/packrat/popl04/peg-popl04.pdf},
	Year = {2004},
	Bdsk-Url-1 = {http://pdos.csail.mit.edu/~baford/packrat/popl04/peg-popl04.pdf},
	Bdsk-Url-2 = {http://dx.doi.org/10.1145/964001.964011}}

@misc{Form,
	Key = {Formulator},
	Note = {http://www.infrae.com/download/Formulator},
	Title = {Formulator, an extensible framework that eases the creation and validation of web forms for {Zope}},
	Url = {http://www.infrae.com/download/Formulator},
	Bdsk-Url-1 = {http://www.infrae.com/download/Formulator}}

@inproceedings{Form94a,
	Address = {Portland},
	Author = {Ira R. Forman and Scott Danforth and Hari Madduri},
	Booktitle = {Proceedings of OOPSLA '94},
	Editor = {ACM},
	Month = oct,
	Number = {10},
	Organization = {ACM},
	Pages = {427--439},
	Series = {ACM Sigplan Notices},
	Title = {Composition of Before/After Metaclasses in {SOM}},
	Volume = {29},
	Year = {1994}}

@book{Form99a,
	Author = {Ira R. Forman and Scott Danforth},
	Publisher = {Addison-Wesley},
	Title = {Putting Metaclasses to Work: A New Dimension in Object-Oriented Programming},
	Year = {1999}}

@misc{Fortress,
	Key = {fortress},
	Note = {\url{http://research.sun.com/projects/plrg/fortress0866.pdf}},
	Title = {The {Fortress} Language Specification},
	Url = {http://research.sun.com/projects/plrg/fortress0866.pdf},
	Bdsk-Url-1 = {http://research.sun.com/projects/plrg/fortress0866.pdf}}

@phdthesis{Fost02a,
	Author = {Jeffrey Scott Foster},
	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},
	Pages = {1--12},
	Publisher = {ACM Press},
	Title = {Flow-Sensitive Type Qualifiers},
	Url = {http://www.cs.umd.edu/~jfoster/papers/pldi02.pdf},
	Year = {2002},
	Bdsk-Url-1 = {http://www.cs.umd.edu/~jfoster/papers/pldi02.pdf}}

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

@inproceedings{Four96a,
	Author = {C\'edric Fournet and Georges Gonthier},
	Booktitle = {Proceedings of the 23rd ACM Symposium on Principles of Programming Languages},
	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)},
	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},
	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},
	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)},
	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},
	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}}

@article{Fowl01a,
	Author = {Fowler, Martin and Highsmith, Jim},
	Journal = {Software Development Magazine},
	Month = aug,
	Note = {http://agilemanifesto.org},
	Number = 8,
	Pages = {29--30},
	Title = {The {Agile} Manifesto},
	Volume = 9,
	Year = {2001}}

@book{Fowl03a,
	Author = {Martin Fowler},
	Isbn = {0321193687},
	Publisher = {Addison Wesley},
	Title = {{UML} Distilled},
	Year = {2003}}

@book{Fowl05a,
	Author = {Martin Fowler},
	Isbn = {0321127420},
	Publisher = {Addison Wesley},
	Title = {Patterns of Enterprise Application Architecture},
	Year = {2005}}

@misc{Fowl05b,
	Author = {Martin Fowler},
	Month = jun,
	Note = {\url{http://www.martinfowler.com/articles/languageWorkbench.html}},
	Title = {Language Workbenches: The Killer-App for Domain-Specific Languages},
	Url = {http://www.martinfowler.com/articles/languageWorkbench.html},
	Year = {2005},
	Bdsk-Url-1 = {http://www.martinfowler.com/articles/languageWorkbench.html}}

@misc{Fowl05c,
	Author = {Martin Fowler},
	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 = {Martin Fowler},
	Title = {Fluent Interface},
	Url = {http://www.martinfowler.com/bliki/FluentInterface.html},
	Year = {2005},
	Bdsk-Url-1 = {http://www.martinfowler.com/bliki/FluentInterface.html}}

@misc{Fowl08X,
	Author = {Martin Fowler},
	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/}}

@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},
	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},
	Publisher = {Addison Wesley},
	Title = {{UML} Distilled},
	Year = {1997}}

@book{Fowl97b,
	Author = {Martin Fowler},
	Isbn = {0-201-89542-0},
	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},
	Note = {ordered but not received},
	Publisher = {Addison Wesley},
	Title = {Refactoring: Improving the Design of Existing Code},
	Year = {1999}}

@book{Fowl99b,
	Author = {Martin Fowler},
	Publisher = {Addison-Wesley Professional},
	Title = {Refactoring: improving the design of existing code},
	Year = {1999}}

@article{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},
	Publisher = {Frame technology},
	Title = {Using Framemaker 4},
	Year = {1993}}

@book{Fran92a,
	Author = {Nissim Francez},
	Isbn = {0-201-41608-5},
	Publisher = {Addison Wesley},
	Title = {Program Verification},
	Year = {1992}}

@book{Fran96a,
	Author = {Nissim Francez and Ira R. Forman},
	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},
	Month = oct,
	School = {University of Bern},
	Title = {An Associative Documentation Model},
	Type = {Diploma thesis},
	Url = {http://scg.unibe.ch/archive/masters/Fran99a.pdf},
	Year = {1999},
	Bdsk-Url-1 = {http://scg.unibe.ch/archive/masters/Fran99a.pdf}}

@article{Fras80a,
	Author = {C.W. Fraser},
	Journal = {CACM},
	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},
	Month = jun,
	Pages = {17--21},
	Title = {Syntax-Directed Editing of General Data Structures},
	Year = {1981}}

@article{Frat99a,
	Author = {Piero Fraternali},
	Journal = {ACM Computing Surveys},
	Pages = {227--263},
	Title = {Tools and approaches for developing data-intensive Web applications: a survey},
	Volume = {3},
	Year = {1999}}

@inproceedings{Freb87a,
	Author = {Karl Freburger},
	Booktitle = {Proceedings OOPSLA '87, ACM SIGPLAN Notices},
	Month = dec,
	Pages = {416--422},
	Title = {{RAPID}: Prototyping Control Panel Interfaces},
	Volume = {22},
	Year = {1987}}

@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 = {New York, NY, USA},
	Author = {Steve Freeman and Nat Pryce},
	Booktitle = {OOPSLA '06: Companion to the 21st ACM SIGPLAN symposium on Object-oriented programming systems, languages, and applications},
	Doi = {10.1145/1176617.1176735},
	Isbn = {1-59593-491-X},
	Location = {Portland, Oregon, USA},
	Pages = {855--865},
	Publisher = {ACM},
	Title = {Evolving an embedded domain-specific language in {Java}},
	Year = {2006},
	Bdsk-Url-1 = {http://dx.doi.org/10.1145/1176617.1176735}}

@inproceedings{Free89a,
	Author = {Bjorn N. Freeman-Benson},
	Booktitle = {Proceedings OOPSLA '89, ACM SIGPLAN Notices},
	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},
	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 = {Comminications 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},
	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},
	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},
	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{Free99a,
	Author = {Eric Freeman and Susanne Hupfer and Ken Arnold},
	Note = {ISBN: 0201309556},
	Publisher = {Addison Wesley},
	Title = {JavaSpaces Principles, Patterns and Practice},
	Year = {1999}}

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

@book{Frie01a,
	Address = {Cambridge, MA, USA},
	Author = {Daniel P. Friedman and Christopher T. Haynes and Mitchell Wand},
	Isbn = {0-262-06217-8},
	Publisher = {Massachusetts Institute of Technology},
	Title = {Essentials of programming languages (2nd ed.)},
	Year = {2001}}

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

@book{Frie87a,
	Author = {Daniel Friedman and Mattias Felleisen},
	Isbn = {0-262-56038-0},
	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},
	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},
	Publisher = {McGraw-Hill},
	Title = {Essentials of Programming Languages},
	Year = {1992}}

@article{Fris08a,
	Address = {Los Alamitos, CA, USA},
	Author = {Frishman, Yaniv and Tal, Ayellet},
	Doi = {10.1109/TVCG.2008.11},
	Issn = {1077-2626},
	Journal = {IEEE Transactions on Visualization and Computer Graphics},
	Number = {4},
	Pages = {727--740},
	Posted-At = {2009-07-01 22:45:17},
	Priority = {2},
	Publisher = {IEEE Computer Society},
	Title = {Online Dynamic Graph Drawing},
	Url = {http://dx.doi.org/10.1109/TVCG.2008.11},
	Volume = {14},
	Year = {2008},
	Bdsk-Url-1 = {http://dx.doi.org/10.1109/TVCG.2008.11}}

@inproceedings{Frit07a,
	Address = {New York, NY, USA},
	Author = {Fritz, Thomas and Murphy, Gail C. and Hill, Emily},
	Booktitle = {ESEC-FSE '07: Proceedings of the the 6th joint meeting of the European software engineering conference and the ACM SIGSOFT symposium on The foundations of software engineering},
	Doi = {10.1145/1287624.1287673},
	Isbn = {978-1-59593-811-4},
	Location = {Dubrovnik, Croatia},
	Pages = {341--350},
	Publisher = {ACM},
	Title = {Does a programmer's activity indicate knowledge of code?},
	Year = {2007},
	Bdsk-Url-1 = {http://dx.doi.org/10.1145/1287624.1287673}}

@inproceedings{Frit08a,
	Author = {Fritz, Thomas and Murphy, Gail C.},
	Booktitle = {ICSE '10: Proceedings of the 32nd ACM/IEEE International Conference on Software Engineering},
	Doi = {10.1145/1806799.1806828},
	Isbn = {978-1-60558-719-6},
	Pages = {175--184},
	Publisher = {ACM},
	Title = {Using information fragments to answer the questions developers ask},
	Year = {2010},
	Bdsk-Url-1 = {http://dx.doi.org/10.1145/1806799.1806828}}

@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},
	Pages = {9--12},
	Posted-At = {2009-08-10 11:09:54},
	Priority = {0},
	Title = {Search, stitch, view: Easing information integration in an IDE},
	Url = {http://dx.doi.org/10.1109/SUITE.2009.5070012},
	Year = {2009},
	Bdsk-Url-1 = {http://dx.doi.org/10.1109/SUITE.2009.5070012}}

@inproceedings{Froe04a,
	Address = {Washington, DC, USA},
	Author = {Jon Froehlich and Paul Dourish},
	Booktitle = {Proceedings of the 26th International Conference on Software Engineering},
	Isbn = {0-7695-2163-0},
	Pages = {387--396},
	Publisher = {IEEE Computer Society},
	Title = {Unifying Artifacts and Activities in a Visual Tool for Distributed Software Development Teams},
	Year = {2004}}

@inproceedings{Frol92a,
	Abstract = {We analyse how inheritance of synchronization
                  constraints should be supported. The conclusion of
                  our analysis is that inheritance of synchronization
                  constraints should take the form of incrementally
                  {\em more} restrictive constraints for derived
                  subclasses. Our conclusion is based on the view that
                  combinations of behavior in object-oriented
                  languages yield subclasses that {\em extend}
                  superclass behavior. We give a notation for
                  describing synchronization constraints. In our
                  notation, synchronization constraints can be
                  inherited and aggregated. We present a number of
                  examples that illustrate the fundamental concepts
                  captured by our notation. Synchronization
                  constraints are described as restrictions that apply
                  to invocation of methods. Application of
                  restrictions is {\em pattern-based}, which allows
                  the same restriction to apply to multiple methods
                  and multiple restrictions to apply to the same
                  method.},
	Address = {Utrecht, the Netherlands},
	Author = {Svend Fr\/olund},
	Booktitle = {Proceedings ECOOP '92},
	Editor = {O. Lehrmann Madsen},
	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},
	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},
	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},
	Publisher = {MIT Press},
	Title = {Coordinating Distributed Objects --- An Actor-Based Approach to Synchronization},
	Year = {1996}}

@techreport{From91a,
	Author = {Markus Fromherz},
	Institution = {University of Zurich},
	Month = jun,
	Number = {91.06},
	Title = {Explore/{L} --- An Object-Oriented Logic Language},
	Type = {Report},
	Year = {1991}}

@book{Fron97a,
	Author = {John W. Fronckowiak},
	Publisher = {IDG Books},
	Title = {Cobol For Dummies},
	Year = {1997}}

@article{Fros94a,
	Author = {Stuart Frost},
	Journal = {Object Magazine},
	Month = sep,
	Pages = {43--51},
	Publisher = {SIGS Publications},
	Title = {Modelling for the RDBMS Legacy},
	Year = {1994}}

@book{Frye04a,
	Author = {Curtis Frye and Wayne S. Freeze and Felicia K. Buckingham},
	Publisher = {Microsoft Press},
	Title = {Microsoft Office Excell 2003 Programming},
	Year = {2004}}

@misc{Fscript,
	Key = {Fscript},
	Note = {http://www.fscript.org/},
	Title = {F-Script. Cocoa Developer's Best Friend},
	Url = {http://www.fscript.org/},
	Bdsk-Url-1 = {http://www.fscript.org/}}

@inproceedings{Fugi90a,
	Author = {Mariagrazia Fugini and Barbara Pernici},
	Booktitle = {Proceedings CAiSE '90},
	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},
	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},
	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.},
	Author = {Mariagrazia Fugini and Oscar Nierstrasz and Barbara Pernici},
	Doi = {10.1145/134376.134386},
	Journal = {SIGOIS Bulletin},
	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},
	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},
	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},
	Number = {95-09},
	Title = {Algorithms for {Concept} {Lattice} {Decomposition} and their {Application}},
	Year = {1995}}

@inproceedings{Furn86a,
	Author = {George W. Furnas},
	Booktitle = {Proceedings of CHI '86 (Conference on Human Factors in Computing Systems)},
	Location = {Massachusetts, USA},
	Pages = {16--23},
	Publisher = {ACM Press},
	Title = {Generalized {Fisheye} {View}},
	Year = {1986}}

@article{Furu82a,
	Author = {R. Furuta and J. Scofield and Alan Shaw},
	Journal = {ACM Computing Surveys},
	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},
	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.},
	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},
	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{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}}

@article{Gabr88a,
	Address = {New York, NY, USA},
	Author = {Richard P. Gabriel},
	Doi = {10.1145/1317250.1317252},
	Issn = {1045-3563},
	Journal = {SIGPLAN Lisp Pointers},
	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},
	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{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}}

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

@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},
	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.},
	Author = {Markus Gaelli and Michele Lanza and Oscar Nierstrasz},
	Booktitle = {Proceedings of 13th International Smalltalk Conference (ISC'03)},
	Cvs = {EgESUG2005},
	Misc = {gaelli},
	Month = sep,
	Title = {Towards a Taxonomy of {SUnit} Tests},
	Url = {http://scg.unibe.ch/archive/papers/Gael05aTowardsATaxonomyOfUnitTests.pdf http://www.esug.org/conferences/thirteenthinternationalconference2005/researchconference/acceptedpapers/},
	Year = {2005},
	Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Gael05aTowardsATaxonomyOfUnitTests.pdf%20http://www.esug.org/conferences/thirteenthinternationalconference2005/researchconference/acceptedpapers/}}

@inproceedings{Gael05b,
	Abstract = {If we were to apply the testing techniques of
                  object-oriented systems prescribed by the XUnit
                  framework to a car factory, the result would be an
                  inefficient process: A tire would be created,
                  quality assured and then thrown away, only to be
                  recreated later to test the functionality of the
                  whole car. XUnit makes it difficult to reuse
                  intermediate results of low level unit tests. As a
                  consequence a higher level unit test is forced to
                  recreate test scenarios which were already created
                  by lower level unit tests. This duplicated testing
                  effort is time-consuming both for setting up new
                  scenarios and for running the tests. To address this
                  problem we suggest a semi-automatic approach to
                  compose tests. First we describe how we can detect
                  candidates of composable test cases by partially
                  ordering their sets of covered method signatures,
                  then we present techniques to refactor unit tests
                  accordingly.},
	Author = {Markus Gaelli and Orla Greevy and Oscar Nierstrasz},
	Booktitle = {Proceedings of SPLiT 2005 (2nd International Workshop on Software Product Line Testing)},
	Cvs = {EgSplit2005},
	Misc = {gaelli},
	Month = sep,
	Title = {Composing Unit Tests},
	Url = {http://scg.unibe.ch/archive/papers/Gael05bComposingUnitTests.pdf http://www.biglever.com/split2005/Presentations/SPLiT2005_Proceedings.pdf},
	Year = {2005},
	Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Gael05bComposingUnitTests.pdf%20http://www.biglever.com/split2005/Presentations/SPLiT2005_Proceedings.pdf}}

@inproceedings{Gael06a,
	Abstract = {Creating ones own games has been the main motiva-
                  tion for many people to learn programming. But the
                  barrier to learn a general purpose programming
                  language is very high, especially if some positive
                  results can only be expected after having manually
                  written more than 100 lines of code. With this paper
                  we first motivate potential users by showing that
                  one can create classic board- and arcade games like
                  Lights Out, TicTacToe, or Pacman within the playful
                  and constructivist visual learning environment Etoys
                  dragging together only a few lines of code. Then we
                  present recurring idioms which helped to develop
                  these games with only a few lines of code.},
	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},
	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},
	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.},
	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},
	Medium = {2},
	Month = oct,
	Pages = {71--86},
	Title = {Composing Tests from Examples},
	Url = {http://www.jot.fm/issues/issue_2007_10/paper4/index.html http://www.jot.fm/issues/issue_2007_10/paper4.pdf},
	Volume = {6/9},
	Year = {2007},
	Bdsk-Url-1 = {http://www.jot.fm/issues/issue_2007_10/paper4/index.html%20http://www.jot.fm/issues/issue_2007_10/paper4.pdf}}

@mastersthesis{Gael96,
	Author = {Markus 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{Gaja98a,
	Author = {Joan Gajadhar},
	Institution = {The open Polytechnic of New Zealand},
	Journal = {Ultibase Online Articles},
	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{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},
	Month = oct,
	Title = {AspectC++: Language Proposal and Prototype Implementation},
	Year = {2001}}

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

@inproceedings{Gale91a,
	Address = {Pacific Grove, CA},
	Author = {William A. Gale and Kenneth W. Church},
	Booktitle = {Proceedings of the Fourth DARPA Workshop on Speech and Natural Language},
	Month = feb,
	Pages = {152--157},
	Publisher = {Morgan Kaufman},
	Title = {Identifying Word Correspondences in Parallel Texts},
	Year = {1991}}

@misc{Galicia,
	Key = {Galicia},
	Note = {http://www.iro.umontreal.ca/~galicia},
	Title = {Ga{Licia}: Galois lattice interactive constructor},
	Url = {http://www.iro.umontreal.ca/~galicia},
	Bdsk-Url-1 = {http://www.iro.umontreal.ca/~galicia}}

@inproceedings{Gall03a,
	Author = {Gall, Harald and Jazayeri, Mehdi and Krajewski, Jacek},
	Booktitle = {IWPSE '03: Proceedings of the 6th International Workshop on Principles of Software Evolution},
	Isbn = {0-7695-1903-2},
	Pages = {13--23},
	Publisher = {IEEE Computer Society},
	Title = {CVS release history data for detecting logical couplings},
	Year = {2003}}

@inproceedings{Gall03b,
	Author = {Keith Gallagher and Lucas Layman},
	Booktitle = {Proc. of the 11th International IEEE Workshop on Program Comprehension (IWPC'03)},
	Month = may,
	Pages = {285--286},
	Publisher = {IEEE},
	Title = {Are Decomposition Slices Clones?},
	Year = {2003}}

@inproceedings{Gall03c,
	Address = {Victoria, B.C., Canada},
	Author = {Keith Gallagher and David Binkley},
	Booktitle = {Proceedings 10th Working Conference on Reverse Engineering (WCRE'03)},
	Month = nov,
	Organization = {IEEE},
	Pages = {316--322},
	Title = {An Empirical Study of Computation Equivalence as Determined by Decomposition Slice Equivalence},
	Year = {2003}}

@inproceedings{Gall05a,
	Author = {Keith Gallagher and Andrew Hatch and Malcolm Munro},
	Booktitle = {VISSOFT},
	Month = sep,
	Pages = {76--81},
	Publisher = {IEEE CS},
	Title = {A Framework for Software Architecture Visualization Assessment},
	Year = {2005}}

@inproceedings{Gall09a,
	Abstract = {Internet-scale code search is the problem of finding
                  source on the Internet. Developers are typically
                  searching for code to reuse as-is on a project or as
                  a reference example. This phenomenon has emerged due
                  to the increasing availability and quality of open
                  source and resources on the Web. Solutions to this
                  problem will involve more than the simple
                  application of information retrieval techniques or a
                  scaling-up of tools for code search. Instead, new,
                  purpose-built solutions are needed that draw on
                  results from these areas, as well as program
                  comprehension and software reuse.},
	Author = {Gallardo-Valencia, R. E. and Elliott Sim, S.},
	Booktitle = {Search-Driven Development-Users, Infrastructure, Tools and Evaluation, 2009. SUITE '09. ICSE Workshop on},
	Citeulike-Article-Id = {5403384},
	Citeulike-Linkout-0 = {http://dx.doi.org/10.1109/SUITE.2009.5070022},
	Citeulike-Linkout-1 = {http://ieeexplore.ieee.org/xpls/abs\_all.jsp?arnumber=5070022},
	Doi = {10.1109/SUITE.2009.5070022},
	Journal = {Search-Driven Development-Users, Infrastructure, Tools and Evaluation, 2009. SUITE '09. ICSE Workshop on},
	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{Gall87a,
	Author = {F. Gallo and R. Minot and I. Thomas},
	Journal = {ACM SIGPLAN Notices},
	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}}

@article{Gall96b,
	Address = {Los Alamitos, CA, USA},
	Author = {Keith B. Gallagher},
	Doi = {10.1109/ICSM.1996.564988},
	Issn = {1063-6773},
	Journal = {Software Maintenance, IEEE International Conference on},
	Pages = {52},
	Publisher = {IEEE Computer Society},
	Title = {Visual Impact Analysis},
	Volume = {0},
	Year = {1996},
	Bdsk-Url-1 = {http://dx.doi.org/10.1109/ICSM.1996.564988}}

@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},
	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)},
	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)},
	Publisher = {Technical University of Vienna --- Technical Report TUV-1841-99-13},
	Title = {Object-Model Driven Abstraction-to-Code Mapping},
	Year = {1999}}

@book{Gamm03a,
	Amount = {1},
	Author = {Erich Gamma and Kent Beck},
	Isbn = {0-321-20575-8},
	Publisher = {Addison Wesley},
	Title = {Contributing to Eclipse},
	Year = {2003}}

@inproceedings{Gamm89a,
	Address = {Nottingham},
	Author = {Erich Gamma and Andr\'e Weinand and Rudolph Marty},
	Booktitle = {Proceedings ECOOP '89},
	Editor = {S. Cook},
	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},
	Month = jul,
	Pages = {406--431},
	Publisher = {Springer-Verlag},
	Series = {LNCS},
	Title = {Design Patterns: Abstraction and Reuse of Object-Oriented Design},
	Url = {ftp://st.cs.uiuc.edu/pub/papers/patterns/ecoop93-patterns.ps},
	Volume = {707},
	Year = {1993},
	Bdsk-Url-1 = {ftp://st.cs.uiuc.edu/pub/papers/patterns/ecoop93-patterns.ps}}

@book{Gamm95a,
	Author = {Erich Gamma and Richard Helm and Ralph Johnson and John Vlissides},
	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}}

@incollection{Gand91a,
	Author = {M.A Gandrieu and B. Durin},
	Booktitle = {REBOOT '91},
	Publisher = {ESPRIT},
	Title = {Identification and Classification of Reusable Elements in Space Domain},
	Year = {1991}}

@inproceedings{Gang89a,
	Address = {Dallas, TX},
	Author = {Dipayan Gangopadhyay and A. Richard Helm},
	Booktitle = {IBM PADT ITL Conference},
	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},
	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},
	Month = jul,
	Pages = {432--457},
	Publisher = {Springer-Verlag},
	Series = {LNCS},
	Title = {ObjChart: Tangible Specification of Reactive Object Behavior},
	Url = {http://link.springer.de/link/service/series/0558/tocs/t0707.htm},
	Volume = {707},
	Year = {1993},
	Bdsk-Url-1 = {http://link.springer.de/link/service/series/0558/tocs/t0707.htm}}

@inproceedings{Gann98a,
	Author = {G.C Gannod and G. Sudindranath and M.E. Fagnani and B.H.C. Cheng},
	Booktitle = {Proceedings of WCRE '98},
	Note = {ISBN: 0-8186-89-67-6},
	Pages = {125--135},
	Publisher = {IEEE Computer Society},
	Title = {PACKRAT: A Software Reengineering Case Study},
	Year = {1998}}

@article{Gans00a,
	Author = {Gansner and North},
	Doi = {10.1002/1097-024X(200009)30:11<1203::AID-SPE338>3.3.CO;2-E},
	Journal = {Software Practice Experience.},
	Number = 11,
	Pages = {1203--1233},
	Publisher = {John Wiley \& Sons, Inc.},
	Title = {An Open Graph Visualization System and its Applications to Software Engineering},
	Volume = 30,
	Year = {2000},
	Bdsk-Url-1 = {http://dx.doi.org/10.1002/1097-024X(200009)30:11%3C1203::AID-SPE338%3E3.3.CO;2-E}}

@book{Gant99a,
	Author = {Bernhard Ganter and Rudolf Wille},
	Publisher = {Springer Verlag},
	Title = {Formal Concept Analysis: Mathematical Foundations},
	Year = {1999}}

@inproceedings{Ganz82a,
	Author = {H. Ganzinger and R. Giegerich and U. M{\"o}ncke and Robert Wilhelm},
	Booktitle = {ACM SIGPLAN Notices, Proceedings 1982 Symposium on Compiler Construction},
	Month = jun,
	Pages = {172--184},
	Title = {A Truly Generative Semantics-Directed Compiler Generator},
	Volume = {17},
	Year = {1982}}

@inproceedings{Garb94a,
	Abstract = {GARF is an object-oriented programming environment
                  aimed to support the design of reliable distributed
                  applications. Its computational model is based on
                  two programming levels: the functional level and the
                  behavioral level. At the functional level, software
                  functionalities are described using passive objects,
                  named data objects, in a centralized, volatile, and
                  failure free environment. At the behavioral level,
                  data objects are dynamically bound to encapsulators
                  and mailers which support distribution, concurrency,
                  persistence and fault tolerance. Encapsulators wrap
                  data objects by controlling how the latter send and
                  receive messages, while mailers perform
                  communications between encapsulators. This paper
                  describes how the GARF computational model enables
                  to build flexible and highly modular abstractions
                  for the design of reliable distributed
                  applications.},
	Author = {Beno\^it Garbinato and Rachid Guerraoui and Karim R. Mazouni},
	Booktitle = {Proceedings of the ECOOP '93 Workshop on Object-Based Distributed Programming},
	Editor = {Rachid Guerraoui and Oscar Nierstrasz and Michel Riveill},
	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},
	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},
	Month = jul,
	Pages = {316--343},
	Publisher = {Springer-Verlag},
	Series = {LNCS},
	Title = {Protocol Classes for Designing Reliable Distributed Environments},
	Volume = {1098},
	Year = {1996}}

@misc{Gardner,
	Author = {Cees de Groot},
	Key = {Gardner},
	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},
	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},
	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}}

@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},
	Pages = {47--67},
	Publisher = {Cambridge University Press},
	Title = {Acme: Architectural Description of Component-Based Systems},
	Year = {2000}}

@inproceedings{Garl00b,
	Author = {David Garlan},
	Booktitle = {{ICSE} -- Future of {SE} Track},
	Pages = {91--101},
	Title = {Software architecture: a roadmap},
	Year = {2000}}

@article{Garl02a,
	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},
	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},
	Publisher = {Wiley and Sons},
	Title = {Large Scale Software Architecture},
	Year = {2003}}

@inproceedings{Garl86a,
	Address = {London, UK},
	Author = {David Garlan},
	Booktitle = {Proceedings of an International Workshop on Advanced Programming Environments},
	Isbn = {3-540-17189-4},
	Moth = {June},
	Pages = {314--343},
	Publisher = {Springer-Verlag},
	Title = {Views for Tools in Integrated Environments},
	Year = {1986}}

@phdthesis{Garl88a,
	Address = {Pittsburgh, PA},
	Author = {David Barnard Garlan},
	Institution = {Computer Science Department},
	Month = jan,
	School = {Carnegie Mellon University},
	Title = {Views for Tools in Integrated Environments},
	Year = {1988}}

@article{Garl95a,
	Author = {David Garlan and Robert Allen and John Ockerbloom},
	Journal = {IEEE Software},
	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}}

@misc{Garl95b,
	Author = {D. Garlan and D. Kindred and J. Wing},
	Note = {Available from the authors},
	Title = {Interoperability: Sample Problems and Solutions}}

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

@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},
	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},
	Pages = {169--183},
	Title = {Acme: An Architecture Description Interchange Language},
	Year = {1997},
	Bdsk-Url-1 = {http://dx.doi.org/10.1145/782010.782017}}

@inproceedings{Garr86a,
	Author = {L. Nancy Garrett and Karen E. Smith},
	Booktitle = {Proceedings OOPSLA '86, ACM SIGPLAN Notices},
	Month = nov,
	Pages = {202--213},
	Title = {Building a Timeline Editor from Prefab Parts: The Architecture of an Object-Oriented Application},
	Volume = {21},
	Year = {1986}}

@inproceedings{Gasi07a,
	Address = {New York, NY, USA},
	Author = {Vaidas Gasiunas and Mira Mezini and Klaus Ostermann},
	Booktitle = {OOPSLA '07: Proceedings of the 22nd annual ACM SIGPLAN conference on Object oriented programming systems and applications},
	Doi = {10.1145/1297027.1297038},
	Isbn = {978-1-59593-786-5},
	Location = {Montreal, Quebec, Canada},
	Pages = {133--152},
	Publisher = {ACM},
	Title = {Dependent classes},
	Year = {2007},
	Bdsk-Url-1 = {http://dx.doi.org/10.1145/1297027.1297038}}

@inproceedings{Gasp99a,
	Abstract = {CORBA (The Common Object Request Broker
                  Architecture) has to continually evolve in order to
                  cope with the changes of requirement of applications
                  which become larger and more distributed. For this
                  reason new features are being added to the CORBA
                  specification, for instance the last proposal for a
                  revised CORBA Messaging Service includes two new
                  asynchronous models of request invocation. Since
                  these new features will be added in the next CORBA
                  implementations a relevant issue is to study their
                  operational behaviour from different perspectives in
                  order to facilitate the task of implementors. This
                  paper addresses this issue providing an analysis of
                  the CORBA Messaging Service which includes the new
                  asynchronous features. In particular we illustrate
                  how CORBA models for request invocation can be
                  mapped into a message passing architecture based on
                  the actor model. For this purpose we exploit an
                  algebra of actors which supports some of the main
                  features of the abstract Object Model of the Object
                  Management Group, such as object identity and an
                  explicit notion of state. This approach allows us to
                  discuss and compare different models of request
                  invocation in a standard process algebraic
                  perspective for instance we show how different
                  notions of equivalence, such as standard and
                  asynchronous bisimulation, can be adapted to reason
                  about CORBA.},
	Address = {Lisbon, Portugal},
	Author = {Mauro Gaspari and Gianluigi Zavattaro},
	Booktitle = {Proceedings ECOOP '99},
	Editor = {R. Guerraoui},
	Month = jun,
	Pages = {495--518},
	Publisher = {Springer-Verlag},
	Series = {LNCS},
	Title = {A Process Algebraic Specification of the New Asynchronous {CORBA} Messaging Service},
	Volume = 1628,
	Year = {1999}}

@incollection{Gass92a,
	Author = {Les Gasser and Jean-Pierre Briot},
	Booktitle = {Distributed Artificial Intelligence: Theory and Praxis},
	Editor = {N.M. Avouris \& L. Gasser},
	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},
	Month = {apr},
	Title = {Context-Oriented Programming},
	Year = {1998}}

@book{Gaud93a,
	Editor = {Marie-Claude Gaudel and Jean-Pierre Jouannaud},
	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},
	Month = jul,
	Pages = {26--47},
	Publisher = {Springer-Verlag},
	Series = {LNCS},
	Title = {Integrating Subtyping, Matching and Type Quantification: {A} Practical Perspective},
	Volume = {1098},
	Year = {1996}}

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

@incollection{Gay93a,
	Author = {Simon Gay},
	Booktitle = {Principles of Programming Languages},
	Publisher = {ACM},
	Title = {A Sort Inference Algorithm for the Polyadic $\pi$-Calculus},
	Year = {1993}}

@inproceedings{Geba91a,
	Author = {Gebala, D.A. and Eppinger, S.D. and Cambridge, M.},
	Booktitle = {3rd International Conference on Design Theory and Methodology},
	Publisher = {Amer Society of Mechanical},
	Title = {Methods For Analyzing Design Procedures},
	Year = {1991}}

@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},
	Month = jul,
	School = {University of Antwerpen},
	Title = {Coevolution of Software and Tests: An Initial Assessment},
	Type = {Diploma {Thesis}},
	Url = {http://scg.unibe.ch/archive/masters/Aebi03a.pdf},
	Year = {2006},
	Bdsk-Url-1 = {http://scg.unibe.ch/archive/masters/Aebi03a.pdf}}

@article{Geha82a,
	Author = {N. Gehani},
	Journal = {IEEE Transactions on Communications},
	Month = jan,
	Number = {1},
	Pages = {120--125},
	Title = {The Potential of Forms in Office Automation},
	Volume = {Com-30},
	Year = {1982}}

@inproceedings{Geha91a,
	Author = {Narain Gehani and H.V. Jagadish},
	Booktitle = {Proceedings of Conference on Very Large Data Bases},
	Pages = {327--336},
	Title = {Ode as an Active Database: Constraints and triggers},
	Year = {1991}}

@inbook{Geha96a,
	Author = {Narain Gehani and H.V. Jagadish},
	Chapter = {8},
	Pages = {208--232},
	Publisher = {Morgan Kaufman Publishers},
	Title = {Active Database Facilities in Ode},
	Year = {1996}}

@inproceedings{Geis07a,
	Address = {Berlin, Heidelberg},
	Author = {Rubino Gei\ss and Moritz Kroll},
	Booktitle = {Applications of Graph Transformations with Industrial Relevance: Third International Symposium, AGTIVE 2007, Kassel, Germany, October 10-12, 2007, Revised Selected and Invited Papers},
	Doi = {10.1007/978-3-540-89020-1_38},
	Isbn = {978-3-540-89019-5},
	Pages = {568--569},
	Publisher = {Springer-Verlag},
	Title = {GrGen.NET: A Fast, Expressive, and General Purpose Graph Rewrite Tool},
	Year = {2008},
	Bdsk-Url-1 = {http://dx.doi.org/10.1007/978-3-540-89020-1_38}}

@article{Gele85a,
	Author = {David Gelernter and Nicholas Carriero},
	Journal = {ACM TOPLAS},
	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},
	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},
	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}}

@unpublished{Gene94a,
	Author = {Michael Genesereth and Narinder P. Singh and Mustafa A. Syed},
	Month = nov,
	Note = {Stanford University},
	Title = {A Distributed and Anonymous Knowledge Sharing Approach to Software Interoperation},
	Type = {Draft},
	Year = {1994}}

@misc{Generics,
	Key = {Generics},
	Note = {http://java.sun.com/j2se/1.5.0/docs/guide/language/generics.html},
	Title = {Java Generics}}

@inproceedings{Geno89a,
	Author = {Stefano Genolini and Andrea Di Maio and Cinzia Cardigno and Stephen Goldsack and Colin Atkinson},
	Booktitle = {Proceedings TOOLS '89},
	Month = nov,
	Title = {Specifying Synchronisation Constraints in a Concurrent Object-Oriented Language},
	Year = {1989}}

@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++.},
	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},
	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}}

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

@article{Gent81a,
	Author = {Morven Gentleman},
	Journal = {Software --- Practice and Experience},
	Pages = {435--466},
	Title = {Message Passing Between Sequential Processes: the Reply Primitive and the Administrator Concept},
	Volume = {11},
	Year = {1981}}

@unpublished{Gepp92a,
	Author = {Andreas Geppert and Klaus Dittrich},
	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},
	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},
	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},
	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},
	Month = oct,
	Number = {4},
	Pages = {6--17},
	Title = {Process Synchronization by Counter Variables},
	Volume = {11},
	Year = {1977}}

@inproceedings{Germ04a,
	Address = {New York NY},
	Author = {Daniel Germ\'ain Abram Hindle and Norman Jordan},
	Booktitle = {Proceedings of the 16th International Conference on Software Engineering {\&} Knowledge Engineering (SEKE 2004)},
	Location = {Banff, Alberta, Canada},
	Mon = jun,
	Pages = {336--341},
	Publisher = {ACM Press},
	Title = {Visualizing the evolution of software using softChange},
	Year = {2004}}

@inproceedings{Gers95a,
	Author = {Nahum Gershon and Joshua LeVasseur and Joel Winstead and James Croall and Ari Pernick and William Ruh},
	Booktitle = {Proceedings of the Conference on Information Visualization (INFOVIZ '95)},
	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},
	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},
	Month = aug,
	Number = {8},
	Pages = {540--553},
	Title = {Early Experience with Mesa},
	Volume = {20},
	Year = {1977}}

@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},
	Month = mar,
	Number = {2},
	Pages = {79--92},
	Publisher = {Springer-Verlag},
	Title = {An Object-Oriented Architecture for a Computer Animation System},
	Volume = {6},
	Year = {1990}}

@inproceedings{Ghel91a,
	Author = {Giorgio Ghelli},
	Booktitle = {Proceedings OOPSLA '91, ACM SIGPLAN Notices},
	Month = nov,
	Pages = {129--145},
	Title = {A Static Type System for Message Passing},
	Volume = {26},
	Year = {1991}}

@book{Ghez89a,
	Address = {Kaiserslautern, Germany},
	Editor = {Ghezzi, J.A.McDermid, C.},
	Isbn = {3-540-51635-2},
	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},
	Publisher = {Prentice-Hall},
	Title = {Fundamentals of Software Engineering},
	Year = {1991}}

@article{Ghid01a,
	Author = {Chiara Ghidini and Fausto Giunchiglia},
	Journal = {Artificial Intelligence},
	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},
	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)},
	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)},
	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/}}

@article{Ghon05a,
	Author = {Mohammad Ghoniem and Jean-Daniel Fekete and Philippe Castagliola},
	Bibsource = {DBLP, http://dblp.uni-trier.de},
	Ee = {10.1057/palgrave.ivs.9500092},
	Journal = {Information Visualization},
	Number = {2},
	Pages = {114-135},
	Title = {On the readability of graphs using node-link and matrix-based representations: a controlled experiment and statistical analysis},
	Volume = {4},
	Year = {2005}}

@inproceedings{Giac89a,
	Author = {Alessandro Giacalone and Prateek Mishra and Sanjiv Prasad},
	Booktitle = {Proceedings TAPSOFT '89},
	Editor = {D\'iaz and Orejas},
	Pages = {184--209},
	Publisher = {Springer-Verlag},
	Series = {LNCS},
	Title = {{FACILE}: {A} Symmetric Integration of Concurrent and Functional Programming},
	Volume = {351},
	Year = {1989}}

@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{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,
	Author = {A.J. Gibbs and G.A. McIntyre},
	Journal = {Eur. J. Biochem.},
	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,
	Author = {A.J. Gibbs and G.A. McIntyre},
	Journal = {Eur. J. Biochem.},
	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},
	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},
	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},
	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},
	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},
	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},
	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},
	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},
	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.},
	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},
	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},
	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},
	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},
	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},
	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},
	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},
	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},
	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},
	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},
	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},
	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},
	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},
	Pages = {305--319},
	Publisher = {Prentice-Hall},
	Title = {Multimedia Component Frameworks},
	Url = {http://scg.unibe.ch/archive/oosc/index.html},
	Year = {1995},
	Bdsk-Url-1 = {http://scg.unibe.ch/archive/oosc/index.html}}

@inproceedings{Gibs97a,
	Author = {Paul Gibson},
	Booktitle = {Feature Interactions in Telecommunication Networks},
	Pages = {46--60},
	Publisher = {IOS Press},
	Title = {Feature Requirements Models: Understanding Interactions},
	Year = {1997}}

@mastersthesis{Gies03a,
	Author = {Simon Giesecke},
	Month = sep,
	School = {Carl von Ossietzky Universit\"at Oldenburg, Germany},
	Title = {{Clone}--based {Reengineering} f\"ur {Java} auf der {Eclipse}--{Plattform}},
	Url = {http://www.informatik.uni-oldenburg.de/~matrix/da/},
	Year = {2003},
	Bdsk-Url-1 = {http://www.informatik.uni-oldenburg.de/~matrix/da/}}

@book{Giff98a,
	Author = {Dwayne Gifford et al.},
	Publisher = {Sams},
	Title = {Access 97 Unleashed},
	Year = {1998}}

@inproceedings{Gil96a,
	Author = {Joseph Gil and David H. Lorenz},
	Booktitle = {Proceedings of OOPSLA'96},
	Pages = {214--231},
	Title = {{Environmental} {Acquisition} --- {A} New Inheritance-Like Abstraction Mechanism},
	Year = {1996}}

@book{Gilb05a,
	Address = {Newton, MA, USA},
	Author = {Tom Gilb},
	Isbn = {0750665076},
	Publisher = {Butterworth-Heinemann},
	Title = {Competitive Engineering: A Handbook For Systems Engineering, Requirements Engineering, and Software Engineering Using Planguage},
	Year = {2005}}

@inproceedings{Gilb88a,
	Address = {Oslo},
	Author = {Jonathan P. Gilbert and Lubomir Bic},
	Booktitle = {Proceedings ECOOP '88},
	Editor = {S. Gjessing and K. Nygaard},
	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},
	Publisher = {Addison Wesley},
	Title = {Software Inspection},
	Year = {1993}}

@book{Gill92a,
	Author = {Alan C. Gillies},
	Isbn = {1-85032-270-8},
	Publisher = {Thomson Computer Press},
	Title = {Software Quality},
	Year = {1992}}

@incollection{Gira87a,
	Author = {Jean-Yves Girard},
	Booktitle = {Mathematical Models for the Semantics of Parallelism},
	Editor = {M. Zilli},
	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},
	Pages = {1--102},
	Publisher = {North-Holland},
	Title = {Linear Logic},
	Volume = {50},
	Year = {1987}}

@misc{Gira88a,
	Author = {Jean-Yves Girard},
	Month = apr,
	Title = {Towards a Geometry of Interaction},
	Year = {1988}}

@unpublished{Gira92a,
	Author = {Rosario Girardi and Bertrand Ibrahim},
	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},
	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},
	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.},
	Author = {Tudor G\^irba and Michele Lanza},
	Booktitle = {WOOR 2004 (5th ECOOP Workshop on Object-Oriented Reengineering)},
	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}}

@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},
	Author = {Tudor G\^irba},
	Cvs = {TGirbaPhD},
	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}}

@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.},
	Author = {Tudor G\^irba and Michele Lanza and Radu Marinescu},
	Booktitle = {Proceedings of International Conference on Software Engineering (ICSE 2008)},
	Note = {Tutorial held at ICSE 2008},
	Pages = {n6},
	Title = {Pragmatic Software Quality Detection},
	Url = {http://scg.unibe.ch/archive/papers/Girb08aQualityAssessmentTutorial.pdf},
	Year = {2008},
	Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Girb08aQualityAssessmentTutorial.pdf}}

@book{Girb10a,
	Abstract = {This book offers an overview of the Moose platform
                  for software and data analysis. More specifically it
                  covers version 4.0.},
	Author = {Tudor G\^irba},
	Publisher = {Self Published},
	Title = {The Moose Book},
	Url = {http://www.themoosebook.org/book},
	Year = {2010},
	Bdsk-Url-1 = {http://www.themoosebook.org/book}}

@misc{Git00a,
	Key = {git},
	Title = {Git: The fast version control system},
	Url = {http:// git-scm.com/},
	Bdsk-Url-1 = {http://%20git-scm.com/}}

@article{Gitm70a,
	Author = {I. Gitman and M. D. Levine},
	Journal = {IEEE Transactions on Computers},
	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},
	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},
	Pages = {278--297},
	Publisher = {Springer-Verlag},
	Series = {LNCS},
	Title = {The Linear Time --- Branching Time Spectrum},
	Volume = {458},
	Year = {1990}}

@article{Glas02a,
	Author = {Leon Glass},
	Journal = {The Mathematical Intelligencer},
	Number = {4},
	Pages = {37--43},
	Title = {Looking at Dots},
	Volume = {24},
	Year = {2002}}

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

@book{Glass97a,
	Author = {Robert L. Glass},
	Publisher = {Prentice-Hall},
	Title = {Building Quality Software},
	Year = {1997}}

@unpublished{Glau91a,
	Author = {J. Glauert and Lone Leth and Bent Thomsen},
	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},
	Publisher = {John Wiley \& Sons, Inc.},
	Title = {Art of Software Testing},
	Year = {1979}}

@phdthesis{Gloo89a,
	Author = {Peter Gloor},
	Number = {University of Zurich},
	School = {B.G. Teubner, Stuttgart},
	Title = {Synchronisation in verteilten Systemen},
	Type = {{Ph.D}. Thesis},
	Year = {1989}}

@inproceedings{Gode05a,
	Address = {New York, NY, USA},
	Author = {Patrice Godefroid and Nils Klarlund and Koushik Sen},
	Booktitle = {Proceedings of the 2005 ACM SIGPLAN conference on programming language design and implementation (PLDI'05)},
	Doi = {10.1145/1065010.1065036},
	Isbn = {1-59593-056-6},
	Location = {Chicago, IL, USA},
	Pages = {213--223},
	Publisher = {ACM},
	Title = {DART: directed automated random testing},
	Year = {2005},
	Bdsk-Url-1 = {http://dx.doi.org/10.1145/1065010.1065036}}

@inproceedings{Godf00a,
	Author = {Michael W. Godfrey and Eric H. S. Lee},
	Booktitle = {Proc. of the Second Intl. Symposium on Constructing Software Engineering Tools (CoSET-00)},
	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)},
	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}}

@proceedings{Godi01a,
	Editor = {Robert Godin and Isabelle Borne},
	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},
	Month = jun,
	Pages = {58--64},
	Publisher = {University of Jyv\"askyl\"a},
	Title = {Inheritance and {Automation}: {Where} {Are} {We} {Now}?},
	Year = {2002}}

@inproceedings{Godi93a,
	Author = {Robert Godin and Hafedh Mili},
	Booktitle = {Proceedings OOPSLA '93 (8th Conference on Object-Oriented Programming Systems, Languages, and Applications)},
	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},
	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},
	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)},
	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},
	Number = {2},
	Pages = {117--134},
	Title = {Design of {Class} {Hierarchies} based on {Concept} ({Galois}) {Lattices}},
	Volume = {4},
	Year = {1998}}

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

@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},
	Month = jun,
	Pages = {165--180},
	Publisher = {Springer-Verlag},
	Series = {LNCS},
	Title = {Visual Concurrent Programming in {GARP}},
	Volume = {366},
	Year = {1989}}

@book{Goet06a,
	Author = {Brian Goetz and Tim Peierls and Joshua Bloch and Joseph Bowbeer and David Holmes and Doug Lea},
	Isbn = {978-0321349606},
	Publisher = {Addison Wesley},
	Title = {Java Concurrency in Practice},
	Year = {2006}}

@incollection{Goet91a,
	Author = {Jean-Marc Goetz and Carl Verhoest and Joel Brunet},
	Booktitle = {REBOOT '91},
	Publisher = {ESPRIT},
	Title = {O*: The Business Class Analysis Model},
	Year = {1991}}

@misc{Gofer,
	Key = {Gofer},
	Note = {Gofer is a tool on top of Monticello that performs versioning operations as clean as possible on Monticello packages.},
	Url = {http://www.lukas-renggli.ch/blog/gofer},
	Bdsk-Url-1 = {http://www.lukas-renggli.ch/blog/gofer}}

@inproceedings{Gogu86a,
	Author = {Joseph A. Goguen},
	Booktitle = {Proceedings IFIP '86},
	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},
	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},
	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},
	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},
	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},
	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},
	Month = feb,
	Pages = {47--55},
	Title = {Module Composition and System Design for the Object Paradigm},
	Year = {1995}}

@inproceedings{Gogu99a,
	Address = {Toulouse, France},
	Author = {Joseph Goguen and Grigore Ro{\c{s}}u},
	Booktitle = {Proceedings of FM '99},
	Month = aug,
	Pages = {1704--1719},
	Title = {Hiding More of Hidden Algebra},
	Url = {http://www-cse.ucsd.edu/users/goguen/projs/halg.html},
	Year = {1999},
	Bdsk-Url-1 = {http://www-cse.ucsd.edu/users/goguen/projs/halg.html}}

@inproceedings{Gogu99b,
	Address = {Auckland, New Zealand},
	Author = {Joseph Goguen},
	Booktitle = {Proceedings Combinatorics, Computation and Logic},
	Month = jan,
	Pages = {35--59},
	Publisher = {Springer Verlag},
	Title = {Hidden Algebra for Software Engineering},
	Url = {http://www-cse.ucsd.edu/users/goguen/projs/halg.html},
	Volume = {21},
	Year = {1999},
	Bdsk-Url-1 = {http://www-cse.ucsd.edu/users/goguen/projs/halg.html}}

@inproceedings{Goke02a,
	Address = {Aberdeen, UK},
	Author = {Ayse G\"oker and Hans I. Myrhaug},
	Booktitle = {ECCBR Workshop on Case Based Reasoning and Personalisation},
	Note = {invited paper},
	Title = {User context and Personalisation},
	Url = {https://www.cs.tcd.ie/cbrpws/Papers/AGoker.pdf},
	Year = {2002},
	Bdsk-Url-1 = {https://www.cs.tcd.ie/cbrpws/Papers/AGoker.pdf}}

@inproceedings{Gold03a,
	Author = {Nicolas Gold and Andrew Mohan},
	Booktitle = {Proceedings of International Conference on Software Maintenance 2003 (ICSM 2003)},
	Month = sep,
	Pages = {432--439},
	Title = {A Framework for Understanding Conceptual Changes in Evolving Source Code},
	Year = {2003}}

@inproceedings{Gold05a,
	Address = {New York, NY, USA},
	Author = {Simon Goldsmith and Robert O'Callahan and Alex Aiken},
	Booktitle = {Proceedings of Object-Oriented Programming, Systems, Languages, and Applications (OOPSLA'05)},
	Pages = {385--402},
	Publisher = {ACM Press},
	Title = {Relational Queries over Program Traces},
	Year = {2005}}

@inproceedings{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},
	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},
	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},
	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},
	Month = aug,
	Title = {Descriptions for a Programming Environment},
	Year = {1980}}

@techreport{Gold81a,
	Author = {Ira P. Goldstein and Daniel G. Bobrow},
	Institution = {Xerox PARC},
	Month = mar,
	Number = {CSL 81-3},
	Title = {An Experimental Description-based Programming Environment: Four Reports},
	Year = {1981}}

@book{Gold83a,
	Address = {Reading, Mass.},
	Author = {Adele Goldberg and David Robson},
	Isbn = {0-201-13688-0},
	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},
	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},
	Pages = {387--413},
	Publisher = {McGraw-Hill, New York},
	Title = {A Layered Approach to Software Design},
	Year = {1984}}

@book{Gold89a,
	Author = {Adele Goldberg and Dave Robson},
	Isbn = {0-201-13688-0},
	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},
	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},
	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},
	Month = jul,
	Pages = {1},
	Publisher = {Springer-Verlag},
	Series = {LNCS},
	Title = {Measurement Strategies},
	Volume = {1098},
	Year = {1996}}

@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{Golm02a,
	Address = {Berkeley, CA, USA},
	Author = {Golm, Michael and Felser, Meik and Wawersich, Christian and Klein\"{o}der, J\"{u}rgen},
	Booktitle = {ATEC '02: Proceedings of the General Track of the annual conference on USENIX Annual Technical Conference},
	Isbn = {1-880446-00-6},
	Pages = {45--58},
	Publisher = {USENIX Association},
	Title = {The JX Operating System},
	Year = {2002}}

@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},
	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{Golu80a,
	Author = {Martin Charles Golumbic},
	Publisher = {Academic Press},
	Title = {Algorithmic Graph Theory and Perfect Graphs},
	Year = {2004}}

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

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

@inproceedings{Gong09a,
	Author = {Li Gong},
	Booktitle = {Proceedings of ACSAC'09},
	Pages = {??--??},
	Title = {Java Security: A Ten Year Retrospective},
	Year = {2009}}

@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 = 0,
	Year = {1997},
	Bdsk-Url-1 = {http://dx.doi.org/10.1109/CMPCON.1997.584679}}

@book{Gong99a,
	Author = {Li Gong},
	Publisher = {Addison Wesley},
	Series = {The {Java} Series},
	Title = {Inside {Java} 2 Platform Security},
	Year = {1999}}

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

@book{Gonz77a,
	Address = {Reading, Mass.},
	Author = {R. Gonzalez and P. Wintz},
	Publisher = {Addison Wesley},
	Title = {Digital Image Processing},
	Year = {1977}}

@inproceedings{Good81a,
	Address = {Portland, Oregon},
	Author = {M. Good},
	Booktitle = {Proceedings of the ACM SIGPLAN SIGOA Symposium on Text Manipulation},
	Misc = {June 8-10},
	Month = jun,
	Title = {Etude and the Folklore of User Interface Design},
	Year = {1981}}

@book{Good87a,
	Author = {Danny Goodman},
	Isbn = {1583480048},
	Publisher = {iUniverse},
	Title = {The Complete HyperCard 2.2 Handbook},
	Year = {1998}}

@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},
	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{Goos94a,
	Author = {Michael Goossens and Frank Mittelbach and Alexander Samarin},
	Isbn = {0-201-54199-8},
	Note = {ordered but not received},
	Publisher = {Addison Wesley},
	Title = {The Latex Companion},
	Year = {1994}}

@book{Goos97a,
	Author = {Michel Goossens and Sebastian Rahtz and Frank Mittelbach},
	Isbn = {0321508920 978-0321508928},
	Note = {ordered but not received},
	Publisher = {Addison-Wesley},
	Title = {The LaTeX Graphics Companion: Illustrating Documents with TeX and Postscript(R) (Tools and Techniques for Computer Typesetting)},
	Year = {2007}}

@book{Goos99a,
	Author = {Michael Goossens and Sebastian Rahtz},
	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}}

@inproceedings{Gord07a,
	Address = {New York, NY, USA},
	Author = {Donald Gordon and James Noble},
	Booktitle = {DLS '07: Proceedings of the 2007 symposium on Dynamic languages},
	Editor = {Pascal Costanza and Robert Hirschfeld},
	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{Gord79a,
	Author = {M.J.C. Gordon and A.J. Milner and C.P. Wadsworth},
	Publisher = {Springer-Verlag},
	Series = {LNCS},
	Title = {Edinburgh {LCF}},
	Volume = {78},
	Year = {1979}}

@book{Gord79b,
	Author = {M.J.C. Gordon},
	Publisher = {Springer-Verlag},
	Title = {The Denotational Description of Programming Languages},
	Year = {1979}}

@book{Gord81a,
	Address = {London},
	Author = {A. D. Gordon},
	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},
	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},
	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{Gore96a,
	Author = {Jacob Gore},
	Isbn = {0-201-63480-5},
	Publisher = {Addison Wesley},
	Title = {Object Structures: Building Object-Oriented Software Components with Eiffel},
	Year = {1996}}

@book{Gosl00a,
	Author = {James Gosling and Bill Joy and Guy Steele and Gilad Bracha},
	Isbn = {0-201-31008-2},
	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},
	Publisher = {Addison Wesley},
	Title = {The {Java} Language Specification (Third Edition)},
	Year = {2005}}

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

@book{Gosl95a,
	Author = {James Gosling and H. McGilton},
	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},
	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},
	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},
	Publisher = {Addison Wesley},
	Title = {The {Java} Application Programming Interface Volume 2},
	Year = {1996}}

@inproceedings{Goss90a,
	Author = {Sanjiv Gossain and Bruce Anderson},
	Booktitle = {Proceedings OOPSLA/ECOOP '90, ACM SIGPLAN Notices},
	Month = oct,
	Pages = {12--27},
	Title = {An Iterative-Design Model for Reusable Object-Oriented Software},
	Volume = {25},
	Year = {1990}}

@article{Goth05a,
	Author = {Greg Goth},
	Doi = {10.1109/MS.2005.96},
	Journal = {IEEE Software},
	Number = {4},
	Pages = {108--111},
	Title = {Beware the March of This {IDE}: {Eclipse} Is Overshadowing Other Tool Technologies},
	Url = {http://csdl.computer.org/comp/mags/so/2005/04/s4108.pdf},
	Volume = {22},
	Year = {2005},
	Bdsk-Url-1 = {http://csdl.computer.org/comp/mags/so/2005/04/s4108.pdf},
	Bdsk-Url-2 = {http://dx.doi.org/10.1109/MS.2005.96}}

@article{Gott96a,
	Author = {Georg Gottlob and Michael Schrefl and Brigitte R{\"o}ck},
	Journal = {ACM Transactions on Information Systems},
	Month = jul,
	Number = {3},
	Pages = {268--296},
	Title = {Extending Object-Oriented Systems with Roles},
	Volume = {14},
	Year = {1996}}

@techreport{Gotz92a,
	Author = {Norbert G{\"o}tz and Ulrich Herzog and Michael Rettelbach},
	Institution = {Universit{\"a}t Erlangen-N{\"u}rnberg},
	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},
	Pages = {113--146},
	Title = {Improving application development productivity by using {ITS}},
	Volume = {39},
	Year = {1993}}

@inproceedings{Gous08a,
	Address = {New York, NY, USA},
	Author = {Gousios, Georgios and Kalliamvakou, Eirini and Spinellis, Diomidis},
	Booktitle = {MSR '08: Proceedings of the 2008 international working conference on Mining software repositories},
	Doi = {10.1145/1370750.1370781},
	Isbn = {978-1-60558-024-1},
	Location = {Leipzig, Germany},
	Pages = {129--132},
	Publisher = {ACM},
	Title = {Measuring developer contribution from software repository data},
	Year = {2008},
	Bdsk-Url-1 = {http://dx.doi.org/10.1145/1370750.1370781}}

@inproceedings{Govi00a,
	Address = {Washington, DC, USA},
	Author = {Madhusudhan Govindaraju and Aleksander Slominski and Venkatesh Choppella and Randall Bramley and Dennis Gannon},
	Booktitle = {Supercomputing '00: Proceedings of the 2000 ACM/IEEE conference on Supercomputing (CDROM)},
	Isbn = {0-7803-9802-5},
	Location = {Dallas, Texas, United States},
	Pages = {61},
	Publisher = {IEEE Computer Society},
	Title = {Requirements for and evaluation of RMI protocols for scientific computing},
	Year = {2000}}

@techreport{Gowi96,
	Author = {Gowing, Brendan and Cahill, Vinny},
	Institution = {AAA},
	Publisher = {University of Bologna},
	Source = {http://www.ncstrl.org:8900/ncstrl/servlet/search?formname=detail\&id=oai%3Ancstrlh%3Acabernet%3Ancstrl.cabernet%2F%2FTCD-DSG\#TCD-CS-96-16},
	Title = {Meta-Object Protocols for {C++}: The {Iguana} Approach},
	Year = {1996}}

@article{Graf86a,
	Author = {Suzanne Graf and Joseph Sifakis},
	Journal = {Acta Informatica},
	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},
	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},
	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},
	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{Gran08a,
	Address = {Los Alamitos CA},
	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},
	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}}

@book{Gran98b,
	Author = {Mark Grant},
	Isbn = {0-471-25839-3},
	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{Gras86a,
	Author = {J.E. Grass and R.H. Campbell},
	Booktitle = {Proceedings of the IEEE Conference on Distributed Computing Systems},
	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},
	Pages = {6:41--81},
	Title = {La Reconstruction du Nid et les Coordinations Inter-Individuelles chez Bellicositermes Natalensis et Cubitermes sp. La theorie de la Stigmergie: Essai d'Interpretation du Comportement des Termites Construcieurs},
	Year = {1959}}

@inproceedings{Grass92a,
	Author = {Judith E. Grass},
	Booktitle = {Proceddings of The Advanced Computing Systems Professional and Technical Association (USENIX) Conference C++},
	Date-Added = {2009-10-21 10:53:41 +0200},
	Date-Modified = {2009-10-21 10:56:04 +0200},
	Pages = {181-194},
	Title = {Cdiff: A Syntax Directed Differencer for C++ Programs},
	Year = {1992}}

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

@inproceedings{Grau88a,
	Address = {Oslo},
	Author = {Nicolas Graube},
	Booktitle = {Proceedings ECOOP '88},
	Editor = {S. Gjessing and K. Nygaard},
	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},
	Month = oct,
	Pages = {305--316},
	Title = {Metaclass Compatibility},
	Volume = {24},
	Year = {1989}}

@phdthesis{Grau98a,
	Address = {Germany},
	Author = {Graudejus, H.},
	School = {Univeristy of Kaiserslautern},
	Title = {Implementing a Concept Analysis Tool for Identifying Abstract Data Types in C Code},
	Year = {1998}}

@article{Grav00a,
	Author = {T. L. Graves and A. F. Karr and J. S. Marron and H. Siy},
	Journal = {IEEE Transactions on Software Engineering},
	Number = {2},
	Title = {Predicting Fault Incidence Using Software Change History},
	Volume = {26},
	Year = {2000}}

@phdthesis{Grav89a,
	Author = {Justin Graver},
	Month = aug,
	Number = {UIUC DCS-R-89-1539},
	School = {University of Illinois at Urbana-Champaign},
	Title = {Type-Checking and Type-Inference for Object-Oriented Programming Languages},
	Type = {{Ph.D}. Thesis},
	Year = {1989}}

@article{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{Gray81a,
	Author = {J. Gray},
	Booktitle = {Proceedings of the Seventh International Conference on Very Large Data Bases},
	Pages = {144--154},
	Title = {The Transaction Concept: Virtues and Limitations},
	Year = {1981}}

@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{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.},
	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},
	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,
	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},
	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.},
	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},
	Medium = {2},
	Month = sep,
	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}}

@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},
	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.},
	Author = {Orla Greevy},
	Booktitle = {Proceedings of FAMOOSr 2007 (Ist International Workshop on FAMIX and Moose in Reengineering)},
	Medium = {2},
	Month = jun,
	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}}

@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)},
	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},
	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},
	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},
	Month = jun,
	Pages = {205--229},
	Publisher = {Springer-Verlag},
	Series = {LNCS},
	Title = {An Object-Oriented Effects System},
	Volume = 1628,
	Year = {1999}}

@article{Grei00a,
	Author = {Howard Greisdorf},
	Journal = {Informing Science},
	Note = {Special Issue on Information Science Research},
	Number = {2},
	Title = {Relevance: An Interdisciplinary and Information Science Perspective},
	Volume = {3},
	Year = {2000}}

@misc{Grid,
	Key = {Extreme! Computing Lab},
	Note = {http://www.extreme.indiana.edu/xgws/},
	Title = {Indiana University, Extreme! Computing Lab. Grid Web Services},
	Url = {http://www.extreme.indiana.edu/xgws/},
	Bdsk-Url-1 = {http://www.extreme.indiana.edu/xgws/}}

@article{Grie77a,
	Author = {David Gries and N. Gehani},
	Journal = {CACM},
	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},
	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},
	Publisher = {dpunkt-Verlag},
	Title = {Componentware: Konzepte und Techniken eines Softwareparadigmas},
	Year = {1998}}

@techreport{Grim04a,
	Author = {Robert Grimm},
	Institution = {New York University},
	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}}

@inproceedings{Grim06a,
	Author = {Robert Grimm},
	Booktitle = {PLDI 2006},
	Organization = {ACM},
	Pages = {38--51},
	Title = {Better extensibility through modular syntax},
	Year = {2006}}

@inproceedings{Grim87a,
	Author = {Andrew S. Grimshaw and Jane W.S. Liu},
	Booktitle = {Proceedings OOPSLA '87, ACM SIGPLAN Notices},
	Month = dec,
	Pages = {35--47},
	Title = {Mentat: An Object-Oriented Macro Data Flow System},
	Volume = {22},
	Year = {1987}}

@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{Gris93d,
	Address = {New York, NY, USA},
	Author = {William G. Griswold and David Notkin},
	Doi = {10.1145/152388.152389},
	Issn = {1049-331X},
	Journal = {ACM Trans. Softw. Eng. Methodol.},
	Number = {3},
	Pages = {228--269},
	Publisher = {ACM},
	Title = {Automated assistance for program restructuring},
	Volume = {2},
	Year = {1993},
	Bdsk-Url-1 = {http://dx.doi.org/10.1145/152388.152389}}

@article{Gris95a,
	Author = {William G. Griswold and David Notkin},
	Journal = {IEEE Transactions on Software Engineering},
	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},
	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{Groh98a,
	Address = {Berlin},
	Author = {B. Groh and S. Strahringer and R. Wille},
	Booktitle = {Proceedings of the 6th International Conference on Conceptual Structures},
	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},
	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,
	Address = {Sweden},
	Author = {Guillaume Grondin and Noury Bouraqadi and Laurent Vercouter},
	Booktitle = {Proceedings of the 9th International Symposium on CBSE (Component-Based Software Engineering)},
	Month = {jun},
	Pages = {360-367},
	Publisher = {Springer},
	Series = {LNCS},
	Title = {MaDcAr: an Abstract Model for Dynamic and Automatic (Re-)Assembling of Component-Based Applications},
	Year = {2006}}

@inproceedings{Gron06b,
	Author = {Jessica Gronski and Kenneth Knowles and Aaron Tomb and Stephen N. Freund and Cormac Flanagan},
	Booktitle = {Scheme and Functional Programming Workshop},
	Pages = {93--104},
	Title = {Sage: Hybrid Checking for Flexible Specifications},
	Year = {2006}}

@inproceedings{Gros02a,
	Author = {Grossman, D and Morrisett, J.G. and Jim, T. and Hicks, M. W. and Cheney, J},
	Booktitle = {Proceedings of PLDI},
	Title = {Region-based memory management in Cyclone},
	Year = {2002}}

@inproceedings{Gros02b,
	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},
	Pages = {295--298},
	Title = {Predicting software stability using Case-Based Reasoning},
	Year = {2002}}

@book{Gros04a,
	Author = {Gross},
	Publisher = {CRC Press},
	Title = {Handbook of graph theory},
	Year = {2004}}

@article{Gros07a,
	Address = {New York, NY, USA},
	Author = {Dan Grossman},
	Doi = {10.1145/1297105.1297080},
	Issn = {0362-1340},
	Journal = {SIGPLAN Notices},
	Number = {10},
	Pages = {695--706},
	Publisher = {ACM},
	Title = {The transactional memory / garbage collection analogy},
	Volume = {42},
	Year = {2007},
	Bdsk-Url-1 = {http://dx.doi.org/10.1145/1297105.1297080}}

@inproceedings{Gros87a,
	Author = {Mark Grossman and Raimund K. Ege},
	Booktitle = {Proceedings OOPSLA '87, ACM SIGPLAN Notices},
	Month = dec,
	Pages = {295--306},
	Title = {Logical Composition of Object-Oriented Interfaces},
	Volume = {22},
	Year = {1987}}

@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},
	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},
	Month = aug,
	Number = {8},
	Pages = {36--48},
	Title = {The {Smalltalk}-80 System},
	Volume = {6},
	Year = {1981}}

@article{Grov01a,
	Author = {D. Grove and C. Chambers},
	Journal = {ACM Trans.\ Program. Lang.\ Syst.},
	Number = 6,
	Pages = {685--746},
	Title = {A Framework for Call Graph Construction Algorithms},
	Volume = 23,
	Year = {2001}}

@book{Grub05a,
	Author = {Penny Grubb and Armstrong A. Takang},
	Edition = {second edition},
	Publisher = {World Scientific},
	Title = {Software Maintenance Concepts and Practices},
	Year = {2005}}

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

@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{Gsch03a,
	Address = {Washington, DC, USA},
	Author = {Thomas Gschwind and Johann Oberleitner},
	Booktitle = {Proceedings of the Seventh European Conference on Software Maintenance and Reengineering (CSMR'03)},
	Isbn = {0-7695-1902-4},
	Pages = {259},
	Publisher = {IEEE Computer Society},
	Title = {Improving Dynamic Data Analysis with Aspect-Oriented Programming},
	Year = {2003}}

@inproceedings{Gude06a,
	Address = {New York, NY, USA},
	Author = {J\"urgen Wolff v. Gudenberg and A. Niederle and M. Ebner and Holger Eichelberger},
	Booktitle = {SoftVis '06: Proceedings of the 2006 ACM symposium on Software visualization},
	Doi = {10.1145/1148493.1148525},
	Isbn = {1-59593-464-2},
	Location = {Brighton, United Kingdom},
	Pages = {163--164},
	Publisher = {ACM},
	Title = {Evolutionary layout of UML class diagrams},
	Year = {2006},
	Bdsk-Url-1 = {http://dx.doi.org/10.1145/1148493.1148525}}

@inproceedings{Gueh01a,
	Author = {Yann-Ga{\"e}l Gu{\'e}h{\'e}neuc and Herv{\'e} Albin-Amiot},
	Booktitle = {proceedings of the 39$^{th}$ conference on the Technology of Object-Oriented Languages and Systems},
	Editor = {Quioyun Li and Richard Riehle and Gilda Pour and Bertrand Meyer},
	Month = jul,
	Pages = {296--305},
	Publisher = {IEEE Computer Society Press},
	Title = {Using Design Patterns and Constraints to Automate the Detection and Correction of Inter-Class Design Defects},
	Url = {www.yann-gael.gueheneuc.net/Work/Publications/},
	Year = {2001},
	Bdsk-Url-1 = {www.yann-gael.gueheneuc.net/Work/Publications/}}

@inproceedings{Gueh02a,
	Author = {Yann-Ga{\"e}l Gu{\'e}h{\'e}neuc and R{\'e}mi Douence and Narendra Jussien},
	Booktitle = {ASE},
	Pages = {117},
	Publisher = {IEEE Computer Society},
	Title = {No Java without Caffeine: {A} Tool for Dynamic Analysis of Java Programs},
	Year = {2002}}

@inproceedings{Gueh04a,
	Address = {Los Alamitos CA},
	Author = {Gu{\'e}h{\'e}neuc, Yann-Ga\"el and Sahraoui, Houari and Zaidi, Farouk},
	Booktitle = {Working Conference on Reverse Engineering (WCRE'04)},
	Pages = {172--181},
	Publisher = {IEEE Computer Society Press},
	Title = {Fingerprinting Design Patterns},
	Year = {2004}}

@inproceedings{Gueh06a,
	Abstract = {While many commercial and academic design recovery
                  tools have been proposed over the years, assessing
                  their relevance and comparing them is difficult due
                  to the lack of a well-defined, comprehensive, and
                  common framework. In this paper, we introduce such a
                  common comparative framework. The framework builds
                  upon our own experience and extends existing
                  comparative frameworks. We illustrate the
                  comparative framework on two specific design
                  recovery tools.},
	Address = {Los Alamitos CA},
	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)},
	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}}

@unpublished{Guen90a,
	Author = {Andreas G{\"u}ndel},
	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},
	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},
	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},
	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},
	Title = {Atomic Asynchronous Objects Invocations in a Fault-Tolerant Distributed System},
	Year = {1992}}

@phdthesis{Guer92c,
	Author = {Rachid Guerraoui},
	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},
	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},
	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},
	Month = jul,
	Pages = {118--138},
	Publisher = {Springer-Verlag},
	Series = {LNCS},
	Title = {Atomic Object Composition},
	Volume = {821},
	Year = {1994}}

@inproceedings{Guer94c,
	Address = {New York, NY, USA},
	Author = {Rachid Guerraoui and Beno\^it Garbinato and Karim R. Mazouni},
	Booktitle = {EW 6: Proceedings of the 6th workshop on ACM SIGOPS European workshop},
	Doi = {10.1145/504390.504404},
	Isbn = {1-23456-789-0},
	Location = {Wadern, Germany},
	Pages = {51--56},
	Publisher = {ACM Press},
	Title = {The {GARF} library of {DSM} consistency models},
	Year = {1994},
	Bdsk-Url-1 = {http://dx.doi.org/10.1145/504390.504404}}

@inproceedings{Guer98a,
	Address = {New York, NY, USA},
	Author = {Rachid Guerraoui and Pascal Felber and Beno\^it Garbinato and Karim Mazouni},
	Booktitle = {OOPSLA '98: Proceedings of the 13th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications},
	Doi = {10.1145/286936.286961},
	Isbn = {1-58113-005-8},
	Location = {Vancouver, British Columbia, Canada},
	Pages = {244--258},
	Publisher = {ACM Press},
	Title = {System support for object groups},
	Year = {1998},
	Bdsk-Url-1 = {http://dx.doi.org/10.1145/286936.286961}}

@article{Guib82a,
	Author = {Leo Guibas and J. Stolfi},
	Journal = {ACM TOG},
	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},
	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},
	Publisher = {ACM},
	Title = {Control of Cognitive Processes During Software Design: What Tools are Needed?},
	Year = {1988}}

@inproceedings{Gull92a,
	Address = {Los Alamitos CA},
	Author = {Bjorn Gulla},
	Booktitle = {Proceedings Conference on Software Maintenance (ICSM 1992)},
	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{Gunt92a,
	Author = {Carl. A. Gunter},
	Isbn = {0-262-57095-5},
	Publisher = {MIT Press},
	Title = {Semantics of Programming Languages},
	Year = {1995}}

@book{Gunt94a,
	Author = {Carl A. Gunter and John C. Mitchell},
	Isbn = {0-262-07155-X},
	Publisher = {The MIT Press},
	Title = {Theoretical Aspects of Object-Oriented Programming},
	Year = {1994}}

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

@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{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},
	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},
	Month = oct,
	Pages = {176--192},
	Publisher = {Springer-Verlag},
	Series = {LNCS},
	Title = {Algebraic Operational Semantics and Occam},
	Volume = {440},
	Year = {1989}}

@techreport{Gurt06a,
	Abstract = {Java Server Pages (JSP) is an already established
                  technology for web application development, and thus
                  there is a big need for tools to support reverse
                  engineering of JSP applications. A first step
                  towards the analysis is creating the model by
                  parsing JSP. We have built j2moose as an Eclipse
                  plugin to parse JSP using the Eclipse capabilities.
                  We have validated the approach by extending the
                  Moose reengineering environment to load the exported
                  models from j2moose.},
	Author = {David Gurtner},
	Institution = {University of Bern},
	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}}

@book{Gusf97a,
	Author = {Dan Gusfield},
	Publisher = {Cambridge University Press},
	Title = {Algorithms on Strings, Trees, and Sequences},
	Year = {1997}}

@inproceedings{Gutf87a,
	Author = {Steven H. Gutfreund},
	Booktitle = {Proceedings OOPSLA '87, ACM SIGPLAN Notices},
	Month = dec,
	Pages = {307--317},
	Title = {ManiplIcons in ThinkerToy},
	Volume = {22},
	Year = {1987}}

@article{Gutt77a,
	Author = {John Guttag},
	Journal = {CACM},
	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},
	Month = apr,
	Pages = {1--14},
	Publisher = {Springer-Verlag},
	Series = {LNCS},
	Title = {Goldilocks and Three Specifications},
	Volume = {668},
	Year = {1993}}

@book{Guzd01a,
	Author = {Mark Guzdial},
	Publisher = {Prentice-Hall},
	Title = {Squeak --- Object Oriented Design with Multimedia Applications},
	Year = {2001}}

@book{Guzd01b,
	Author = {Mark Guzdial and Kim Rose},
	Publisher = {Prentice-Hall},
	Title = {Squeak --- Open Personal Computing and Multimedia},
	Year = {2001}}

@inproceedings{Gysi10a,
	Abstract = {Search is a fundamental activity in software
                  development. However, to search source code
                  efficiently, it is not sufficient to implement a
                  traditional full text search over a base of source
                  code, human factors have to be taken into account as
                  well. We looked into ways of increasing the search
                  results code trustability by providing and analysing
                  a range of meta data alongside the actual search
                  results.},
	Author = {Florian S. Gysin},
	Booktitle = {Proceedings International Conference on Software Engineering, ICSE '10, Student Research Competition},
	Doi = {10.1145/1810295.1810457},
	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.},
	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},
	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
                  in- tegrate 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},
	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},
	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},
	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},
	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},
	Month = oct,
	Pages = {269--277},
	Title = {{COOL}: Kernel Support for Object-Oriented Environments},
	Volume = {25},
	Year = {1990}}

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

@inproceedings{Hack94a,
	Address = {Knoxville, TN},
	Author = {Steven T. Hackstadt and Allen D. Malony and Bernd Mohr},
	Booktitle = {Proc. of the Scalable High Performance Computing Conference (SHPCC)},
	Month = may,
	Pages = {342--349},
	Title = {Scalable Performance Visualization for Data-Parallel Programs},
	Year = {1994}}

@inproceedings{Haeb88a,
	Author = {Paul E. Haeberli},
	Booktitle = {Proceedings SIGGRAPH' 88, ACM Computer Graphics},
	Doi = {10.1145/378456.378494},
	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},
	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.},
	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)},
	Medium = {2},
	Month = oct,
	Pages = {32--36},
	Title = {Using Dynamic Analysis for {API} Migration},
	Url = {http://scg.unibe.ch/archive/papers/Haen08bAPImigration.pdf http://swerl.tudelft.nl/bin/view/PCODA/PCODA2008#Proceedings},
	Year = {2008},
	Bdsk-Url-2 = {http://scg.unibe.ch/archive/papers/Haen08bAPImigration.pdf%20http://swerl.tudelft.nl/bin/view/PCODA/PCODA2008#Proceedings}}

@mastersthesis{Haen09a,
	Abstract = {Unit tests are primarily written as a good practice
                  to support software evolution, i.e., to help
                  developers to identify and fix bugs, to refactor
                  code and to serve as documentation for a unit of
                  software under test. To achieve these benefits, unit
                  tests ideally should cover all possible paths in a
                  program. One unit test usually covers one specific
                  path in one function or method. However, a test
                  method is not necessary an encapsulated, independent
                  entity. Often a test method's coverage is a superset
                  of another test method's coverage set and thus
                  defects are not well isolated, i.e., one defect
                  causes multiple test methods to fail. In this work
                  we present an approach to automatically migrate
                  JUnit test classes to JExample. JExample allows test
                  methods to declare explicit dependencies to other
                  test methods and therefore improves defect
                  isolation. With dynamic analysis we recover the
                  coverage set of each test method and by partially
                  ordering the test methods by means of their coverage
                  sets we derive implicit dependencies between test
                  methods. With program transformation we rewrite the
                  original JUnit test classes as test classes with
                  explicit dependencies between test methods that can
                  be executed with JExample. In a case study on 16
                  projects we found that 72% of all test methods have
                  latent dependencies to other test methods and that
                  by declaring these dependencies defect isolation
                  (measured as average square of failures per defect)
                  could be improved by a factor of 3.77 or higher.},
	Author = {Lea H\"ansenberger},
	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}}

@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 Haerry},
	Institution = {University of Bern},
	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 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}}

@article{Haer83a,
	Author = {T. Haerder and A. Reuter},
	Journal = {ACM Computing Surveys},
	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},
	Month = nov,
	Title = {An Object-Oriented Integration Framework for Building Heterogeneous Database Systems},
	Year = {1992}}

@inproceedings{Hage90a,
	Author = {P.J.W ten Hagen},
	Booktitle = {Proceedings of the workshop: User Interface Management and Design},
	Pages = {3--6},
	Publisher = {Springer-Verlag},
	Title = {Critique of the Seeheim model},
	Year = {1990}}

@inproceedings{Hagi94a,
	Address = {Bologna, Italy},
	Author = {Daniel Hagimont},
	Booktitle = {Proceedings ECOOP '94},
	Editor = {M. Tokoro and R. Pareschi},
	Month = jul,
	Pages = {280--298},
	Publisher = {Springer-Verlag},
	Series = {LNCS},
	Title = {Protection in the Guide Object-Oriented Distributed System},
	Volume = {821},
	Year = {1994}}

@article{Hail90a,
	Author = {Brent Hailpern and Harold Ossher},
	Journal = {IEEE Transactions on Software Enginnering},
	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},
	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},
	Month = jun,
	Number = {1-2},
	Publisher = {Kluwer Academic Publishers},
	Title = {Database reverse Engineering: From requirements to {CARE} Tools},
	Volume = {3},
	Year = {1996}}

@inproceedings{Haji06a,
	Author = {Elnar Hajiyev and Mathieu Verbaere and Oege de Moor},
	Booktitle = {ECOOP '06: Proceedings of the 20th European Conference on Object-Oriented Programming},
	Pages = {2--28},
	Publisher = {Springer-Verlag},
	Title = {CodeQuest: Scalable Source Code Queries with Datalog},
	Year = {2006}}

@inproceedings{Hako99a,
	Author = {Harri Hakonen and Ville Lepp{\"a}nen and Timo Raita and Tapio Salakoski and Jukka Teuhola},
	Booktitle = {Fenno-Ugric Symposium on Software Technology},
	Pages = {139--150},
	Title = {Improving Object integrity and preventing side effects via deeply immutable references},
	Year = {1999}}

@phdthesis{Halb84a,
	Address = {Berkeley CA},
	Author = {Daniel C. Halbert},
	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},
	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},
	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},
	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}}

@article{Hall05a,
	Address = {Hingham, MA, USA},
	Author = {Hall, Gregory A. and Tao, Wenyou and Munson, John C.},
	Doi = {10.1007/s11219-005-1753-8},
	Issn = {0963-9314},
	Journal = {Software Quality Control},
	Number = {3},
	Pages = {281--296},
	Publisher = {Kluwer Academic Publishers},
	Title = {Measurement and Validation of Module Coupling Attributes},
	Volume = {13},
	Year = {2005},
	Bdsk-Url-1 = {http://dx.doi.org/10.1007/s11219-005-1753-8}}

@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{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},
	Publisher = {ESPRIT},
	Title = {Towards and Object Algebra},
	Year = {1991}}

@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},
	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},
	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)},
	Title = {A Petri Net-based Model for Web Service Composition},
	Year = {2003}}

@misc{Hami93a,
	Address = {Mountain View, CA, USA},
	Author = {Hamilton, Graham and Kougiouris, Panos},
	Publisher = {Sun Microsystems, Inc.},
	Title = {The Spring Nucleus: A Microkernel for Objects},
	Year = {1993}}

@misc{Hami97a,
	Author = {Graham Hamilton and Rick Hamilton and Rick Cattell and Maydene Fisher},
	Isbn = {0-201-30995-5},
	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},
	Misc = {June 8-10},
	Month = jun,
	Title = {The Implementation of Etude, an Integrated and Interactive Document Production System},
	Year = {1981}}

@inproceedings{Hamo03a,
	Author = {Abdelwahab Hamou-Lhadj and Timothy Lethbridge},
	Booktitle = {Proceedings of 1st International Workshop on Dynamic Analysis (WODA)},
	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)},
	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)},
	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)},
	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,
	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},
	Medium = {2},
	Month = oct,
	Pages = {298--298},
	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}}

@book{Han00a,
	Author = {Jiawei Han and Micheline Kamber},
	Publisher = {Morgan Kaufmann},
	Title = {Data Mining: Concept and Techniques},
	Year = {2000}}

@inproceedings{Han97a,
	Address = {Washington, DC, USA},
	Author = {Han, Jun},
	Booktitle = {STEP '97: Proceedings of the 8th International Workshop on Software Technology and Engineering Practice (STEP '97) (including CASE '97)},
	Isbn = {0-8186-7840-2},
	Pages = {172},
	Publisher = {IEEE Computer Society},
	Title = {Supporting Impact Analysis and Change Propagation in Software Engineering Environments},
	Year = {1997}}

@book{Hand02a,
	Author = {Per Brinch Hansen},
	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}}

@techreport{Hank92a,
	Author = {Chris Hankin and Daniel Le M{\'e}tayer and David Sands},
	Institution = {INRIA-Rennes},
	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},
	Month = mar,
	Publisher = {Springer-Verlag},
	Series = {LNCS},
	Title = {Proceedings {ESOP}'98},
	Volume = {1381},
	Year = {1998}}

@article{Hanr90a,
	Author = {M. Hanrandi and J. Ning},
	Journal = {IEEE Transaction on Software Engineering},
	Number = {1},
	Pages = {74--81},
	Publisher = {IEEE},
	Title = {Knowledge-Based Program Analysis},
	Volume = {7},
	Year = {1990}}

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

@article{Hans72a,
	Author = {Per Brinch Hansen},
	Journal = {CACM},
	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},
	Number = {4},
	Pages = {223--245},
	Title = {Concurrent Programming Concepts},
	Volume = {5},
	Year = {1973}}

@article{Hans78a,
	Author = {Per Brinch Hansen},
	Journal = {CACM},
	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},
	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{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},
	Location = {Atlanta, Georgia},
	Pages = {11--15},
	Posted-At = {2010-02-01 09:23:46},
	Priority = {2},
	Publisher = {ACM},
	Title = {Potentials and challenges of recommendation systems for software development},
	Url = {http://dx.doi.org/10.1145/1454247.1454251},
	Year = {2008},
	Bdsk-Url-1 = {http://dx.doi.org/10.1145/1454247.1454251}}

@incollection{Hara93a,
	Abstract = {Ordinary object type is a one-to-one relation
                  between caller and callee. When communication
                  patters are introduced into object types, they must
                  be extended to relations among to two-or-more
                  object. We propose a new type framework that
                  expresses communication patters and two-or-more
                  object connections, and its implementation on
                  asynchronous faulty networks using future
                  communication property. Although our type is static
                  and not higher order, we can construct a
                  computational model with dynamic properties.},
	Author = {Yasunori Harada},
	Booktitle = {Object Technologies for Advanced Software, First JSSST International Symposium},
	Month = nov,
	Pages = {475--488},
	Publisher = {Springer-Verlag},
	Series = {Lecture Notes in Computer Science},
	Title = {A Type Mechanism Based on Restricted {CCS} for Distributed Active Objects},
	Volume = {742},
	Year = {1993}}

@article{Hare88a,
	Author = {D. Harel},
	Journal = {CACM},
	Month = may,
	Number = {5},
	Pages = {514--530},
	Title = {On Visual Formalisms},
	Volume = {31},
	Year = {1988}}

@article{Hare90a,
	Author = {D. Harel and H. Lachover and A. Naamad and Amir Pnueli and M. Politi and R. Sherman and A. Shtull-Trauring and M. Trakhtenbrot},
	Journal = {IEEE Transactions on Software Engineering},
	Month = apr,
	Number = {4},
	Pages = {403--414},
	Title = {{STATEMATE}: {A} Working Environment for the Development of Complex Reactive Systems},
	Volume = {SE-16},
	Year = {1990}}

@book{Hari04a,
	Author = {P. Van Roy and S. Haridi},
	Note = {received, library},
	Publisher = {MIT PRESS},
	Title = {Concepts, Techniques and models of computer programming},
	Year = {2004}}

@article{Harm01b,
	Address = {Department of Information Systems and Computing, Brunel University, Uxbridge, Middlesex, UB8 3PH, UK},
	Author = {Harman Mark and Hierons Robert},
	Doi = {10.1002/swf.41},
	Journal = {Software Focus},
	Number = {3},
	Pages = {85--92},
	Title = {An overview of program slicing},
	Volume = {2},
	Year = {2001},
	Bdsk-Url-1 = {http://dx.doi.org/10.1002/swf.41}}

@inproceedings{Harm02a,
	Author = {Mark Harman and Robert Hierons and Mark Proctor},
	Booktitle = {In GECCO 2002: Proceedings of the Genetic and Evolutionary Computation Conference},
	Pages = {1351--1358},
	Publisher = {Morgan Kaufmann Publishers},
	Title = {A new representation and crossover operator for search-based optimization of software modularization},
	Year = {2002}}

@inproceedings{Harm07f,
	Author = {Mark Harman and Laurence Tratt},
	Booktitle = {Proceddings of GECCO'07},
	Pages = {1106-1113},
	Title = {Pareto Optimal Search Based Refactoring at the Design Level},
	Year = {2007}}

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

@book{Haro97a,
	Author = {Elliote Rusty Harold},
	Isbn = {1-56592-227-1},
	Publisher = {O'Reilly},
	Title = {Java Network Programming},
	Year = {1997}}

@inproceedings{Harp94a,
	Address = {Los Alamitos, CA, USA},
	Author = {Harpal Maini and Kishan Mehrotra and Chilukuri Mohan and Sanjay Ranka},
	Booktitle = {Supercomputing '94: Proceedings of the 1994 conference on Supercomputing},
	Isbn = {0-8186-6605-6},
	Location = {Washington, D.C., United States},
	Pages = {449--457},
	Publisher = {IEEE Computer Society Press},
	Title = {Genetic algorithms for graph partitioning and incremental graph partitioning},
	Year = {1994}}

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

@book{Harr04a,
	Author = {Bobby Harris and Rob Warner and Robert Harris},
	Isbn = {1590593251},
	Publisher = {APress},
	Title = {The Definitive Guide to {SWT} and {JFace}},
	Year = {2004}}

@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},
	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},
	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},
	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},
	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},
	Number = {1-2},
	Pages = {109--139},
	Title = {Extracting Architectural Features from Source Code},
	Volume = {3},
	Year = {1996}}

@book{Harr99a,
	Address = {New York, NY, USA},
	Author = {Robert L. Harris},
	Isbn = {0195135326},
	Publisher = {Oxford University Press, Inc.},
	Title = {Information Graphics: A Comprehensive Illustrated Reference},
	Year = {1999}}

@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},
	Pages = {345--352},
	Publisher = {Addison Wesley},
	Title = {Organizational Patterns for Teams},
	Year = {1996}}

@inproceedings{Hart06a,
	Address = {New York, NY, USA},
	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},
	Location = {Montreux, Switzerland},
	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{Hart92a,
	Address = {Utrecht, the Netherlands},
	Author = {Thorsten Hartmann and Ralf Jungclaus and Gunter Saake},
	Booktitle = {Proceedings ECOOP '92},
	Editor = {O. Lehrmann Madsen},
	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},
	Pages = {227--244},
	Publisher = {Springer-Verlag},
	Series = {LNCS},
	Title = {Abstract Description of Distributed Object Systems},
	Volume = 612,
	Year = {1992}}

@book{Harv94a,
	Author = {Brian Harvey and Matthew Wright},
	Publisher = {MIT Press},
	Title = {Simply {Scheme}: introducing computer science},
	Year = {1994}}

@inproceedings{Hass00a,
	Address = {Los Alamitos CA},
	Author = {Ahmed Hassan and Ric Holt and Bruno Lague and Sebastien Lapierre and Charles Leduc},
	Booktitle = {Proceedings of WCRE (Working Conference on Reverse Engineering), Exchange Formats Workshop},
	Month = nov,
	Pages = {284--286},
	Publisher = {IEEE Computer Society Press},
	Title = {E/R Schema for the Datrix C/C++/Java Exchange Format},
	Year = {2000}}

@inproceedings{Hass04a,
	Address = {Los Alamitos CA},
	Author = {Ahmed Hassan and Richard Holt},
	Booktitle = {Proceedings 20th IEEE International Conference on Software Maintenance (ICSM'04)},
	Doi = {10.1109/ICSM.2004.1357812},
	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)},
	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}}

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

@phdthesis{Hatc04a,
	Author = {Andrew Hatch},
	Month = mar,
	School = {Research Institute in Software Engineering, University of Durham},
	Title = {Software Architecture Visualisation},
	Year = {2004}}

@inproceedings{Hauc93a,
	Author = {Franz J. Hauck},
	Booktitle = {Proceedings OOPSLA '93, ACM SIGPLAN Notices},
	Month = oct,
	Pages = {231--239},
	Title = {Inheritance Modeled with Explicit Bindings: An Approach to Typed Inheritance},
	Volume = {28},
	Year = {1993}}

@article{Haun95a,
	Author = {Jim Haungs},
	Journal = {The {Smalltalk} Report},
	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{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},
	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{Haus05a,
	Author = {Stefan Haustein and J{\"o}rg Pleumann},
	Bibsource = {DBLP, http://dblp.uni-trier.de},
	Doi = {10.1007/s10270-005-0093-2},
	Journal = {Software and System Modeling},
	Number = {4},
	Pages = {443--458},
	Title = {A model-driven runtime environment for Web applications},
	Url = {http://citeseer.ist.psu.edu/haustein05modeldriven.html},
	Volume = {4},
	Year = {2005},
	Bdsk-Url-1 = {http://citeseer.ist.psu.edu/haustein05modeldriven.html},
	Bdsk-Url-2 = {http://dx.doi.org/10.1007/s10270-005-0093-2}}

@inproceedings{Haut02a,
	Author = {Edwin Hautus},
	Booktitle = {IASTED, International Conference on Software Engineering and Applications},
	Title = {Improving {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{Hawb02a,
	Author = {Chris Hawblitzel and Thorsten von Eicken},
	Bibsource = {DBLP, http://dblp.uni-trier.de},
	Booktitle = {OSDI},
	Ee = {http://www.usenix.org/events/osdi02/tech/hawblitzel.html},
	Title = {Luna: A Flexible Java Protection System},
	Year = {2002}}

@inproceedings{Hawb98a,
	Address = {Berkeley, CA, USA},
	Author = {Hawblitzel, Chris and Chang, Chi-Chao and Czajkowski, Grzegorz and Hu, Deyu and von Eicken, Thorsten},
	Booktitle = {ATEC '98: Proceedings of the annual conference on USENIX Annual Technical Conference},
	Location = {New Orleans, Louisiana},
	Pages = {22--22},
	Publisher = {USENIX Association},
	Title = {Implementing multiple protection domains in java},
	Year = {1998}}

@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{Haye91a,
	Author = {Barry Hayes},
	Booktitle = {Proceedings OOPSLA '91, ACM SIGPLAN Notices},
	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},
	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},
	Pages = {205--220},
	Publisher = {Springer-Verlag},
	Series = {LNCS},
	Title = {Testing of Object-Oriented Programming Systems ({OOPS}): {A} Fault-Based Approach},
	Volume = {858},
	Year = {1994}}

@inproceedings{Hayn84a,
	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}}

@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},
	Author = {David Hearnden and Michael Lawley and Kerry Raymond},
	Booktitle = {International Conference on Model Driven Engineering Languages and Systems (Models/UML 2006)},
	Pages = {321--335},
	Publisher = {Springer-Verlag},
	Series = {LNCS},
	Title = {Incremental Model Transformation for the Evolution of Model-Driven Systems},
	Volume = {4199},
	Year = {2006}}

@article{Heck78a,
	Author = {Paul Heckel},
	Journal = {CACM},
	Month = apr,
	Number = {4},
	Pages = {264--268},
	Title = {A Technique for Isolating Differences Between Files},
	Volume = {21},
	Year = {1978}}

@inproceedings{Hedi03a,
	Author = {G{\"o}rel Hedin and Lars Bendix and Boris Magnusson},
	Booktitle = {Proceedings of ICSE 2003 (International Conference on Software Engineering},
	Pages = {586--593},
	Publisher = {IEEE Computer Society Press},
	Title = {Introducing Software Engineering by means of Extreme Programming},
	Year = {2003}}

@inproceedings{Hedi88a,
	Address = {Oslo},
	Author = {G{\"o}rel Hedin and Boris Magnusson},
	Booktitle = {Proceedings ECOOP '88},
	Editor = {S. Gjessing and K. Nygaard},
	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},
	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},
	Publisher = {Wiley},
	Title = {Language Support for Application Framework Design},
	Year = {1999}}

@article{Heer10a,
	Address = {New York, NY, USA},
	Author = {Heer, Jeffrey and Bostock, Michael and Ogievetsky, Vadim},
	Doi = {10.1145/1794514.1805128},
	Issn = {1542-7730},
	Journal = {Queue},
	Number = {5},
	Pages = {20--30},
	Publisher = {ACM},
	Title = {A Tour through the Visualization Zoo},
	Volume = {8},
	Year = {2010},
	Bdsk-Url-1 = {http://dx.doi.org/10.1145/1794514.1805128}}

@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},
	Pages = {86--93},
	Publisher = {IEEE Computer Society Press},
	Title = {Object Views: Extending the Vision},
	Year = {1990}}

@book{Hein01a,
	Editor = {George T. Heineman and William T. Councill},
	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{Heis05a,
	Author = {Heiss, J.J.},
	Booktitle = {Java Developers Forum},
	Title = {The multi-asking virtual machine: building a higly-scalable JVM},
	Year = {2005}}

@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},
	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},
	Month = mar,
	School = {University of Bern},
	Title = {Scripting f{\"u}r {CORBA}},
	Type = {Diploma thesis},
	Url = {http://scg.unibe.ch/archive/masters/Held99a.pdf http://scg.unibe.ch/archive/masters/Held99a.ps.gz},
	Year = {1999},
	Bdsk-Url-1 = {http://scg.unibe.ch/archive/masters/Held99a.pdf%20http://scg.unibe.ch/archive/masters/Held99a.ps.gz}}

@inproceedings{Helf94a,
	Author = {Jonathan I. Helfman},
	Booktitle = {Proceedings of IEEE Symposium on Visual Languages},
	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},
	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},
	Publisher = {O'Reilly \& Associates},
	Title = {XView Programming Manual: for XView Version 3.2},
	Year = {1993}}

@article{Helm85a,
	Author = {D. Helmbold and D. Luckman},
	Journal = {IEEE Software},
	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},
	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},
	Month = nov,
	Pages = {47--61},
	Title = {Integrating Information Retrieval and Domain Specific Approaches for Browsing and Retrieval in Object-Oriented Class Libraries},
	Volume = {26},
	Year = {1991}}

@misc{Helvetia,
	Author = {Lukas Renggli},
	Key = {Helvetia},
	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{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}}

@article{Hend86a,
	Author = {J. Hendler},
	Journal = {ACM SIGPLAN Notices},
	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.},
	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},
	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},
	Publisher = {Addison Wesley},
	Title = {The OPEN Toolbox of Techniques},
	Year = {1998}}

@inproceedings{Henk05a,
	Author = {Johannes Henkel and Amer Diwan},
	Booktitle = {Proceedings International Conference on Software Engineering (ICSE 2005)},
	Pages = {274--283},
	Title = {{CatchUp}!: capturing and replaying refactorings to support {API} evolution},
	Year = {2005}}

@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},
	Number = {5},
	Title = {{The Rise and Fall of CORBA}},
	Volume = {4},
	Year = {2006},
	Bdsk-Url-1 = {http://dx.doi.org/10.1145/1378704.1378718}}

@techreport{Henn82a,
	Author = {Matthew Hennessy},
	Editor = {Dezani-Ciancaglini and Montanari},
	Institution = {Springer-Verlag},
	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},
	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},
	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},
	Month = jan,
	Number = {4},
	Pages = {896--928},
	Title = {Acceptance Trees},
	Volume = {32},
	Year = {1985}}

@article{Henn86a,
	Author = {Matthew Hennessy},
	Journal = {ACM TOPLAS},
	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},
	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},
	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},
	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},
	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},
	Number = {01/92},
	Title = {Symbolic Bisimulations},
	Type = {Report},
	Url = {ftp://ftp.cogs.sussex.ac.uk//pub/reports},
	Year = {1992},
	Bdsk-Url-1 = {ftp://ftp.cogs.sussex.ac.uk//pub/reports}}

@inproceedings{Henn96a,
	Address = {Berlin, Germany},
	Author = {Henninger, Scott},
	Booktitle = {Proceedings ICSE '96},
	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},
	Number = {2},
	Pages = {111--140},
	Title = {{An Evolutionary Approach to Constructing Effective Software Reuse Repositories}},
	Volume = {6},
	Year = {1997}}

@inproceedings{Henr04a,
	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},
	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{Henr07,
	Author = {Nathalie Henry and Jean-Daniel Fekete and Michael J. McGuffin},
	Bibsource = {DBLP, http://dblp.uni-trier.de},
	Ee = {http://doi.ieeecomputersociety.org/10.1109/TVCG.2007.70582},
	Journal = {IEEE Trans. Vis. Comput. Graph.},
	Number = {6},
	Pages = {1302-1309},
	Title = {NodeTrix: a Hybrid Visualization of Social Networks},
	Volume = {13},
	Year = {2007}}

@article{Henr07a,
	Author = {Nathalie Henry and Jean-Daniel Fekete and Michael J. McGuffin},
	Bibsource = {DBLP, http://dblp.uni-trier.de},
	Ee = {10.1109/TVCG.2007.70582},
	Journal = {IEEE Trans. Vis. Comput. Graph.},
	Number = {6},
	Pages = {1302-1309},
	Title = {NodeTrix: a Hybrid Visualization of Social Networks},
	Volume = {13},
	Year = {2007}}

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

@techreport{Hens90a,
	Author = {Andreas V. Hense},
	Institution = {FB 14, Universit{\"a}t des Saarlandes},
	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},
	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},
	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},
	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},
	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},
	Month = jun,
	Number = {A02/93},
	Title = {Principle Types for Object-Oriented Languages},
	Type = {Report},
	Year = {1993}}

@article{Herl91a,
	Author = {Maurice P. Herlihy},
	Journal = {ACM Transactions on Programming Languages and Systems},
	Month = jan,
	Number = {1},
	Pages = {124--149},
	Publisher = {ACM Press},
	Title = {Wait-Free Synchronization},
	Volume = {13},
	Year = {1991}}

@inproceedings{Herl93a,
	Author = {Maurice P. Herlihy and J. Eliot B. Moss},
	Booktitle = {Proceedings of the 20. Annual International Symposium on Computer Architecture},
	Pages = {289--300},
	Title = {Transactional Memory: {Architectural} Support For Lock-Free Data Structures},
	Year = {1993}}

@article{Herm00a,
	Address = {Piscataway, NJ, USA},
	Author = {Herman, Ivan and Melan\c{c}on, Guy and Marshall, M. Scott},
	Doi = {10.1109/2945.841119},
	Issn = {1077-2626},
	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},
	Volume = {6},
	Year = {2000},
	Bdsk-Url-1 = {http://dx.doi.org/10.1109/2945.841119}}

@techreport{Herm00b,
	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},
	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}}

@book{Herm03a,
	Address = {ETH Z\"urich},
	Author = {Michael Hermann and Heiri Leuthold},
	Isbn = {3 7281 2901 1},
	Publisher = {vdf Hochschlverlag AG},
	Title = {Atlas der politischen Landschaften},
	Year = {2003}}

@article{Hern88a,
	Author = {Herndon, Jr., Robert M. and Valdis A. Berzins},
	Journal = {IEEE Transactions on Software Engineering},
	Month = jun,
	Number = {6},
	Pages = {803--809},
	Title = {The Realizable Benefits of a Language Prototyping Language},
	Volume = {SE-14},
	Year = {1988}}

@inproceedings{Herr03a,
	Author = {Stephan Herrmann},
	Booktitle = {3rd German Workshop on Aspect-Oriented Software Development},
	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}}

@inproceedings{Herr08a,
	Address = {New York, NY, USA},
	Author = {Herraiz, Israel and German, Daniel M. and Gonzalez-Barahona, Jesus M. and Robles, Gregorio},
	Booktitle = {MSR '08: Proceedings of the 2008 international working conference on Mining software repositories},
	Doi = {10.1145/1370750.1370786},
	Isbn = {978-1-60558-024-1},
	Location = {Leipzig, Germany},
	Pages = {145--148},
	Publisher = {ACM},
	Title = {Towards a simplification of the bug report form in eclipse},
	Year = {2008},
	Bdsk-Url-1 = {http://dx.doi.org/10.1145/1370750.1370786}}

@techreport{Hert01a,
	Author = {Caroline Hertel},
	Institution = {University of Bern},
	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{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}}

@inproceedings{Herz94a,
	Author = {R. Herzig and M. Gogolla},
	Booktitle = {Proceedings, Object-Oriented Methodologies and Systems},
	Editor = {E. Bertino and S. Urban},
	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},
	Number = {9/94},
	Title = {On a Better Formal Basis for Stating {SQL}-like Queries in Value- and Object-Based {DBS}},
	Type = {Report},
	Year = {1994}}

@article{Hess88a,
	Author = {Win H. Hesselink},
	Journal = {ACM Transactions on Programming Languages and Systems},
	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},
	Pages = {139--166},
	Title = {Axioms and Models of Linear Logic},
	Volume = {2},
	Year = {1990}}

@book{Hess92a,
	Author = {Wim H. Hesselink},
	Publisher = {Cambridge press},
	Title = {Programs, recursion and unbounded choice},
	Year = {1992}}

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

@misc{Hetz98a,
	Address = {Los Angeles, CA},
	Author = {Beth Hetzler and Nancy Miller},
	Howpublished = {Presented at Information Exploration workshop for ACM SIGCHI '98.},
	Month = apr,
	Title = {Four Critical Elements for Designing Information Exploration Systems},
	Url = {http://www.pnl.gov/infoviz/sigchi98/index.html},
	Year = {1998},
	Bdsk-Url-1 = {http://www.pnl.gov/infoviz/sigchi98/index.html}}

@inproceedings{Hetz98b,
	Address = {W\"urzburg},
	Author = {Beth Hetzler and W. Michelle Harris and Susan Havre and Paul Whitney},
	Booktitle = {Structures and Relations in Knowledge Organization. Proceedings 5th Int. ISKO Conference},
	Pages = {168--175},
	Publisher = {ERGON Verlag},
	Title = {Visualizing the Full Spectrum of Document Relationships},
	Year = {1998}}

@book{Heue95a,
	Author = {Andreas Heuer and Gunter Saake},
	Isbn = {3-929821-31-1},
	Publisher = {International Thomson Publishing},
	Title = {Databanken: Konzepte und Sprachen},
	Year = {1995}}

@inproceedings{Heuz03a,
	Author = {Dirk Heuzeroth and Thomas Holl and Gustav H\"ogstr\"om and Welf L\"owe},
	Booktitle = {International Workshop on Program Comprehension},
	Issn = {1092-8138},
	Pages = {94--104},
	Title = {Automatic Design Pattern Detection},
	Year = {2003}}

@article{Hewi77a,
	Author = {Carl Hewitt and Henry Baker},
	Editor = {G. Gilchrist},
	Journal = {Information Processing 77},
	Pages = {987--992},
	Publisher = {North-Holland},
	Title = {Laws for Communicating Parallel Processes},
	Year = {1977}}

@article{Hewi77b,
	Author = {Carl Hewitt},
	Journal = {Artificial Intelligence},
	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},
	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.},
	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)},
	Month = dec,
	Title = {On Software Maintenance Process Improvement based on Code Clone Analysis},
	Url = {http://iip-lab.ics.es.osaka-u.ac.jp/~lab-db/betuzuri/archive/394/394.pdf},
	Year = {2002},
	Bdsk-Url-1 = {http://iip-lab.ics.es.osaka-u.ac.jp/~lab-db/betuzuri/archive/394/394.pdf}}

@article{Higu05a,
	Author = {Colin de la Higuera},
	Bibsource = {DBLP, http://dblp.uni-trier.de},
	Ee = {10.1016/j.patcog.2005.01.003},
	Journal = {Pattern Recognition},
	Number = {9},
	Pages = {1332--1348},
	Title = {A bibliographical study of grammatical inference.},
	Volume = {38},
	Year = {2005}}

@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},
	Month = mar,
	Title = {{SEDEXfield} --- {PDA} {Programm} zur {Beurteilung} von {Wildb\"achen}},
	Type = {Bachelor's thesis},
	Url = {http://scg.unibe.ch/archive/projects/Hill06a.pdf},
	Year = {2006},
	Bdsk-Url-1 = {http://scg.unibe.ch/archive/projects/Hill06a.pdf}}

@inproceedings{Hill08a,
	Address = {New York, NY, USA},
	Author = {Hill, Emily and Fry, Zachary P. and Boyd, Haley and Sridhara, Giriprasad and Novikova, Yana and Pollock, Lori and Vijay-Shanker, K.},
	Booktitle = {MSR '08: Proceedings of the 2008 international working conference on Mining software repositories},
	Doi = {10.1145/1370750.1370771},
	Isbn = {978-1-60558-024-1},
	Location = {Leipzig, Germany},
	Pages = {79--88},
	Publisher = {ACM},
	Title = {{AMAP}: automatically mining abbreviation expansions in programs to enhance software maintenance tools},
	Year = {2008},
	Bdsk-Url-1 = {http://dx.doi.org/10.1145/1370750.1370771}}

@inproceedings{Hill09a,
	Address = {Washington, DC, USA},
	Author = {Hill, Emily and Pollock, Lori and Shanker, K. Vijay},
	Booktitle = {ICSE '09: Proceedings of the 2009 IEEE 31st International Conference on Software Engineering},
	Citeulike-Article-Id = {6610979},
	Citeulike-Linkout-0 = {http://portal.acm.org/citation.cfm?id=1555001.1555039},
	Citeulike-Linkout-1 = {http://dx.doi.org/10.1109/ICSE.2009.5070524},
	Doi = {10.1109/ICSE.2009.5070524},
	Isbn = {978-1-4244-3453-4},
	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}}

@article{Hill86a,
	Author = {Ralph D. Hill},
	Journal = {ACM Transactions on Computer Graphics},
	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},
	Pages = {241--248},
	Title = {Event-Response Systems --- {A} Technique for Specifying Multi-Threaded Dialogues},
	Year = {1987}}

@inproceedings{Hill92a,
	Author = {Ralph D. Hill},
	Booktitle = {Proceedings of CHI '92: the Conference on Human Factors in Computing Systems},
	Month = may,
	Organization = {ACM},
	Pages = {335--342},
	Title = {The Abstraction-Link Paradigm: Using Contraints to Connect User Interfaces to Applications},
	Year = {1992}}

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

@inproceedings{Hill93b,
	Author = {R.D. Hill},
	Booktitle = {Proceedings of UIST '93},
	Pages = {225--234},
	Title = {The Rendezvous Constraint Maintenance System},
	Year = {1993}}

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

@inproceedings{Hill99a,
	Author = {Rich Hilliard},
	Booktitle = {Proceedings 2nd International UML Conference, UML '99},
	Editor = {Robert France Bernard Rumpe},
	Month = oct,
	Pages = {32--48},
	Publisher = {Springer-Verlag},
	Series = {LNCS},
	Title = {Using the {UML} for Architectural Description},
	Volume = {1723},
	Year = {1999}}

@inproceedings{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},
	Publisher = {Harperbusiness},
	Title = {Dealers of Lightning, Xerox Parc and the Dawn of the Computer Age},
	Year = {1999}}

@inproceedings{Hind01a,
	Address = {New York, NY, USA},
	Author = {Michael Hind},
	Booktitle = {2001 {ACM} {SIGPLAN}-{SIGSOFT} Workshop on Program Analysis for Software Tools and Engineering ({PASTE}'01)},
	Doi = {10.1145/379605.379665},
	Isbn = {1-58113-413-4},
	Location = {Snowbird, Utah, United States},
	Pages = {54--61},
	Publisher = {ACM},
	Title = {Pointer Analysis: Haven't We Solved This Problem Yet?},
	Year = {2001},
	Bdsk-Url-1 = {http://dx.doi.org/10.1145/379605.379665}}

@inproceedings{Hind06a,
	Address = {New York, NY, USA},
	Author = {Benjamin Hindman and Dan Grossman},
	Booktitle = {MSPC '06: Proceedings of the 2006 workshop on Memory system performance and correctness},
	Doi = {10.1145/1178597.1178611},
	Isbn = {1-59593-578-9},
	Location = {San Jose, California},
	Pages = {82--91},
	Publisher = {ACM Press},
	Title = {Atomicity via source-to-source translation},
	Year = {2006},
	Bdsk-Url-1 = {http://dx.doi.org/10.1145/1178597.1178611}}

@inproceedings{Hind08a,
	Address = {Washington, DC, USA},
	Author = {Abram Hindle and Michael W. Godfrey and Richard C. Holt},
	Booktitle = {ICPC '08: Proceedings of the 2008 The 16th IEEE International Conference on Program Comprehension},
	Doi = {10.1109/ICPC.2008.13},
	Isbn = {978-0-7695-3176-2},
	Pages = {133--142},
	Publisher = {IEEE Computer Society},
	Title = {Reading Beside the Lines: Indentation as a Proxy for Complexity Metrics},
	Year = {2008},
	Bdsk-Url-1 = {http://dx.doi.org/10.1109/ICPC.2008.13}}

@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},
	Month = nov,
	Title = {Objects + Processes = Graphs},
	Year = {1990}}

@phdthesis{Hind92a,
	Author = {Bernd Hindel},
	School = {University of Erlangen-N{\"u}rnberg},
	Title = {Graphische Beschreibung von objektorientierten Programmen},
	Type = {{Ph.D}. Thesis},
	Year = {1992}}

@article{Hint04a,
	Address = {Los Alamitos, CA, USA},
	Author = {Jana Hintze and Maic Masuch},
	Doi = {10.1109/C5.2004.1314373},
	Journal = {c5},
	Pages = {78--85},
	Publisher = {IEEE Computer Society},
	Title = {Designing a 3D Authoring Tool for Children},
	Volume = {00},
	Year = {2004},
	Bdsk-Url-1 = {http://dx.doi.org/10.1109/C5.2004.1314373}}

@inproceedings{Hirs02a,
	Author = {Tom Hirschowitz and Xavier Leroy},
	Booktitle = {Proceedings of the European Symposium on Programming},
	Month = apr,
	Pages = {6--20},
	Title = {Mixin Modules in a call-by-value setting},
	Url = {http://citeseer.nj.nec.com/hirschowitz02mixin.htm},
	Year = {2002},
	Bdsk-Url-1 = {http://citeseer.nj.nec.com/hirschowitz02mixin.htm}}

@inproceedings{Hirs02b,
	Address = {Seattle, WA, United States},
	Author = {Robert Hirschfeld},
	Booktitle = {OOPSLA 2002 Workshop on Engineering Context-Aware Object-Oriented Systems and Environments},
	Month = {nov},
	Title = {{PerspectiveS} --- {AspectS} with Context},
	Year = {2002}}

@book{Hirs02c,
	Author = {E. D. Hirsch, Joseph F. Kett, James Trefil},
	Isbn = {978-0618226474},
	Publisher = {Houghton Mifflin},
	Title = {The New Dictionary of Cultural Literacy},
	Year = {2002}}

@inproceedings{Hirs03a,
	Author = {Robert Hirschfeld},
	Booktitle = {{Objects, Components, Architectures, Services, and Applications for a Networked World}},
	Editor = {M. Aksit and M. Mezini and R. Unland},
	Number = 2591,
	Pages = {216--232},
	Publisher = {Springer},
	Series = {LNCS},
	Title = {{AspectS} --- Aspect-Oriented Programming with {Squeak}},
	Year = {2003}}

@inproceedings{Hirs03b,
	Author = {Robert Hirschfeld},
	Booktitle = {Proceedings NODe 2002},
	Doi = {10.1007/3-540-36557-5_17},
	Pages = {216--232},
	Publisher = {Springer-Verlag},
	Series = {LNCS},
	Title = {{AspectS} --- Aspect-Oriented Programming with Squeak},
	Volume = {2591},
	Year = {2003},
	Bdsk-Url-1 = {http://dx.doi.org/10.1007/3-540-36557-5_17}}

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

@book{Hite99a,
	Address = {Austin, Texas},
	Author = {Kenneth Hite and Craig Neumeier and Michael S. Schiffer},
	Isbn = {978-1556343995},
	Publisher = {Steve Jackson Games},
	Title = {GURPS Alternate Earths},
	Volume = {2},
	Year = {1999}}

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

@article{Hoad03a,
	Author = {Timothy C. Hoad and Justin Zobel},
	Journal = {Journal of the American Society for Information Science and Technology},
	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},
	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},
	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},
	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},
	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},
	Month = jun,
	Pages = {1--17},
	Publisher = {Springer-Verlag},
	Series = {LNCS},
	Title = {A Trace Model for Pointers and Objects},
	Volume = 1628,
	Year = {1999}}

@inproceedings{Hoel91a,
	Address = {Geneva, Switzerland},
	Author = {Urs H{\"o}lzle and Craig Chambers and David Ungar},
	Booktitle = {Proceedings ECOOP '91},
	Editor = {P. America},
	Misc = {July 15--19},
	Month = jul,
	Pages = {21--38},
	Publisher = {Springer-Verlag},
	Series = {LNCS},
	Title = {Optimizing Dynamically-Typed Object-Oriented Languages With Polymorphic Inline Caches},
	Volume = 512,
	Year = {1991}}

@inproceedings{Hoel93a,
	Abstract = {Object-oriented programming promises to increase
                  programmer productivity through better reuse of
                  existing code. However, reuse is not yet pervasive
                  in today's object-oriented programs. Why is this so?
                  We argue that one reason is that current programming
                  languages and environments assume that components
                  are perfectly coordinated. Yet in a world where
                  programs are mostly composed out of reusable
                  components, these components are not likely to be
                  completely integrated because the sheer number of
                  components would make global coordination
                  impractical. Given that seemingly minor
                  inconsistencies between individually designed
                  components would exist, we examine how they can lead
                  to integration problems with current programming
                  language mechanisms. We discuss several reuse
                  mechanisms that can adapt a component in place
                  without requiring access to the component's source
                  code and without needing to re-typecheck it.},
	Address = {Kaiserslautern, Germany},
	Author = {Urs H{\"o}lzle},
	Booktitle = {Proceedings ECOOP '93},
	Editor = {Oscar Nierstrasz},
	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},
	Month = aug,
	Pages = {283--302},
	Publisher = {Springer-Verlag},
	Series = {LNCS},
	Title = {Do Object-Oriented Languages Need Special Hardware Support?},
	Volume = {952},
	Year = {1995}}

@inproceedings{Hoes09a,
	Author = {Hoest, Einar W. and OEstvold, Bjarte M.},
	Booktitle = {Proceedings of the 23nd European Conference on Object-Oriented Programming (ECOOP'09)},
	Isbn = {978-3-642-03012-3},
	Pages = {To appear},
	Publisher = {Springer},
	Series = {LNCS},
	Title = {Debugging Method Names},
	Year = {2009}}

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

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

@article{Hofm94a,
	Author = {Martin Hofmann and Benjamin C. Pierce},
	Journal = {Journal of Functional Programming},
	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},
	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},
	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},
	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}}

@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},
	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},
	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},
	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},
	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},
	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},
	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},
	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},
	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},
	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)},
	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},
	Month = jul,
	Pages = {398--420},
	Publisher = {Springer-Verlag},
	Series = {LNCS},
	Title = {Bridging the Gap between {C}++ and Relational Databases},
	Volume = {1098},
	Year = {1996}}

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

@inproceedings{Holl92a,
	Address = {Utrecht, the Netherlands},
	Author = {Ian M. Holland},
	Booktitle = {Proceedings ECOOP '92},
	Editor = {O. Lehrmann Madsen},
	Month = jun,
	Pages = {287--308},
	Publisher = {Springer-Verlag},
	Series = {LNCS},
	Title = {Specifying Reusable Components Using Contracts},
	Volume = {615},
	Year = {1992}}

@phdthesis{Holl92b,
	Author = {Ian M. Holland},
	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}}

@phdthesis{Holl92c,
	Author = {Joseph E. Hollingsworth},
	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{Holm05a,
	Author = {Reid Holmes and Gail C. Murphy},
	Booktitle = {Proceedings of ICSE'05},
	Pages = {1--10},
	Title = {Using Structural Context to Recommend Source Code Examples},
	Year = {2005}}

@article{Holm06a,
	Address = {Piscataway, NJ, USA},
	Author = {Holmes, Reid},
	Booktitle = {Software Engineering, IEEE Transactions on},
	Citeulike-Article-Id = {2372522},
	Doi = {10.1109/TSE.2006.117},
	Issn = {0098-5589},
	Journal = {IEEE Trans. Softw. Eng.},
	Number = {12},
	Pages = {952--970},
	Posted-At = {2009-08-10 15:23:54},
	Priority = {5},
	Publisher = {IEEE Press},
	Title = {Approximate Structural Context Matching: An Approach to Recommend Relevant Examples},
	Url = {http://dx.doi.org/10.1109/TSE.2006.117},
	Volume = {32},
	Year = {2006},
	Bdsk-Url-1 = {http://dx.doi.org/10.1109/TSE.2006.117}}

@inproceedings{Holm09a,
	Abstract = {In this paper we examine the search behaviours of
                  developers using the Strathcona source code example
                  recommendation system over the period of three
                  years. In particular, we investigate the number of
                  query facts software engineers included in their
                  queries as they searched for source code examples.
                  We found that in practice developers predominantly
                  searched with multiple search facts and tended to
                  constrain their queries by iteratively adding more
                  facts as needed. Our experience with this data
                  suggest that example search tools should both
                  support searching with multiple facts as well and
                  facilitate the construction of multi-fact queries.},
	Author = {Holmes, R.},
	Booktitle = {Search-Driven Development-Users, Infrastructure, Tools and Evaluation, 2009. SUITE '09. ICSE Workshop on},
	Citeulike-Article-Id = {5403376},
	Citeulike-Linkout-0 = {http://dx.doi.org/10.1109/SUITE.2009.5070013},
	Citeulike-Linkout-1 = {http://ieeexplore.ieee.org/xpls/abs\_all.jsp?arnumber=5070013},
	Doi = {10.1109/SUITE.2009.5070013},
	Journal = {Search-Driven Development-Users, Infrastructure, Tools and Evaluation, 2009. SUITE '09. ICSE Workshop on},
	Pages = {13--16},
	Posted-At = {2009-08-10 11:10:15},
	Priority = {0},
	Title = {Do developers search for source code examples using multiple facts?},
	Url = {http://dx.doi.org/10.1109/SUITE.2009.5070013},
	Year = {2009},
	Bdsk-Url-1 = {http://dx.doi.org/10.1109/SUITE.2009.5070013}}

@book{Holm95a,
	Author = {Jim Holmes},
	Isbn = {0-13-182106-7},
	Publisher = {Prentice-Hall},
	Title = {Building your own Compiler with {C}++},
	Year = {1995}}

@book{Holm95b,
	Author = {Jim Holmes},
	Isbn = {0-13-192071-5},
	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},
	Month = nov,
	Publisher = {IEEE},
	Title = {{Aspects of Synchronisation}},
	Year = {1997}}

@book{Holo07,
	Author = {Adrian Holovaty and Jacob Kaplan-Moss},
	Isbn = {TBD},
	Publisher = {Apress},
	Title = {The Django Book},
	Year = {2007}}

@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 = {Danny Holten},
	Journal = {IEEE Transactions on Visualization and Computer Graphics},
	Month = sep,
	Note = {was holt06a which conflicted with scg},
	Number = {5},
	Title = {Hierarchical Edge Bundles: Visualization of Adjacency Relations in Hierarchal Data},
	Volume = {12},
	Year = {2006}}

@phdthesis{Holt09a,
	Author = {Danny Holten},
	Institution = {Eindhoven University of Technology},
	Note = {ISBN 978-90-386-1882-1},
	School = {Computer science department},
	Title = {Visualization of Graphs and Trees for Software Analysis},
	Year = {2009}}

@article{Holt72a,
	Author = {Richard Holt},
	Journal = {ACM Computing Surveys},
	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},
	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)},
	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}}

@book{Holz03a,
	Author = {Holzmann, Gerard J.},
	Howpublished = {Hardcover},
	Isbn = {0321228626},
	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},
	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}}

@book{Holz90a,
	Author = {Urs H{\"o}lzle and Bay-Wei Chang and Craig Chambers and David Ungar},
	Publisher = {Computer Systems Laboratory of Stanfor University},
	Title = {The {SELF} Manual},
	Year = {1991}}

@inproceedings{Holz96a,
	Address = {Cesena, Italy},
	Author = {A.A.Holzbacher},
	Booktitle = {Proceedings of COORDINATION '96},
	Editor = {P. Ciancarini and Chris Hankin},
	Pages = {249--266},
	Publisher = {Springer-Verlag},
	Series = {LNCS},
	Title = {A Software Environment for Concurrent Coordinated Programming},
	Volume = {1061},
	Year = {1996}}

@inproceedings{Hond88a,
	Address = {Oslo},
	Author = {Yasuaki Honda and Akinori Yonezawa},
	Booktitle = {Proceedings ECOOP '88},
	Editor = {S. Gjessing and K. Nygaard},
	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},
	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},
	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},
	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},
	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},
	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},
	Pages = {21--51},
	Publisher = {Springer-Verlag},
	Series = {LNCS},
	Title = {On Asynchronous Communication Semantics},
	Volume = 612,
	Year = {1992}}

@unpublished{Hond92e,
	Author = {Kohei Honda},
	Misc = {Aug 17},
	Month = aug,
	Note = {submitted for publicatedKeio University},
	Title = {On Interaction Types},
	Type = {draft},
	Year = {1992}}

@unpublished{Hond92f,
	Author = {Kohei Honda},
	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},
	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.},
	Number = {4},
	Pages = {366--427},
	Publisher = {ACM Press},
	Title = {Software Unit Test Coverage and Adequacy},
	Volume = {29},
	Year = {1997},
	Bdsk-Url-1 = {http://dx.doi.org/10.1145/267580.267590}}

@article{Honi93a,
	Author = {Shinichi Honiden and Nobuto Kotaka and Yoshinori Kishimoto},
	Journal = {IEEE Software (Special Issue on "Making O-O Work")},
	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},
	Pages = {69--85},
	Publisher = {Springer-Verlag},
	Series = {LNCS},
	Title = {Understanding Russell: {A} First Attempt},
	Volume = {173},
	Year = {1984}}

@book{Hopc79a,
	Address = {Reading, Mass.},
	Author = {John E. Hopcroft and Jeffrey D. Ullman},
	Publisher = {Addison Wesley},
	Title = {Introduction to Automata Theory, Languages and Computation},
	Year = {1979}}

@book{Hopk95a,
	Author = {Trevor Hopkins and Bernard Horan},
	Isbn = {0-13-318387-4},
	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},
	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},
	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}}

@article{Hori07a,
	Author = {Michihiro Horie and Shigeru Chiba},
	Journal = {Journal of Object Technology, Special Issue: TOOLS EUROPE 2007},
	Month = oct,
	Note = {http://www.jot.fm/issues/issue\_2007\_10/paper17/},
	Number = {9},
	Pages = {341-361},
	Title = {AspectScope: An Outline Viewer for AspectJ Programs},
	Volume = {6},
	Year = {2007}}

@incollection{Horn76a,
	Author = {Jim J. Horning},
	Booktitle = {Software Engineering Education --- Needs and Objectives},
	Editor = {Wasserman and Freeman},
	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},
	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},
	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},
	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},
	Month = oct,
	Pages = {218--233},
	Title = {Constraint Patterns As a Basis for Object-Oriented Programming},
	Volume = {27},
	Year = {1992}}

@techreport{Horo91a,
	Address = {Pittsburgh, PA},
	Author = {Michael L. Horowitz},
	Institution = {Carnegie Mellon University, Information Technology Center},
	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},
	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},
	Publisher = {Willey},
	Title = {Computing Concepts with {Java} Essentials},
	Year = {1998}}

@mastersthesis{Horv04a,
	Abstract = {In reverse engineering, class blueprint patterns are
                  an efficient way to determine the purpose and
                  abilities of a class. Finding those patterns is not
                  trivial because the graphical representation of a
                  large software system is too complex to be grasped
                  by a software reengineer or a group of reengineers
                  to find all the similarities and patterns in it.
                  This thesis presents a technique to discover known
                  and unknown class patterns automatically in a
                  software system. Our approach is based on the theory
                  of graph pattern recognition, mainly graph edit
                  distance and maximal common subgraph (MCS)
                  algorithms. Using MCS and hierarchical clustering we
                  automatically detect known and unknown patterns.},
	Author = {Marc-Philippe Horvath},
	Month = oct,
	School = {University of Bern},
	Title = {Automatic Recognition of Class Blueprint Patterns},
	Type = {Diploma thesis},
	Url = {http://scg.unibe.ch/archive/masters/Horv04a.pdf},
	Year = {2004},
	Bdsk-Url-1 = {http://scg.unibe.ch/archive/masters/Horv04a.pdf}}

@article{Horw89a,
	Address = {New York, NY, USA},
	Author = {Horwitz, Susan and Prins, Jan and Reps, Thomas},
	Date-Added = {2009-10-21 11:29:50 +0200},
	Date-Modified = {2009-10-21 11:29:59 +0200},
	Doi = {10.1145/65979.65980},
	Issn = {0164-0925},
	Journal = {ACM Trans. Program. Lang. Syst.},
	Number = {3},
	Pages = {345--387},
	Publisher = {ACM},
	Title = {Integrating Non-Interfering Versions of Programs},
	Volume = {11},
	Year = {1989},
	Bdsk-Url-1 = {/10.1145/65979.65980}}

@inproceedings{Horw90a,
	Address = {White Plains, NY},
	Author = {Susan Horwitz},
	Booktitle = {Proceedings of the {ACM} {SIGPLAN} '90 Conference on Programming Language Design and Implementation},
	Journal = {SIGPLAN Notices},
	Month = jun,
	Pages = {234--245},
	Title = {Identifying the semantic and textual differences between two versions of a program},
	Url = {citeseer.ist.psu.edu/horwitz90identifying.html},
	Volume = {25},
	Year = {1990},
	Bdsk-Url-1 = {citeseer.ist.psu.edu/horwitz90identifying.html}}

@article{Horw91a,
	Author = {Susan Horwitz and Thomas Reps},
	Journal = {Acta Informatica},
	Pages = {713--732},
	Title = {Efficient comparison of program slices},
	Volume = {28},
	Year = {1991}}

@inproceedings{Hosk92a,
	Author = {Antony L. Hosking and J. Eliot B. Moss and Darko Stefanovi\'c},
	Booktitle = {Proceedings OOPSLA '92, ACM SIGPLAN Notices},
	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},
	Month = oct,
	Pages = {288--303},
	Title = {Object Fault Handling for Persistent Programming Languages: {A} Performance Evaluation},
	Volume = {28},
	Year = {1993}}

@misc{HotSwap,
	Key = {HotSwap},
	Title = {HotSwap},
	Url = {http://developers.sun.com/dev/coolstuff/hotswap/publications.html},
	Bdsk-Url-1 = {http://developers.sun.com/dev/coolstuff/hotswap/publications.html}}

@article{Hove04a,
	Author = {David Hovemeyer and William Pugh},
	Journal = {ACM SIGPLAN Notices},
	Number = {12},
	Pages = {92--106},
	Publisher = {ACM New York, NY, USA},
	Title = {Finding bugs is easy},
	Volume = {39},
	Year = {2004}}

@book{Howa06a,
	Author = {Howard, M. and Lipner, S.},
	Publisher = {Microsoft Press},
	Title = {The Security Development Lifecycle},
	Year = {2006}}

@book{Howa95a,
	Author = {Tim Howard},
	Isbn = {1-884842-11-9},
	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},
	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},
	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)},
	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)},
	Month = nov,
	Pages = {345--352},
	Publisher = {IEEE Computer Society Press},
	Title = {Ontological Excavation: Unearthing the core concepts of an application},
	Year = {2003}}

@article{Hu02a,
	Author = {E. Yu-Shing Hu and G. Bernat and A. Wellings},
	Journal = {In Proceedings of 7th IEEE International Workshop on Object-Oriented Real-Time Dependable Systems (WORDS-2002)},
	Month = jan,
	Pages = {64--71},
	Title = {A {Static} {Timing} {Analysis} {Environment} {Using} {Java} {Architecture} for {Safety} {Critical} {Real}-{Time} {Systems}},
	Year = {2002}}

@article{Huan06a,
	Address = {Hingham, MA, USA},
	Author = {Gang Huang and Hong Mei and Fu-Qing Yang},
	Doi = {10.1007/s10515-006-7738-4},
	Issn = {0928-8910},
	Journal = {Automated Software Engineering},
	Number = {2},
	Pages = {257--281},
	Publisher = {Kluwer Academic Publishers},
	Title = {Runtime Recovery and Manipulation of Software Architecture of Component-Based Systems},
	Volume = {13},
	Year = {2006},
	Bdsk-Url-1 = {http://dx.doi.org/10.1007/s10515-006-7738-4}}

@inproceedings{Huan07a,
	Address = {New York, NY, USA},
	Author = {Shan Shan Huang and David Zook and Yannis Smaragdakis},
	Booktitle = {AOSD '07: Proceedings of the 6th international conference on Aspect-oriented software development},
	Doi = {10.1145/1218563.1218584},
	Isbn = {1-59593-615-7},
	Location = {Vancouver, British Columbia, Canada},
	Pages = {185--198},
	Publisher = {ACM Press},
	Title = {cJ: enhancing java with safe type conditions},
	Year = {2007},
	Bdsk-Url-1 = {http://dx.doi.org/10.1145/1218563.1218584}}

@book{Hubb98a,
	Author = {Thane Hubbel},
	Publisher = {Sams},
	Title = {Teach Yourself Cobol in 24 Hours},
	Year = {1998}}

@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,
	Editor = {Marianne Huchard and St\'ephane Ducasse and Oscar Nierstrasz},
	Isbn = {2-7462-1125-4},
	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},
	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}}

@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)},
	Pages = {211--216},
	Title = {From {JAVA} {Classes} to {JAVA} {Interfaces} through {Galois} {Lattices}},
	Year = {1999}}

@article{Huda89a,
	Author = {Paul Hudak},
	Journal = {ACM Computing Surveys},
	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},
	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},
	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},
	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},
	Pages = {134--142},
	Publisher = {IEEE Computer Society Press},
	Title = {Modular Domain Specific Languages and Tools},
	Year = {1998}}

@inproceedings{Huen95a,
	Abstract = {Writing software to control networks is important
                  and difficult. It must be efficient, reliable, and
                  flexible. Conduits+ is framework for network
                  software that has been used to implement the
                  signalling system of a multi-protocol ATM 1 access
                  switch. An earlier version was used to implement
                  TCP/IP. It reduces the complexity of network
                  software, makes it easier to extend or modify
                  network protocols, and is sufficiently efficient.
                  Conduits+ shows the power of a componentized
                  object-oriented framework and of common
                  object-oriented design patterns.},
	Author = {Hermann Hueni and Ralph E. Johnson and Robert Engel},
	Booktitle = {Proceedings OOPSLA '95, ACM SIGPLAN Notices},
	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},
	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},
	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},
	Publisher = {Addison Wesley},
	Title = {Logical Foundations of Functional Programming},
	Year = {1990}}

@phdthesis{Huet91a,
	Author = {Hans H{\"u}ttel},
	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{Hugh00a,
	Author = {John Hughes},
	Journal = {Science of Computer Programming},
	Month = {may},
	Pages = {67--111},
	Title = {Generalising Monads to Arrows},
	Volume = {37},
	Year = {2000}}

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

@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},
	Month = nov,
	Pages = {356--370},
	Publisher = {Springer-Verlag},
	Series = {Lecture Notes in Computer Science},
	Title = {{CLOG}: {A} Class-Based Logic Language For Object-Oriented Databases},
	Volume = {742},
	Year = {1993}}

@inproceedings{Huix01a,
	Author = {Huixiang Liu and Timothy C. Lethbridge},
	Booktitle = {Proceedings of Centre for Advanced Studies on Collaborative research (CASCON)},
	Pages = {10},
	Title = {Intelligent search techniques for large software systems},
	Year = {2001}}

@mastersthesis{Hull85a,
	Author = {S.J. Hull},
	Month = jan,
	School = {Department of Computer Science, University of Toronto},
	Title = {A Study of User Interface Management Systems},
	Type = {M.Sc. thesis, CSRI Technical Note},
	Year = {1985}}

@inproceedings{Hull86a,
	Author = {Jean-Marie Hullot},
	Booktitle = {Actes des journees AFCET sur les Langages Orientes Objets},
	Title = {{SOS Interface}: un generateur d'interfaces Homme-Machine},
	Year = {1986}}

@article{Humm08a,
	Author = {Hummel, O. and Janjic, W. and Atkinson, C.},
	Booktitle = {Software, IEEE},
	Citeulike-Article-Id = {5403243},
	Citeulike-Linkout-0 = {http://dx.doi.org/10.1109/MS.2008.110},
	Citeulike-Linkout-1 = {http://ieeexplore.ieee.org/xpls/abs_all.jsp?arnumber=4602673},
	Doi = {10.1109/MS.2008.110},
	Journal = {Software, IEEE},
	Number = {5},
	Pages = {45--52},
	Posted-At = {2009-08-10 10:04:47},
	Priority = {0},
	Title = {Code Conjurer: Pulling Reusable Software out of Thin Air},
	Url = {http://dx.doi.org/10.1109/MS.2008.110},
	Volume = {25},
	Year = {2008},
	Bdsk-Url-1 = {http://dx.doi.org/10.1109/MS.2008.110}}

@book{Hump00a,
	Author = {Watts Humphrey},
	Isbn = {0-201-47719-X},
	Publisher = {Addison Wesley},
	Series = {SEI Series in Software Engineering},
	Title = {Introduction to the Team Software Process},
	Year = {2000}}

@book{Hump89a,
	Author = {Watts S. Humphrey},
	Isbn = {0-201-18095-2},
	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},
	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},
	Publisher = {Addison Wesley},
	Series = {SEI Series in Software Engineering},
	Title = {Introduction to the Personal Software Process},
	Year = {1997}}

@unpublished{Huni95a,
	Author = {Hermann H{\"u}ni and Ralph Johnson and Robert Engel},
	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}}

@book{Hunt00a,
	Author = {Andrew Hunt and David Thomas},
	Isbn = {0-201-61622-X},
	Publisher = {Addison Wesley},
	Title = {The Pragmatic Programmer},
	Year = {2000}}

@book{Hunt03a,
	Author = {Andy Hunt and Dave Thomas},
	Publisher = {ThePragmaticProgrammers},
	Title = {Pragmatic Unit Testing in {Java} with {JUnit}},
	Year = {2003}}

@article{Hunt07a,
	Address = {New York, NY, USA},
	Author = {Hunt, Galen C. and Larus, James R.},
	Doi = {10.1145/1243418.1243424},
	Issn = {0163-5980},
	Journal = {SIGOPS Oper. Syst. Rev.},
	Number = {2},
	Pages = {37--49},
	Publisher = {ACM},
	Title = {Singularity: rethinking the software stack},
	Volume = {41},
	Year = {2007},
	Bdsk-Url-1 = {http://dx.doi.org/10.1145/1243418.1243424}}

@techreport{Hunt76a,
	Author = {James W. Hunt and M. Douglas McIlroy},
	Date-Added = {2009-10-21 15:46:51 +0200},
	Date-Modified = {2009-10-21 15:48:59 +0200},
	Institution = {AT\&T Bell Laboratories Inc},
	Number = {CSTR 41},
	Title = {An Algorithm for Differential File Comparison},
	Year = {1976}}

@article{Hunt77a,
	Address = {New York, NY, USA},
	Author = {Hunt, James W. and Szymanski, Thomas G.},
	Date-Added = {2009-10-21 16:59:39 +0200},
	Date-Modified = {2009-10-21 16:59:49 +0200},
	Doi = {10.1145/359581.359603},
	Issn = {0001-0782},
	Journal = {Commun. ACM},
	Number = {5},
	Pages = {350--353},
	Publisher = {ACM},
	Title = {A Fast Algorithm for Computing Longest Common Subsequences},
	Volume = {20},
	Year = {1977},
	Bdsk-Url-1 = {http://dx.doi.org/10.1145/359581.359603}}

@book{Hunt98a,
	Author = {Jason Hunter},
	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}}

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

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

@article{Hutc85a,
	Author = {David H. Hutchens and Victor R. Basili},
	Journal = {IEEE Transactions on Software Engineering},
	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},
	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}}

@book{Huth04a,
	Author = {Michael Huth and Mark Ryan},
	Edition = {second},
	Isbn = {0-521-54310-X},
	Publisher = {Cambridge},
	Title = {Logic in Computer Science},
	Year = {2004}}

@techreport{Hutt06a,
	Author = {Graham Hutton and Erik Meijer},
	Institution = {Department of Computer Science, University of Nottingham},
	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}}

@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},
	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{IEEE96a,
	Editor = {IEEE},
	Publisher = {Wiley-IEEE Computer Society Pr},
	Title = {Software Change Impact Analysis (Practitioners) (Paperback)},
	Year = {1996}}

@book{IEEE98a,
	Editor = {IEEE},
	Journal = {IEEE Std 1219-1998},
	Month = {oct},
	Publisher = {Wiley-IEEE Computer Society Pr},
	Title = {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{IO,
	Key = {IO},
	Note = {http://www.iolanguage.com/},
	Title = {IO Home Page}}

@techreport{ISO89a,
	Author = {{ISO8807}},
	Institution = {ISO8807},
	Number = {8807},
	Title = {Information Processing Systems --- Open Systems Interconnection --- {LOTOS} --- {A} formal description technique based on the temporal ordering of observational behaviour},
	Type = {International Standard ISO},
	Year = {1989}}

@inproceedings{Ibra88a,
	Author = {Mamdouh H. Ibrahim and Fred A. Cummins},
	Booktitle = {Proceedings of the International Conference on Computer Languages},
	Month = oct,
	Organization = {IEEE},
	Pages = {186--193},
	Title = {KSL: A Reflective Object-Oriented Programming Language},
	Year = {1988}}

@inproceedings{Ibra90a,
	Address = {New York, NY, USA},
	Author = {Mamdouh H. Ibrahim},
	Booktitle = {OOPSLA/ECOOP '90: Proceedings of the European conference on Object-oriented programming addendum: systems, languages, and applications},
	Isbn = {0-89791-443-0},
	Location = {Ottawa, Canada},
	Pages = {73--80},
	Publisher = {ACM Press},
	Title = {Reflection and metalevel architectures in object-oriented programming (workshop session)},
	Year = {1991}}

@article{Ibra91a,
	Author = {Mamdouh H. Ibrahim and William E. Bejeck and Fred A. Cummins},
	Journal = {Journal of Object-Oriented Programming},
	Month = jun,
	Number = {3},
	Pages = {53--56},
	Title = {Instance specialization without delegation},
	Volume = {4},
	Year = {1991}}

@inproceedings{Ibra95a,
	Author = {Fred Cummins and Mamdouh Ibrahim},
	Booktitle = {Proceedings of the IJCAI '95 workshop on Reflection and Meta-Level Architectures and their Applications in AI},
	Pages = {19--29},
	Title = {{A Model of Reflection in Object-Oriented Languages}},
	Year = {1995}}

@inproceedings{Ichi02a,
	Address = {Malaga, Spain},
	Author = {Yuuji Ichisugi and Akira Tanaka},
	Booktitle = {Proceedings ECOOP 2002},
	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},
	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},
	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}}

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

@misc{Imposter,
	Key = {Imposter},
	Note = {http://csoki.ki.iif.hu/$\sim$vitezg/impostor/},
	Title = {{Imposter}}}

@inproceedings{Inga76a,
	Author = {Dan Ingalls},
	Booktitle = {POPL'76, Principles of Programming Languages},
	Pages = {9--16},
	Publisher = {ACM Press},
	Title = {The {Smalltalk}-76 Programming System Design and Implementation},
	Year = {1976}}

@inproceedings{Inga78a,
	Address = {New York, NY, USA},
	Author = {Ingalls, Daniel H. H.},
	Booktitle = {POPL '78: Proceedings of the 5th ACM SIGACT-SIGPLAN symposium on Principles of programming languages},
	Doi = {10.1145/512760.512762},
	Location = {Tucson, Arizona},
	Pages = {9--16},
	Publisher = {ACM},
	Title = {The Smalltalk-76 programming system design and implementation},
	Year = {1978},
	Bdsk-Url-1 = {http://dx.doi.org/10.1145/512760.512762}}

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

@inproceedings{Inga86a,
	Author = {Daniel H.H. Ingalls},
	Booktitle = {Proceedings OOPSLA '86, ACM SIGPLAN Notices},
	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},
	Month = nov,
	Pages = {176--190},
	Title = {Fabrik: A Visual Programming Environment},
	Volume = {23},
	Year = {1988},
	Bdsk-Url-1 = {http://dx.doi.org/10.1145/62084.62100}}

@inproceedings{Inga97a,
	Author = {Dan Ingalls and Ted Kaehler and John Maloney and Scott Wallace and Alan Kay},
	Booktitle = {Proceedings of the 12th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications (OOPSLA'97)},
	Doi = {10.1145/263700.263754},
	Month = nov,
	Pages = {318--326},
	Publisher = {ACM Press},
	Title = {Back to the Future: The Story of {Squeak}, a Practical {Smalltalk} Written in Itself},
	Url = {http://www.cosc.canterbury.ac.nz/~wolfgang/cosc205/squeak.html},
	Year = {1997},
	Bdsk-Url-1 = {http://www.cosc.canterbury.ac.nz/~wolfgang/cosc205/squeak.html},
	Bdsk-Url-2 = {http://dx.doi.org/10.1145/263700.263754}}

@inproceedings{Ingo91a,
	Address = {Baastad, Sweden},
	Author = {A. Ing\'olfsd\'ottir and Bent Thomsen},
	Booktitle = {Proc. of Chalmers Workshop on Concurrency},
	Misc = {May 27-31},
	Month = may,
	Title = {Semantic Models for {CCS} with Values},
	Year = {1991}}

@book{Ingw92a,
	Address = {London},
	Author = {Peter Ingwersen},
	Publisher = {Taylor Graham},
	Title = {Information Retrieval Interaction},
	Url = {http://www.db.dk/pi/iri},
	Year = {1992},
	Bdsk-Url-1 = {http://www.db.dk/pi/iri}}

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

@book{Inst83a,
	Author = {{American National Standards Institute, Inc.}},
	Institution = {American National Standards Institute, Inc.},
	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.},
	Publisher = {American National Standards Institute},
	Title = {Draft American National Standard for Information Systems --- {Programming Languages} --- {Smalltalk}},
	Year = {1997}}

@article{Inve91a,
	Author = {Paola Inverardi and Corrado Priami},
	Journal = {Bulletin of EATCS},
	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},
	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},
	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},
	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},
	Publisher = {Prentice-Hall},
	Title = {{C}++ and Object-Oriented Programming},
	Year = {1997}}

@inproceedings{Ishi86a,
	Author = {Yutaka Ishikawa and Mario Tokoro},
	Booktitle = {Proceedings OOPSLA '86, ACM SIGPLAN Notices},
	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},
	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},
	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)},
	Month = oct,
	Number = {10},
	Pages = {66--73},
	Title = {An Object-Oriented Real-Time Programming Language},
	Volume = {25},
	Year = {1992}}

@inproceedings{Issa98a,
	Author = {Val{\'e}rie Issarny and Christophe Bidan and Titos Saridakis},
	Booktitle = {{Proceedings of the 31st Annual Hawaii International Conference on System Sciences}},
	Month = jan,
	Pages = {275--283},
	Title = {Characterizing Coordination Architectures According to their Non-Functional Execution Properties},
	Url = {http://www-rocq.inria.fr/solidor/members/issarny.html},
	Year = {1998},
	Bdsk-Url-1 = {http://www-rocq.inria.fr/solidor/members/issarny.html}}

@inproceedings{Itko04a,
	Author = {Jonne Itkonen and Minna Hillebrand and Vesa Lappalainen},
	Booktitle = {Proceedings of the Conference on Software Maintenance and Reengineering (CSMR 2004)},
	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.},
	Month = {dec},
	Number = {4},
	Pages = {470--516},
	Priority = {3},
	Publisher = {ACM Press},
	Title = {The state of the art in automating usability evaluation of user interfaces},
	Url = {http://portal.acm.org/citation.cfm?id=503114},
	Volume = {33},
	Year = {2001},
	Bdsk-Url-1 = {http://portal.acm.org/citation.cfm?id=503114},
	Bdsk-Url-2 = {http://dx.doi.org/10.1145/503112.503114}}

@article{Izad02a,
	Author = {Izadi, Shahram and Coutinho, Pedro and Rodden, Tom and Smith, Gareth},
	Doi = {10.1023/A:1014534414062},
	Journal = {Automated Software Engineering},
	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{JPDA,
  Key = {JPDA},
  Note = {http://java.sun.com/products/jpda/},
  Title = {Sun Microsystems, Java Platform Debugger Architecture}
}

@misc{JEdit,
	Author = {{jEdit web site}},
	Key = {jEdit},
	Note = {http://www.jedit.org},
	Title = {{jEdit}: a programmer's text editor},
	Year = {2008}}

@misc{JHotDraw,
	Key = {JHotDraw},
	Note = {\url{www.jhotdraw.org}},
	Title = {JHotDraw: a Java GUI framework for technical and structured Graphics},
	Url = {http://www.jhotdraw.org},
	Bdsk-Url-1 = {http://www.jhotdraw.org}}

@misc{JMondr,
	Author = {JMondrian},
	Key = {JMondrian},
	Note = {http://loose.upt.ro/iplasma/jmondrian.html},
	Title = {{JMondrian} --- Java implementation of the Mondrian information visualization framework},
	Url = {http://loose.upt.ro/iplasma/jmondrian.html},
	Year = {2009},
	Bdsk-Url-1 = {http://loose.upt.ro/iplasma/jmondrian.html}}

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

@misc{JSP,
	Key = {JSP},
	Note = {http://java.sun.com/products/jsp/},
	Title = {Java Server Pages}}

@misc{JSTraits,
	Key = {JSTraits},
	Note = {\url{http://slate.tunes.org}},
	Title = {JSTraits}}

@misc{JUnit,
	Key = {JUnit},
	Note = {http://www.junit.org},
	Title = {{JU}nit},
	Url = {http://www.junit.org},
	Bdsk-Url-1 = {http://www.junit.org}}

@misc{JVMPI,
	Key = {JVMTI},
	Title = {Sun Microsystems, Inc. JVM Profiler Interface (JVMPI).},
	Url = {http://java.sun.com/j2se/1.5.0/docs/guide/jvmpi/},
	Bdsk-Url-1 = {http://java.sun.com/j2se/1.5.0/docs/guide/jvmpi/}}

@misc{JVMTI,
	Key = {JVMTI},
	Note = {http://java.sun.com/j2se/1.5.0/docs/guide/jvmti/},
	Title = {Sun Microsystems, Inc. {JVM} Tool Interface ({JVMTI})},
	Url = {http://java.sun.com/j2se/1.5.0/docs/guide/jvmti/},
	Bdsk-Url-1 = {http://java.sun.com/j2se/1.5.0/docs/guide/jvmti/}}

@misc{JWIG,
	Key = {JWIG},
	Note = {http://www.brics.dk/JWIG/},
	Title = {{JWIG}, Java Extensions for High-Level Web Service Development}}

@article{Jaas95a,
	Author = {Ari Jaaski},
	Journal = {Software Practice and Experience},
	Month = mar,
	Number = {3},
	Pages = {271--289},
	Title = {Implementing Interactive Applications in {C++}},
	Volume = {25},
	Year = {1995}}

@article{Jack00a,
	Author = {Daniel Jackson and John Chapin},
	Journal = {IEEE Software},
	Month = may,
	Number = {3},
	Pages = {63--70},
	Publisher = {IEEE},
	Title = {Redesigning Air Traffic Control: An Exercise in Software Design},
	Volume = {17},
	Year = {2000}}

@inproceedings{Jack86a,
	Author = {Jonathan Jacky and Ira Kalet},
	Booktitle = {Proceedings OOPSLA '86, ACM SIGPLAN Notices},
	Month = nov,
	Pages = {368--376},
	Title = {An Object-Oriented Approach to a Large Scientific Application},
	Volume = {21},
	Year = {1986}}

@inproceedings{Jack94a,
	Address = {Washington, DC, USA},
	Author = {Jackson, Daniel and Ladd, David A.},
	Booktitle = {ICSM '94: Proceedings of the International Conference on Software Maintenance},
	Date-Added = {2009-10-21 11:36:15 +0200},
	Date-Modified = {2009-10-21 11:36:27 +0200},
	Isbn = {0-8186-6330-8},
	Pages = {243--252},
	Publisher = {IEEE Computer Society},
	Title = {Semantic Diff: A Tool for Summarizing the Effects of Modifications},
	Year = {1994}}

@article{Jaco03,
	Author = {Ivar Jacobson},
	Journal = {Journal of Object Technology},
	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},
	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}}

@inproceedings{Jaco86a,
	Author = {Ivar Jacobson},
	Booktitle = {Proceedings OOPSLA '86, ACM SIGPLAN Notices},
	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},
	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},
	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},
	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")},
	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},
	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},
	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},
	Publisher = {Addison Wesley/ACM Press},
	Title = {Software Reuse},
	Year = {1997}}

@book{Jaco99a,
	Author = {Ivar Jacobson and Grady Booch and James Rumbaugh},
	Publisher = {Addison Wesley},
	Title = {The Unified Software Development Process},
	Year = {1999}}

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

@book{Jain88a,
	Address = {Englewood Cliffs},
	Author = {Anil Kumar Jain and Richard C. Dubes},
	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},
	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,
	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},
	Location = {London, United Kingdom},
	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},
	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{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},
	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}}

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

@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},
	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},
	Note = {Submitted for Mathematical Systems Theory},
	Title = {Actor Grammars},
	Type = {manuscript},
	Year = {1988}}

@inproceedings{Janz03a,
	Address = {New York, NY, USA},
	Author = {Doug Janzen and Kris de Volder},
	Booktitle = {AOSD'03: Proceedings of the 2nd International Conference on Aspect-oriented Software Development},
	Isbn = {1-58113-660-9},
	Pages = {178--187},
	Publisher = {ACM},
	Title = {Navigating and Querying Code Without Getting Lost},
	Year = {2003}}

@article{Jarv02a,
	Author = {Kalervo J{\"a}rvelin and Jaana Kek{\"a}l{\"a}inen},
	Journal = {ACM Transactions on Information Systems},
	Number = 4,
	Pages = {422--446},
	Title = {Cumulated Gain-Based Evaluation of IR Techniques},
	Volume = 20,
	Year = {2002}}

@inproceedings{Jarz03a,
	Author = {Stan Jarzabek and Li Shubiao},
	Booktitle = {Proceedings ESEC-FSE'03, European Software Engineering Conference and ACM SIGSOFT Symposium on the Foundations of Software Engineering},
	Month = sep,
	Pages = {237--246},
	Publisher = {ACM Press},
	Title = {Eliminating Redundancies with a `Composition with Adaptation' Meta-programming Technique},
	Year = {2003}}

@misc{Java,
	Key = {Java},
	Note = {http://java.sun.com/},
	Title = {Java}}

@misc{JavaAnn,
	Author = {{Sun microsystems}},
	Key = {JavaAnn},
	Note = {http://java.sun.com/j2se/1.5.0/docs/guide/language/annotations.html},
	Title = {Java Annotations},
	Url = {http://java.sun.com/j2se/1.5.0/docs/guide/language/annotations.html},
	Year = {2004},
	Bdsk-Url-1 = {http://java.sun.com/j2se/1.5.0/docs/guide/language/annotations.html}}

@misc{JavaCC,
	Key = {JavaCC},
	Note = {http://www.experimentalstuff.com/Technologies/JavaCC/},
	Title = {Java Compiler Compiler},
	Url = {http://www.experimentalstuff.com/Technologies/JavaCC/},
	Bdsk-Url-1 = {http://www.experimentalstuff.com/Technologies/JavaCC/}}

@misc{JavaIDEApi,
	Key = {Java IDE API},
	Note = {http://jcp.org/en/jsr/detail?id=198},
	Title = {JSR 198: A Standard Extension API for Integrated Development Environments},
	Url = {http://jcp.org/en/jsr/detail?id=198},
	Bdsk-Url-1 = {http://jcp.org/en/jsr/detail?id=198}}

@misc{JavaME,
	Key = {JavaME},
	Note = {http://java.sun.com/javame/index.jsp},
	Title = {Java Micro Edition}}

@inproceedings{Jaza02a,
	Address = {Berlin},
	Author = {Mehdi Jazayeri},
	Booktitle = {Reliable Software Technologies-Ada-Europe 2002},
	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}}

@inproceedings{Jaza95a,
	Author = {Mehdi Jazayeri},
	Booktitle = {Proceedings of ESEC 95},
	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},
	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)},
	Pages = {99--108},
	Publisher = {IEEE Computer Society Press},
	Title = {Visualizing {Software} {Release} {Histories}: The {Use} of {Color} and {Third} {Dimension}},
	Year = {1999}}

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

@book{Jeff01a,
	Author = {Ron Jeffries and Ann Anderson and Chet Hendrickson},
	Isbn = {0-201-70842-6},
	Publisher = {Addison Wesley},
	Title = {Extreme Programming Installed},
	Year = {2001}}

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

@article{Jenn95a,
	Author = {Nicholas Jennings and Michael Wooldridge},
	Journal = {Applied Artificial Intelligence An International Journal},
	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},
	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},
	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},
	Month = oct,
	Number = {GIT-GVU-96-25},
	Title = {The Information Mural: Increasing Information Bandwidth in Visualizations},
	Year = {1996}}

@inproceedings{Jerd97a,
	Author = {Dean Jerding and Spencer Rugaber},
	Booktitle = {Proceedings of 4th Working Conference on Reverse Engineering (WCRE'97)},
	Editor = {Ira Baxter and Alex Quilici and Chris Verhoef},
	Pages = {56--65},
	Publisher = {IEEE Computer Society Press},
	Title = {Using Visualization for Architectural Localization and Extraction},
	Year = {1997}}

@inproceedings{Jerd97b,
	Author = {Dean J. Jerding and John T. Stasko and Thomas Ball},
	Booktitle = {Proceedings of International Conference on Software Engineering (ICSE'97)},
	Pages = {360--370},
	Title = {Visualizing Interactions in Program Executions},
	Year = {1997}}

@inproceedings{Jerd97c,
	Author = {Dean Jerding and Spencer Rugaber},
	Booktitle = {Proceedings WCRE},
	Pages = {56--65},
	Publisher = {IEEE},
	Title = {{Using} {Visualization} for {Architectural} {Localization} and {Extraction}},
	Year = {1997}}

@inproceedings{Jerr89a,
	Author = {Max E. Jerrell},
	Booktitle = {Proceedings OOPSLA '89, ACM SIGPLAN Notices},
	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},
	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},
	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},
	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},
	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},
	Month = jul,
	Pages = {275--294},
	Publisher = {Springer-Verlag},
	Series = {LNCS},
	Title = {Parallel Operators},
	Volume = {1098},
	Year = {1996}}

@misc{Jfac,
	Key = {jFac},
	Note = {http://www.instantiations.com/jfactor/},
	Title = {j{Factor}}}

@misc{Jikes,
	Key = {Jikes},
	Note = {http://jikesrvm.sourceforge.net/},
	Title = {The {Jikes} Research Virtual Machine},
	Url = {http://jikesrvm.sourceforge.net/},
	Bdsk-Url-1 = {http://jikesrvm.sourceforge.net/}}

@inproceedings{Jim96a,
	Author = {Trevor Jim},
	Booktitle = {Principles of Programming Languages},
	Publisher = {ACM},
	Title = {What are principal typings and what are they good for?},
	Url = {http://www.research.att.com/~trevor/papers.html},
	Year = {1996},
	Bdsk-Url-1 = {http://www.research.att.com/~trevor/papers.html}}

@inbook{Jime09b,
	Author = {Ricardo Jimenez-Peris and Marta Pati\~no-Martinez and Bettina Kemme and Francisco Perez-Sorrosal and Damian Serrano},
	Booktitle = {Architecting Dependable Systems. Volume 6.},
	Isbn = {3-642-10247-6},
	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},
	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}}

@misc{Jip,
	Key = {jip},
	Note = {http://sourceforge.net/projects/jiprof},
	Title = {Java Interactive Profiler}}

@book{John00a,
	Author = {Jeff Johnson},
	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}}

@techreport{John75a,
	Address = {Murray Hill, NJ},
	Author = {S.C. Johnson},
	Institution = {Bell Laboratories},
	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},
	Month = nov,
	Pages = {315--321},
	Title = {Type-Checking {Smalltalk}},
	Volume = {21},
	Year = {1986}}

@inproceedings{John88a,
	Author = {Ralph Johnson},
	Booktitle = {Proceedings OOPSLA '88, ACM SIGPLAN Notices},
	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},
	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}}

@inproceedings{John88c,
	Address = {New York, NY, USA},
	Author = {Johnson, G. F. and Duggan, D.},
	Booktitle = {POPL '88: Proceedings of the 15th ACM SIGPLAN-SIGACT symposium on Principles of programming languages},
	Doi = {10.1145/73560.73574},
	Isbn = {0-89791-252-7},
	Location = {San Diego, California, United States},
	Pages = {158--168},
	Publisher = {ACM},
	Title = {Stores and partial continuations as first-class objects in a language and its environment},
	Year = {1988},
	Bdsk-Url-1 = {http://dx.doi.org/10.1145/73560.73574}}

@techreport{John91a,
	Author = {Ralph E. Johnson and Vincent F. Russo},
	Institution = {UIUC DCS},
	Month = may,
	Number = {91-1696},
	Title = {Reusing Object-Oriented Designs},
	Url = {ftp://st.cs.uiuc.edu/pub/papers/frameworks/reusable-oo-design.ps},
	Year = {1991},
	Bdsk-Url-1 = {ftp://st.cs.uiuc.edu/pub/papers/frameworks/reusable-oo-design.ps}}

@inproceedings{John91b,
	Address = {Los Alamitos, CA, USA},
	Author = {Brian Johnson and Ben Shneiderman},
	Booktitle = {VIS '91: Proceedings of the 2nd conference on Visualization '91},
	Isbn = {0-8186-2245-8 (PAPER)},
	Location = {San Diego, California},
	Pages = {284--291},
	Publisher = {IEEE Computer Society Press},
	Title = {Tree-Maps: a space-filling approach to the visualization of hierarchical information structures},
	Year = {1991}}

@inproceedings{John92a,
	Author = {Ralph E. Johnson},
	Booktitle = {Proceedings OOPSLA '92},
	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},
	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},
	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},
	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},
	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},
	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},
	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}}

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

@book{Jone78a,
	Address = {Heidelberg},
	Editor = {D. Bj\/orner and C.B. Jones},
	Publisher = {Springer-Verlag},
	Series = {LNCS},
	Title = {The Vienna Development Method: The Meta-Language},
	Volume = {61},
	Year = {1978}}

@book{Jone86a,
	Author = {C.B. Jones},
	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},
	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},
	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},
	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},
	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},
	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},
	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},
	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},
	Note = {for printing in FMiSD},
	Publisher = {Kluwer Academic Publishers},
	Title = {Accomodating Interference in the Formal Design of Concurrent Object-Based Programs},
	Year = {1995}}

@book{Jone96a,
	Author = {Richard Jones},
	Isbn = {0--471--94148--4},
	Month = jul,
	Pages = {403},
	Publisher = {John Wiley and Sons},
	Title = {Garbage Collection: Algorithms for Automatic Dynamic Memory Management},
	Url = {http://www.cs.kent.ac.uk/pubs/1996/13},
	Year = {1996},
	Bdsk-Url-1 = {http://www.cs.kent.ac.uk/pubs/1996/13}}

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

@article{Jong77a,
	Author = {Peter de Jong and M.M. Zloof},
	Journal = {CACM},
	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},
	Month = oct,
	Number = {10},
	Pages = {68--77},
	Title = {Compilation into Actors},
	Volume = {21},
	Year = {1986}}

@unpublished{Jons93a,
	Author = {Dirk Jonscher and Klaus R. Dittrich},
	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},
	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},
	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},
	Number = {11},
	Pages = {55--76},
	Title = {Integration of Independently Developed Components through Aliased Multi-Object Type Widening},
	Volume = {3},
	Year = {2004}}

@inproceedings{Joua06a,
	Author = {Fr\'ed\'eric Jouault and Jean B\'ezivin},
	Booktitle = {IFIP Int. Conf. on Formal Methods for Open Object-Based Distributed Systems, LNCS 4037},
	Pages = {171--185},
	Publisher = {Springer},
	Title = {{KM3}: a {DSL} for Metamodel Specification},
	Url = {http://www.lina.sciences.univ-nantes.fr/Publications/2006/JB06a},
	Year = {2006},
	Bdsk-Url-1 = {http://www.lina.sciences.univ-nantes.fr/Publications/2006/JB06a}}

@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},
	Month = {jul},
	Note = {Best Student Paper Award},
	Pdf = {http://phoenix.labri.fr/publications/papers/jouve-al_iptcomm08.pdf},
	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)},
	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},
	Month = mar,
	Note = {demo},
	Publisher = {IEEE Computer Society Press},
	Title = {{DiaSim}: A Parameterized Simulator for Pervasive Computing Applications},
	Year = {2009}}

@techreport{Jouv89a,
	Author = {Pierre Jouvelot and David K. Gifford},
	Institution = {MIT},
	Month = feb,
	Title = {Communication Effects for Message-Based Concurrency},
	Type = {MIT/LCS/TM-386},
	Year = {1989}}

@misc{Jref,
	Key = {jRef},
	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,
	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},
	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},
	Month = jul,
	Number = {1},
	Title = {Fine Grained Mobility in the Emerald System},
	Volume = {6},
	Year = {1988}}

@phdthesis{Jul88b,
	Address = {Seattle},
	Author = {Eric Jul},
	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},
	Pages = {47--54},
	Publisher = {Springer-Verlag},
	Series = {LNCS},
	Title = {Separation of Distribution and Objects},
	Volume = {791},
	Year = {1994}}

@phdthesis{June90a,
	Author = {Marc Junet},
	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}}

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

@techreport{Jung91a,
	Author = {Ralf Jungclaus and Gunter Saake and Thorsten Hartmann and Cristina Sernadas},
	Institution = {Technical University of Braunschweig},
	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{Juni00a,
	Author = {Thomas Junier and Marco Pagni},
	Journal = {Bioinformatics},
	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},
	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},
	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},
	Month = jul,
	Pages = {89--109},
	Title = {Building an Object-Oriented Financial Framework},
	Type = {Visual Objects},
	Year = {1993}}

@inproceedings{Jurg04a,
	Author = {J\"{u}rgen Bortolazzi},
	Booktitle = {Proceedings of the 2nd Software Engineering for Automotive Systems Workshop (ICSE'04)},
	Note = {Invited talk},
	Title = {Challenges in Automotive Software Engineering},
	Year = {2004}}

@unpublished{Just94a,
	Author = {Timothy P. Justice and Rajeev K. Pandey and Timothy A. Budd},
	Note = {Oregon State University},
	Title = {A Multiparadigm Approach to Compiler Construction},
	Type = {Draft},
	Year = {1994}}

@misc{Jython,
	Key = {jython},
	Note = {http://www.jython.org/},
	Title = {Jython}}

@inproceedings{Kaba08a,
	Address = {New York, NY, USA},
	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},
	Location = {Modena, Italy},
	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{Kaeh86a,
	Address = {New York, NY, USA},
	Author = {Ted Kaehler},
	Doi = {10.1145/28697.28707},
	Editor = {N. Meyrowitz},
	Isbn = {0-89791-204-7},
	Issn = {0362-1340},
	Journal = {Proceedings OOPSLA '86, ACM SIGPLAN Notices},
	Location = {Portland, Oregon, United States},
	Month = nov,
	Number = {11},
	Organization = {ACM},
	Pages = {87--106},
	Publisher = {ACM Press},
	Series = {ACM SIGPLAN Notices 21(11)},
	Title = {Virtual Memory on a Narrow Machine for an Object-Oriented Language},
	Volume = {21},
	Year = {1986},
	Bdsk-Url-1 = {http://dx.doi.org/10.1145/28697.28707}}

@inproceedings{Kafu89a,
	Address = {Nottingham},
	Author = {Dennis G. Kafura and Keung Hae Lee},
	Booktitle = {Proceedings ECOOP '89},
	Editor = {S. Cook},
	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},
	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},
	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},
	Publisher = {Prentice-Hall},
	Title = {Object Oriented Software Design and Construction with {C}++},
	Year = {1998}}

@inproceedings{Kahn86a,
	Author = {Ken Kahn and Eric Dean Tribble and Mark S. Miller and Daniel G. Bobrow},
	Booktitle = {Proceedings OOPSLA '86, ACM SIGPLAN Notices},
	Month = nov,
	Pages = {242--257},
	Title = {Objects in Concurrent Logic Programming Languages},
	Volume = {21},
	Year = {1986}}

@techreport{Kahn87a,
	Author = {Gilles Kahn},
	Institution = {INRIA},
	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},
	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},
	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},
	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},
	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},
	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},
	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},
	Month = oct,
	Pages = {91--108},
	Title = {{CHARM}++: {A} Portable Concurrent Object Oriented System Based On {C}++},
	Volume = {28},
	Year = {1993}}

@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)},
	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},
	Number = {6},
	Pages = {654--670},
	Title = {{CCF}inder: A Multi-Linguistic Token-Based Code Clone Detection System for Large Scale Source Code},
	Volume = {28},
	Year = {2002}}

@inproceedings{Kami09a,
	Abstract = {This paper presents a novel design of search tools
                  in reverse engineering, which enables describing
                  core searching tasks (such as pattern searching,
                  extraction, filtering, etc.) in a separated way from
                  the management task of location data (such as line
                  number or file name). By using example programs with
                  a prototype implementation, we explain how the
                  proposed design differs from a traditional design,
                  and how the programs help the implementation of
                  customizable tools.},
	Author = {Kamiya, T.},
	Booktitle = {Search-Driven Development-Users, Infrastructure, Tools and Evaluation, 2009. SUITE '09. ICSE Workshop on},
	Citeulike-Article-Id = {5403378},
	Citeulike-Linkout-0 = {http://dx.doi.org/10.1109/SUITE.2009.5070016},
	Citeulike-Linkout-1 = {http://ieeexplore.ieee.org/xpls/abs\_all.jsp?arnumber=5070016},
	Doi = {10.1109/SUITE.2009.5070016},
	Journal = {Search-Driven Development-Users, Infrastructure, Tools and Evaluation, 2009. SUITE '09. ICSE Workshop on},
	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{Kami90a,
	Author = {Samuel N. Kamin},
	Isbn = {0-201-06824-9},
	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}}

@book{Kan02a,
	Author = {Stephen H. Kan},
	Isbn = {0-201-72915-6},
	Publisher = {Addison Wesley},
	Title = {Metrics and Models in Software Quality Engineering},
	Year = {2002}}

@book{Kan03a,
	Author = {Kan, Stephen H.},
	Publisher = {O'Reilly},
	Title = {Metrics and models in software quality engineering},
	Year = {2006}}

@book{Kane97a,
	Author = {Jonni Kanerva},
	Isbn = {0-201-63456-2},
	Publisher = {Addison Wesley},
	Title = {The {Java} {FAQ}},
	Year = {1997}}

@article{Kang02a,
	Author = {K.C. Kang and Jaejoon Lee and Patrick Donohoe},
	Journal = {IEEE Software},
	Title = {Feature-Oriented Product Line Engineering},
	Year = {2002}}

@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},
	Number = {CMU/SEI-90-TR-21-ESD-90/TR-222},
	Title = {Feature Oriented Design Analysis (FODA) Feasibility Study},
	Year = {1990}}

@book{Kanj99a,
	Author = {Gopal K. Kanji},
	Pages = {110},
	Publisher = {SAGE Publications},
	Title = {100 Statistical Tests},
	Year = {1999}}

@incollection{Kapl93a,
	Abstract = {Name management is so fundamental to every aspect of
                  computing that it is frequently overlooked or taken
                  for granted. Our research is aimed at developing
                  both \fImodels\fR to improve understanding and
                  \fImechanisms\fR to improve practical application of
                  name management approaches in various computing
                  domains. one domain that seems to have particularly
                  strong connections to name management is object
                  technology for advanced software. Object technology
                  has already proven very useful in our investigation
                  of name management models and mechanisms. We also
                  see great potential for beneficial application of
                  improved name management mechanisms to object
                  technology for advanced software. In this paper, we
                  first outline our overall approach to research on
                  name management and discuss some specific name
                  management concerns arising in object technology for
                  advanced software. We then illustrate the
                  application of object technology in our efforts to
                  construct name management models and mechanisms.
                  Finally we give an example of how enhanced name
                  management mechanisms might be incorporated into a
                  representative instance of object technology for
                  advanced software.},
	Author = {Alan Kaplan and Jack C. Wileden},
	Booktitle = {Object Technologies for Advanced Software, First JSSST International Symposium},
	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},
	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.},
	Author = {Gerti Kappel and Oscar Nierstrasz},
	Journal = {Handbuch der Modernen Datenverarbeitung},
	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.},
	Author = {Gerti Kappel and Jan Vitek and Oscar Nierstrasz and Betty Junod and Marc Stadelmann},
	Doi = {10.1145/77250.77253},
	Journal = {SIGOIS Bulletin},
	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},
	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},
	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},
	Author = {Cory Kapser and Jack Chi and Maher Shinouda},
	Institution = {School of Computer Science, University of Waterloo},
	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},
	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)},
	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},
	Pages = {19--28},
	Posted-At = {2010-01-28 10:21:32},
	Priority = {0},
	Publisher = {IEEE Computer Society},
	Title = {"Cloning Considered Harmful" Considered Harmful},
	Url = {http://dx.doi.org/10.1109/WCRE.2006.1},
	Volume = {0},
	Year = {2006},
	Bdsk-Url-1 = {http://dx.doi.org/10.1109/WCRE.2006.1}}

@book{Karl95a,
	Author = {Even-Andre Karlsson},
	Isbn = {0-471-95819-0},
	Publisher = {Jhon Willey Sons},
	Title = {Software Reuse {A} Holistic Approach},
	Year = {1995}}

@article{Karo02a,
	Author = {Karouach, Said and Dousset, Bernard},
	Journal = {Journal of ISDM (Information Sciences for Decision Making)},
	Month = mar,
	Number = {57},
	Pages = {12},
	Title = {Visualisation de relations par des graphes interactifs de grande taille},
	Volume = {6},
	Year = {2003}}

@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},
	Month = jan,
	Publisher = {Hermes},
	Title = {Analyse d'information relationnelle par des graphes interactifs de grandes tailles},
	Year = {2004}}

@inproceedings{Karp07a,
	Author = {Marcin Karpinski and Vinny Cahill},
	Booktitle = {In Proceedings of Fourth Annual IEEE Communications Society Conference on Sensor, Mesh and Ad Hoc Communications and Networks SECON 2007},
	Location = {San Diego, CA},
	Month = jun,
	Publisher = {IEEE},
	Title = {High-Level Application Development is Realistic for Wireless Sensor Network},
	Year = {2007}}

@article{Karr92a,
	Author = {C. Karreman},
	Journal = {Comput. Appl. Biosci.},
	Pages = {75--77},
	Title = {A Dotplot Program for the {Atari} {ST}, for the Analysis of {DNA} and Protein Sequences},
	Volume = {8},
	Year = {1992}}

@inproceedings{Kars93a,
	Author = {Alain Karsenty and Michel Beaudouin-Lafon},
	Booktitle = {Proceeding of ICDCS '93 Intyernational Conference on Distributed Computing Systems},
	Editor = {IEEE},
	Month = may,
	Title = {An algorithm for distributed groupware Applications},
	Year = {1993}}

@inproceedings{Kase07a,
	Author = {Owen Kaser and Daniel Lemire},
	Booktitle = {Proceedings of the Tagging and Metadata for Social Information Organization Workshop},
	Title = {Tag-Cloud Drawing: Algorithms for Cloud Visualization},
	Year = {2007}}

@book{Kast82a,
	Author = {U. Kastens and B. Hutt and E. Zimmermann},
	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},
	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},
	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}}

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

@book{Kauf90a,
	Address = {New York},
	Author = {L. Kaufman and P. J. Rousseeuw},
	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}}

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

@book{Kave06a,
	Author = {Kaveh},
	Publisher = {Wiley},
	Title = {Optimal structural analysis},
	Year = {2006}}

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

@book{Kay00a,
	Author = {Michael Kay},
	Publisher = {Wrox Press Ltd.},
	Title = {XSLT, Programmer's Reference},
	Year = {2000}}

@book{Kay01a,
	Author = {Michael Kay},
	Edition = {2nd},
	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},
	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},
	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{Kay72a,
	Author = {Alan C. Kay},
	Booktitle = {Proceedings of the ACM National Conference},
	Month = aug,
	Publisher = {ACM Press},
	Title = {A Personal Computer for Children of All Ages},
	Url = {http://www.mprove.de/diplom/gui/kay72.html http://www.mprove.de/diplom/gui/Kay72a.pdf},
	Year = {1972},
	Bdsk-Url-1 = {http://www.mprove.de/diplom/gui/kay72.html%20http://www.mprove.de/diplom/gui/Kay72a.pdf}}

@article{Kay77a,
	Author = {Alan C. Kay},
	Journal = {Scientific American},
	Number = {237},
	Pages = {230--240},
	Title = {Microelectronics and the Personal Computer},
	Volume = {3},
	Year = {1977}}

@inproceedings{Kay93a,
	Author = {Alan C. Kay},
	Booktitle = {ACM SIGPLAN Notices},
	Doi = {10.1145/155360.155364},
	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}}

@techreport{Kazm01a,
	Author = {Rick Kazman and Liam O'Brien and Chris Verhoef},
	Institution = {Carnegie Mellon University, Software Engineering Institute},
	Month = aug,
	Title = {Architecture Reconstruction Guidelines},
	Type = {{CMU/SEI-2001-TR-026}},
	Url = {http://www.sei.cmu.edu/pub/documents/01.reports/pdf/01tr026.pdf},
	Year = {2001},
	Bdsk-Url-1 = {http://www.sei.cmu.edu/pub/documents/01.reports/pdf/01tr026.pdf}}

@techreport{Kazm03a,
	Author = {Rick Kazman and Liam O'Brien and Chris Verhoef},
	Institution = {Carnegie Mellon University, Software Engineering Institute},
	Month = nov,
	Title = {Architecture Reconstruction Guidelines, Third Edition},
	Type = {{CMU/SEI-2002-TR-034}},
	Url = {http://www.sei.cmu.edu/publications/documents/02.reports/02tr034.html http://www.sei.cmu.edu/pub/documents/02.reports/pdf/02tr034.pdf},
	Year = {2003},
	Bdsk-Url-1 = {http://www.sei.cmu.edu/publications/documents/02.reports/02tr034.html%20http://www.sei.cmu.edu/pub/documents/02.reports/pdf/02tr034.pdf}}

@techreport{Kazm05a,
	Author = {Rick Kazman and Len Bass},
	Institution = {Carnegie Mellon University, Software Engineering Institute},
	Month = dec,
	Title = {Categorizing Business Goals for Software Architectures},
	Type = {CMU/SEI-2005-TR-021},
	Url = {http://www.sei.cmu.edu/publications/documents/05.reports/05tr021.html http://www.sei.cmu.edu/pub/documents/05.reports/pdf/05tr021.pdf},
	Year = {2005},
	Bdsk-Url-1 = {http://www.sei.cmu.edu/publications/documents/05.reports/05tr021.html%20http://www.sei.cmu.edu/pub/documents/05.reports/pdf/05tr021.pdf}}

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

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

@article{Keef06c,
	Address = {Los Alamitos, CA, USA},
	Author = {Mark O'Keeffe and Mel \'{\O}Cinn\'{e}ide},
	Doi = {10.1109/CSMR.2006.49},
	Issn = {1052-8725},
	Journal = {European Conference on Software Maintenance and Reengineering},
	Pages = {249-260},
	Publisher = {IEEE Computer Society},
	Title = {Search-Based Software Maintenance},
	Volume = {0},
	Year = {2006},
	Bdsk-Url-1 = {http://dx.doi.org/10.1109/CSMR.2006.49}}

@article{Keef07c,
	Address = {New York, NY, USA},
	Author = {Mark O'Keeffe and Mel \'{\O} Cinn\'{e}ide},
	Doi = {/10.1016/j.jss.2007.06.003},
	Issn = {0164-1212},
	Journal = {Journal of Systems and Software},
	Number = {4},
	Pages = {502--516},
	Publisher = {Elsevier Science Inc.},
	Title = {Search-based refactoring for software maintenance},
	Volume = {81},
	Year = {2008},
	Bdsk-Url-1 = {http://dx.doi.org/10.1016/j.jss.2007.06.003}}

@book{Keen89a,
	Author = {Sonia E. Keene},
	Publisher = {Addison Wesley},
	Title = {Object-Oriented Programming in Common-Lisp},
	Year = {1989}}

@inproceedings{Kell00a,
	Author = {Wolfgang Keller},
	Booktitle = {Proceedings of EuroPLoP 2000},
	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{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{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},
	Pages = {313--343},
	Publisher = {Addison Wesley},
	Title = {Accessing Relational Databases: {A} Pattern Language},
	Year = {1998}}

@inproceedings{Kell98b,
	Author = {Ralph Keller and Urs H{\"o}lzle},
	Booktitle = {ECOOP'98, LNCS 1445},
	Pages = {307--340},
	Title = {Binary Component Adaptation},
	Year = {1998}}

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

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

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

@incollection{Kenn82a,
	Author = {J. Kennaway and M. Sleep},
	Booktitle = {LISP and Functional Programming},
	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},
	Pages = {222--230},
	Publisher = {Springer-Verlag},
	Series = {LNCS},
	Title = {Syntax and Informal Semantics of DyNe, a Parallel Language},
	Volume = {207},
	Year = {1983}}

@book{Kent06a,
	Author = {Kent Beck},
	Isbn = {0321413091},
	Publisher = {Addison-Wesley Professional},
	Title = {Implementation Patterns},
	Year = {2006}}

@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},
	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},
	Month = dec,
	Pages = {406--417},
	Title = {Exact Indexing of dynamic time warping},
	Year = {2002}}

@inproceedings{Keog99a,
	Author = {Eamonn Keogh and M. Pazzani},
	Booktitle = {Proceedings 3rd European Conference on Principles and Practice of Knowledge Discovery in Databases},
	Pages = {1--11},
	Title = {Scaling up dynamic time warping to massive datasets},
	Year = {1999}}

@book{Keri04a,
	Author = {Joshua Kerievsky},
	Isbn = {0321213351},
	Publisher = {Pearson Higher Education},
	Title = {Refactoring to Patterns},
	Year = {2004}}

@book{Kern76a,
	Address = {Reading, Mass.},
	Author = {B.W. Kernighan and P.J. Plauger},
	Publisher = {Addison Wesley, Inc.},
	Title = {Software Tools},
	Year = {1976}}

@book{Kern78a,
	Author = {B.W. Kernighan and D.M. Ritchie},
	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},
	Publisher = {Prentice-Hall},
	Title = {The {UNIX} Programming Environment},
	Year = {1984}}

@inproceedings{Kerr87a,
	Author = {R.K. Kerr and D.B. Percival},
	Booktitle = {Proceedings OOPSLA '87, ACM SIGPLAN Notices},
	Month = dec,
	Pages = {1--10},
	Title = {Use of Object-Oriented Programming in a Time Series Analysis System},
	Volume = {22},
	Year = {1987}}

@inproceedings{Kers05a,
	Address = {New York, NY, USA},
	Author = {Mik Kersten and Gail C. Murphy},
	Booktitle = {AOSD '05: Proceedings of the 4th international conference on Aspect-oriented software development},
	Doi = {10.1145/1052898.1052912},
	Isbn = {1-59593-042-6},
	Location = {Chicago, Illinois},
	Pages = {159--168},
	Publisher = {ACM Press},
	Title = {Mylar: a degree-of-interest model for IDEs},
	Year = {2005},
	Bdsk-Url-1 = {http://dx.doi.org/10.1145/1052898.1052912}}

@inproceedings{Kers06a,
	Address = {New York, NY, USA},
	Author = {Mik Kersten and Gail C. Murphy},
	Booktitle = {SIGSOFT '06/FSE-14: Proceedings of the 14th ACM SIGSOFT international symposium on Foundations of software engineering},
	Doi = {10.1145/1181775.1181777},
	Isbn = {1-59593-042-6},
	Location = {Portland, Oregon, USA},
	Pages = {1--11},
	Publisher = {ACM Press},
	Title = {Using task context to improve programmer productivity},
	Year = {2006},
	Bdsk-Url-1 = {http://dx.doi.org/10.1145/1181775.1181777}}

@inproceedings{Khos86a,
	Author = {Setrag N. Khoshafian and George P. Copeland},
	Booktitle = {Proceedings OOPSLA '86, ACM SIGPLAN Notices},
	Month = nov,
	Pages = {406--416},
	Title = {Object Identity},
	Volume = {21},
	Year = {1986}}

@book{Khos95a,
	Author = {Setrag Khoshafian and Marek Buckiewicz},
	Publisher = {John Wiley \& Sons},
	Title = {Introduction to Groupware, Workflow and Workgroup Computing},
	Year = {1995}}

@unpublished{Kici01a,
	Author = {Emre K{\i}c{\i}man and Laurence Melloul and Armando Fox},
	Note = {Submitted to Hot Topics in Operating Systems (HotOS VIII).},
	Title = {Towards Zero-Code Composition},
	Year = {2001}}

@inproceedings{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)}},
	Title = {{Semantics-Based Crosscutting in {AspectJ}}},
	Year = {2000}}

@inproceedings{Kicz01a,
	Author = {Gregor Kiczales and Erik Hilsdale and Jim Hugunin and Mik Kersten and Jeffrey Palm and William G. Griswold},
	Booktitle = {Proceedings ECOOP 2001},
	Number = {2072},
	Pages = {327--353},
	Publisher = {Springer Verlag},
	Series = {LNCS},
	Title = {An overview of {AspectJ}},
	Year = {2001}}

@inproceedings{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},
	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},
	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},
	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},
	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},
	Month = jan,
	Title = {Beyond the Black Box: Open Implementation},
	Year = {1996}}

@inproceedings{Kicz97a,
	Address = {Jyvaskyla, Finland},
	Author = {Gregor Kiczales and John Lamping and Anurag Mendhekar and Chris Maeda and Cristina Lopes and Jean-Marc Loingtier and John Irwin},
	Booktitle = {Proceedings ECOOP '97},
	Editor = {Mehmet Aksit and Satoshi Matsuoka},
	Month = jun,
	Pages = {220--242},
	Publisher = {Springer-Verlag},
	Series = {LNCS},
	Title = {{Aspect-Oriented Programming}},
	Volume = 1241,
	Year = {1997}}

@inproceedings{Kieb96a,
	Author = {Kieburtz, Richard B. and McKinney, Laura and Bell, Jeffrey M. and Hook, James and Kotov, Alex and Lewis, Jeffrey and Oliva, Dino P. and Sheard, Tim and Smith, Ira and Walton, Lisa},
	Booktitle = {ICSE'96: Proceedings of the 18th International Conference on Software engineering},
	Pages = {542--552},
	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},
	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},
	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},
	Publisher = {Springer Verlag},
	Series = {LNCS},
	Title = {{AOP}: Does it Make Sense? The Case of Concurrency and Failures},
	Volume = {2374},
	Year = {2002}}

@article{Kien07a,
	Address = {Los Alamitos, CA, USA},
	Author = {Holger M. Kienle and Hausi A. Muller},
	Doi = {10.1109/VISSOF.2007.4290693},
	Isbn = {1-4244-0599-8},
	Journal = {VISSOFT 2007. 4th IEEE International Workshop on Visualizing Software for Understanding and Analysis},
	Pages = {2--9},
	Publisher = {IEEE Computer Society},
	Title = {Requirements of Software Visualization Tools: A Literature Survey},
	Year = {2007},
	Bdsk-Url-1 = {http://dx.doi.org/10.1109/VISSOF.2007.4290693}}

@article{Kien09a,
	Abstract = {At the first International Workshop on Advanced
                  Software Development Tools and Techniques, four
                  emerging trends in academic tool building were
                  evident. First, tools are increasingly constructed
                  on the basis of external code, reusing, for
                  instance, existing frameworks and integrated
                  development environments. Second, researchers often
                  choose dynamic languages such as Smalltalk to
                  implement prototype tools. Third, Web-based tools
                  are starting to incorporate Web 2.0 technologies to
                  improve user interaction. Finally, increasing
                  computational resources allow tools to tackle
                  larger, real-world code bases.},
	Address = {Los Alamitos, CA, USA},
	Author = {Kienle, Holger M. and Kuhn, Adrian and Mens, Kim and van den Brand, Mark and Wuyts, Roel},
	Doi = {10.1109/MS.2009.25},
	Issn = {0740-7459},
	Journal = {IEEE Software},
	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},
	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},
	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)},
	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},
	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},
	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},
	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},
	Month = jun,
	Pages = {182--191},
	Title = {Information Modeling and Object {Z}: Specifying Generic Reusable Associations},
	Year = {1993}}

@techreport{Kim02a,
	Author = {Howard Kim},
	Institution = {Department of Computer Science, Trinity College, Dublin},
	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},
	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.},
	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)},
	Medium = {2},
	Pages = {22--25},
	Title = {{TA-RE}: An Exchange Language for Mining Software Repositories},
	Url = {http://scg.unibe.ch/archive/papers/Kim06aTARE.pdf},
	Year = {2006},
	Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Kim06aTARE.pdf}}

@inproceedings{Kim07a,
	Address = {Washington, DC, USA},
	Author = {Sunghun Kim and Thomas Zimmermann and E. James Whitehead Jr. and Andreas Zeller},
	Booktitle = {ICSE '07: Proceedings of the 29th international conference on Software Engineering},
	Doi = {10.1109/ICSE.2007.66},
	Isbn = {0-7695-2828-7},
	Pages = {489--498},
	Publisher = {IEEE Computer Society},
	Title = {Predicting Faults from Cached History},
	Year = {2007},
	Bdsk-Url-1 = {http://dx.doi.org/10.1109/ICSE.2007.66}}

@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},
	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},
	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},
	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},
	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},
	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},
	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},
	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},
	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},
	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},
	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},
	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},
	Misc = {August 28-30},
	Month = aug,
	Publisher = {IEEE},
	Title = {Future Trends in Distributed Computing Systems},
	Year = {1997}}

@incollection{Kimb07a,
	Author = {Kimball, Aaron and Grossman, Dan},
	Booktitle = {The 8th Annual Workshop on Scheme and Functional Programming},
	Month = sep,
	Publisher = {ACM SIGPLAN},
	Title = {Software Transactions Meet First-Class Continuations},
	Url = {http://www.cs.washington.edu/homes/djg/papers/transactions_continuations.pdf},
	Year = {2007},
	Bdsk-Url-1 = {http://www.cs.washington.edu/homes/djg/papers/transactions_continuations.pdf}}

@article{King97a,
	Author = {Nelson King},
	Journal = {Internet Systems},
	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}}

@article{Kirk83a,
	Author = {S. Kirkpatrick and C. D. Gelatt Jr. and M. P. Vecchi},
	Doi = {10.1126/science.220.4598.671},
	Journal = {Science},
	Number = {4598},
	Pages = {671--680},
	Title = {Optimization by Simulated Annealing},
	Volume = {220},
	Year = {1983},
	Bdsk-Url-1 = {http://dx.doi.org/10.1126/science.220.4598.671}}

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

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

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

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

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

@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},
	Series = {LNCS},
	Title = {Metaclasses and Their Application},
	Volume = {943},
	Year = {1995}}

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

@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},
	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{Kley88a,
	Author = {Michael F. Kleyn and Paul C. Gingrich},
	Booktitle = {Proceedings of International Conference on Object-Oriented Programming Systems, Languages, and Applications (OOPSLA'88)},
	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},
	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}}

@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 Transaction 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{Klin89a,
	Author = {Jan Heering and Paul Klint and Jan Rekers},
	Booktitle = {PLDI 1989},
	Doi = {10.1145/73141.74834},
	Isbn = {0-89791-306-X},
	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{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},
	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}}

@techreport{Kneu01a,
	Author = {Stefan Kneub\"uhl},
	Institution = {University of Bern},
	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},
	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}}

@phdthesis{Knie00a,
	Author = {G{\"u}nter Kniesel},
	School = {CS Dept. III, University of Bonn, Germany},
	Title = {Darwin --- Dynamic Object-Based Inheritance with Subtyping},
	Type = {{PhD} thesis},
	Year = {2000}}

@article{Knie01a,
	Author = {G{\"u}nter Kniesel and Dirk Theisen},
	Journal = {Software --- Practice and Experience},
	Month = may,
	Number = {6},
	Pages = {555--576},
	Title = {{JAC} --- Access right based encapsulation for {Java}},
	Volume = {31},
	Year = {2001}}

@incollection{Knie02a,
	Author = {G. Kniesel and J. Noppen and T. Mens and J. Buckley},
	Booktitle = {Proceedings of ECOOP 2002 Workshop Reader},
	Publisher = {Springer Verlag},
	Series = {LNCS},
	Title = {The First Workshop on Unanticipated Software Evolution (USE 2002)},
	Volume = {2548},
	Year = {2002}}

@incollection{Knie04a,
	Author = {G{\"u}nter Kniesel and Tobias Rho and Stefan Hanenberg},
	Booktitle = {Proc. of ECOOP'2004 Workshop on Reflection, AOP and Meta-Data for Software Evolution},
	Month = jun,
	Publisher = {Springer Verlag},
	Title = {Evolvable Pattern Implementations Need Generic Aspects, Proc. of ECOOP 2004 Workshop on Reflection, AOP and Meta-Data for Software Evolution},
	Url = {http://roots.iai.uni-bonn.de/research/logicaj/downloads/papers/KnieselRhoHanenberg-RAM-SE04.pdf},
	Year = {2004},
	Bdsk-Url-1 = {http://roots.iai.uni-bonn.de/research/logicaj/downloads/papers/KnieselRhoHanenberg-RAM-SE04.pdf}}

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

@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},
	Month = jun,
	Pages = {351--366},
	Publisher = {Springer-Verlag},
	Series = {LNCS},
	Title = {Type-Safe Delegation for Run-Time Component Adaptation},
	Volume = 1628,
	Year = {1999}}

@manual{Knig07,
	Author = {Steven Knight},
	Title = {SCons User Guide 0.97},
	Url = http://www.scons.org/doc/0.97/HTML/scons-user/book1.html,
	Year = {2007},
	Bdsk-Url-1 = {http://www.scons.org/doc/0.97/HTML/scons-user/book1.html}}

@inproceedings{Kno03a,
	Author = {Jens Knodel and Martin Pinzger},
	Booktitle = {Proceedings of WCRE '03},
	Month = nov,
	Pages = {186--195},
	Publisher = {IEEE Computer Society},
	Title = {Improving Fact Extraction of Framework-based Software Systems},
	Year = {2003}}

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

@inproceedings{Knod06a,
	Address = {Los Alamitos, CA, USA},
	Author = {Jens Knodel and Dirk Muthig and Matthias Naab and Mikael Lindvall},
	Booktitle = {CSMR'06},
	Doi = {10.1109/CSMR.2006.53},
	Issn = {1052-8725},
	Pages = {279--294},
	Publisher = {IEEE Computer Society},
	Title = {Static Evaluation of Software Architectures},
	Year = {2006},
	Bdsk-Url-1 = {http://dx.doi.org/10.1109/CSMR.2006.53}}

@inproceedings{Knud88a,
	Address = {Oslo},
	Author = {J\/orgen Lindskov Knudsen and Ole Lehrmann Madsen},
	Booktitle = {Proceedings ECOOP '88},
	Editor = {S. Gjessing and K. Nygaard},
	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},
	Misc = {August 15-17},
	Month = apr,
	Pages = {93--109},
	Publisher = {Springer-Verlag},
	Series = {LNCS},
	Title = {Name Collision in Multiple Classification Hierarchies},
	Volume = {322},
	Year = {1988}}

@book{Knut73a,
	Address = {Reading, Mass.},
	Author = {D.E. Knuth},
	Isbn = {0-201-03803-X},
	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},
	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},
	Publisher = {Addison Wesley},
	Series = {The Art of Computer Programming},
	Title = {Seminumerical Algoritms},
	Volume = {2},
	Year = {1973}}

@article{Knut77a,
	Author = {Donald E. Knuth and James H. Morris and Vaughan R. Pratt},
	Journal = {SIAM Journal of Computing},
	Month = jun,
	Number = {2},
	Pages = {323--350},
	Title = {Fast Pattern Matching in Strings},
	Volume = {6},
	Year = {1977}}

@book{Knut86a,
	Author = {D.E. Knuth},
	Publisher = {Addison Wesley},
	Title = {The TexBook},
	Year = {1986}}

@book{Knut92a,
	Author = {Donald E. Knuth},
	Isbn = {0-937073-80-6},
	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}}

@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},
	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},
	Month = jan,
	Pages = {358--371},
	Publisher = {ACM Press},
	Title = {Linearity and the Pi-Calculus},
	Url = {http://www.dcs.gla.ac.uk/~dnt/KobayashiPierceTurner96.ps.gz},
	Year = {1996},
	Bdsk-Url-1 = {http://www.dcs.gla.ac.uk/~dnt/KobayashiPierceTurner96.ps.gz}}

@techreport{Kobe04a,
	Abstract = {In this project, we developed a tool for generating
                  videosequences from geographical data (temperature,
                  sea level pressure, 500hPa geopot., ...). The
                  customer for this application (called VisClim) is
                  the Climatology/Meteorology Research Group (Climet)
                  from the Institute of Geography of the University of
                  Bern. They maintain a database which contains earth
                  science data for the time span from 1500 until
                  today. VisClim is able to load netCDF files and
                  generate videosequences from the data in these
                  files.},
	Author = {Markus Kobel},
	Institution = {University of Bern},
	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},
	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},
	Publisher = {IDG Books},
	Title = {Workflow Strategies},
	Year = {1997}}

@proceedings{Kobr98a,
	Editor = {Cris Kobryn},
	Isbn = {0-7803-5158-4},
	Publisher = {IEEE},
	Title = {EDOC '98 Proceedings},
	Year = {1998}}

@book{Koch03a,
	Author = {Stephen G. Kochan},
	Isbn = {0672325861},
	Publisher = {Sams},
	Title = {Programming in Objective-C (Developer's Library)},
	Year = {2003}}

@inproceedings{Koch94a,
	Author = {S. Kochhar},
	Booktitle = {Proceedings, Object-Oriented Methodologies and Systems},
	Editor = {E. Bertino and S. Urban},
	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}}

@book{Koen07a,
	Author = {Dierk K\"onig},
	Isbn = {1-932394-85-2},
	Publisher = {Manning},
	Title = {Groovy in action},
	Year = {2007}}

@article{Koen95a,
	Author = {Andrew Koenig},
	Journal = {Journal of Object-Oriented Programming},
	Misc = {March-April},
	Month = mar,
	Title = {Patterns and antipatterns},
	Year = {1995}}

@article{Kohl81a,
	Author = {Walter H. Kohler},
	Journal = {ACM Computing Surveys},
	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}}

@inproceedings{Koll01a,
	Author = {Ralf Kollman and Martin Gogolla},
	Booktitle = {Proceedings 5th European Conference on SOftware Maintenance and Reengineering (CSMR 2001)},
	Publisher = {IEEE Computer Society},
	Title = {Capturing Dynamic Program Behaviour with UML Collaboration Diagrams},
	Year = {2001}}

@inproceedings{Kols98a,
	Author = {U. K{\"o}lsch},
	Booktitle = {Proceedings of WCRE '98},
	Note = {ISBN: 0-8186-89-67-6},
	Pages = {104--115},
	Publisher = {IEEE Computer Society},
	Title = {Object-Oriented Re-Engineering of Information Systems in a Hetegeneous Distributed Environment},
	Year = {1998}}

@inproceedings{Komo01a,
	Author = {Raghavan Komondoor and Susan Horwitz},
	Booktitle = {Proc. European Symposium on Programming (ESOP)},
	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)},
	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},
	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},
	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},
	Month = jun,
	Pages = {61--105},
	Title = {An Implementation of Hybrid, a Concurrent Object-Oriented Language},
	Type = {Active Object Environments},
	Url = {http://scg.unibe.ch/archive/osg/Kons88aHybridImplementation.pdf http://cuiwww.unige.ch/OSG/publications/OO-articles/Dimitri/hybridImplementation.pdf},
	Year = {1988},
	Bdsk-Url-1 = {http://scg.unibe.ch/archive/osg/Kons88aHybridImplementation.pdf%20http://cuiwww.unige.ch/OSG/publications/OO-articles/Dimitri/hybridImplementation.pdf}}

@techreport{Kons90a,
	Abstract = {We present a model of a distributed system that
                  preserves the personal aspects of today's advanced
                  personal workstations. Its advantages over
                  conventional distributed systems are described, and
                  design issues are presented. Finally, we sketch the
                  extensions needed to convert the object oriented
                  language and system, Hybrid, to the new distributed
                  system model.},
	Author = {Dimitri Konstantas},
	Editor = {D. Tsichritzis},
	Institution = {Centre Universitaire d'Informatique, University of Geneva},
	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},
	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},
	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)},
	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},
	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},
	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},
	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},
	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},
	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},
	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)},
	Month = aug,
	Pages = {68--73},
	Title = {Detecting Code Similarity using Patterns},
	Url = {citeseer.ist.psu.edu/kontogiannis95detecting.html},
	Year = {1995},
	Bdsk-Url-1 = {citeseer.ist.psu.edu/kontogiannis95detecting.html}}

@article{Kont96a,
	Author = {K. Kontogiannis and R. DeMori and E. Merlo and M. Galler and M. Bernstein},
	Doi = {10.1007/BF00126960},
	Journal = {Journal of Automated Software Engineering},
	Pages = {77--108},
	Title = {Pattern Matching for Clone and Concept Detection},
	Volume = {3},
	Year = {1996},
	Bdsk-Url-1 = {http://dx.doi.org/10.1007/BF00126960}}

@inproceedings{Kont97a,
	Author = {Kostas Kontogiannis},
	Booktitle = {Proceedings Fourth Working Conference on Reverse Engineering},
	Editor = {Ira Baxter and Alex Quilici and Chris Verhoef},
	Pages = {44--54},
	Publisher = {IEEE Computer Society},
	Title = {Evaluation Experiments on the Detection of Programming Patterns Using Software Metrics},
	Year = {1997}}

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

@book{Koom04a,
	Author = {Jonathan G. Koomey},
	Publisher = {Analytics Press},
	Title = {Turning Numbers into Knowledge},
	Year = {2004}}

@book{Kopk99a,
	Author = {Helmut Kopka and Patrick W. Daly},
	Isbn = {0-201-39825-7},
	Publisher = {Addison Wesley},
	Title = {A Guide To Latex},
	Year = {1999}}

@article{Kopp96a,
	Author = {Rainer Koppler},
	Journal = {Software: Practice and Experience},
	Number = {6},
	Pages = {637--649},
	Title = {A Systematic Approach to Fuzzy Parsing},
	Volume = {27},
	Year = {1996}}

@article{Kore88a,
	Author = {B. Korel and J. Laski},
	Journal = {Information Processing Letters},
	Number = {3},
	Pages = {155--163},
	Title = {Dynamic program slicing},
	Volume = {29},
	Year = {1988}}

@inproceedings{Kore97a,
	Author = {Bogdan Korel and J\"urgen Rilling},
	Booktitle = {5th International Workshop on Program Comprehension (WPC '97)},
	Pages = {80--85},
	Title = {Dynamic Program Slicing in Understanding of Program Execution},
	Year = {1997}}

@article{Kore98a,
	Author = {Bogdan Korel and Juergen Rilling},
	Doi = {10.1016/S0950-5849(98)00089-5},
	Journal = {Information {\&} Software Technology},
	Number = {11-12},
	Pages = {647--659},
	Title = {Dynamic program slicing methods},
	Volume = {40},
	Year = {1998},
	Bdsk-Url-1 = {http://dx.doi.org/10.1016/S0950-5849(98)00089-5}}

@book{Kori02a,
	Author = {Gene Korienek and Tom Wrensch and Doug Dechow},
	Publisher = {Addison Wesley},
	Title = {Squeak --- A Quick Trip to Objectland},
	Year = {2002}}

@book{Kort94a,
	Author = {Henry F. Korth and Abraham Silberschatz},
	Isbn = {0-07-100804-7},
	Publisher = {McGraw Hill},
	Title = {Database System Concepts},
	Year = {1994}}

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

@phdthesis{Kosc00a,
	Author = {Rainer Koschke},
	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},
	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},
	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{Kosc98a,
	Author = {Rainer Koschke and J.-F. Girard and M. W{\"u}rthner},
	Booktitle = {Proceedings of WCRE '98},
	Note = {ISBN: 0-8186-89-67-6},
	Pages = {241--251},
	Publisher = {IEEE Computer Society},
	Title = {An Intermediate Representation for Reverse Engineering Analyses},
	Year = {1998}}

@inproceedings{Kosc99a,
	Author = {R. Koschke},
	Booktitle = {Working Conference on Reverse Engineering},
	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}}

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

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

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

@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},
	Month = oct,
	Pages = {309--325},
	Title = {{GROOP}: An Object-Oriented Toolkit for Animated 3D Graphics},
	Volume = {28},
	Year = {1993}}

@book{Koza92a,
	Address = {Cambridge, Mass.},
	Author = {John R. Koza},
	Isbn = {0-262-11170-5},
	Publisher = {MIT Press},
	Title = {Genetic programming: {O}n the programming of computers by natural selection},
	Year = {1992}}

@article{Koza93a,
	Author = {Wojtek Kozaczynski and Annie Kuntzmann-Combelles},
	Journal = {IEEE Software (Special Issue on "Making O-O Work")},
	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},
	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}}

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

@book{Kozo02a,
	Author = {Kozo Sugiyama},
	Note = {received 10-06-2009},
	Publisher = {World Scientific},
	Title = {Graph Drawing and Applications for Software and Knowledge Engineers},
	Year = {2002}}

@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},
	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},
	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},
	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},
	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},
	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.},
	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},
	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},
	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},
	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},
	Month = jun,
	Pages = {580--587},
	Publisher = {IEEE},
	Title = {A Constructive Approach to the Design of Distributed Systems},
	Year = {1990}}

@article{Kram90b,
	Address = {Piscataway, NJ, USA},
	Author = {Jeff Kramer and Jeff Magee},
	Doi = {10.1109/32.60317},
	Journal = {IEEE Trans. Softw. Eng.},
	Number = {11},
	Pages = {1293--1306},
	Publisher = {IEEE Press},
	Title = {The Evolving Philosophers Problem: Dynamic Change Management},
	Url = {http://reference.kfupm.edu.sa/content/e/v/the_evolving_philosophers_problem__dynam_6560.pdf},
	Volume = {16},
	Year = {1990},
	Bdsk-Url-1 = {http://reference.kfupm.edu.sa/content/e/v/the_evolving_philosophers_problem__dynam_6560.pdf},
	Bdsk-Url-2 = {http://dx.doi.org/10.1109/32.60317}}

@inproceedings{Kram96a,
	Author = {Christian Kramer and Lutz Prechelt},
	Booktitle = {Proceedings of WCRE '96 (3rd Working Conference on Reverse Engineering)},
	Location = {Monterrey, California, USA},
	Month = nov,
	Pages = {208--216},
	Publisher = {IEEE Computer Society Press},
	Title = {Design {Recovery} by {Automated} {Search} for {Structural} {Design} {Patterns} in {Object}-{Oriented} {Software}},
	Year = {1996}}

@inproceedings{Kram98a,
	Author = {R. Kramer},
	Booktitle = {Proceedings of the Technology of Object-Oriented Languages and Systems (TOOLS-USA)},
	Pages = {295-305},
	Title = {iContract -- The Java Design by Contract Tool},
	Year = {1998}}

@inproceedings{Kran06a,
	Author = {Kranz, Matthias and Rusu, Radu Bogdan and Maldonado, Alexis and Beetz, Michael and Schmidt, Albrecht},
	Booktitle = {UbiSys'06: Proceedings of the System Support for Ubiquitous Computing Workshop},
	Pages = {1--7},
	Title = {A Player/Stage System for Context-Aware Intelligent Environments},
	Year = {2006}}

@inproceedings{Kran07a,
	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},
	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},
	Number = {4},
	Title = {Machine Tongues {VIII}: the Design of a {Smalltalk} Music System},
	Volume = {4},
	Year = {1980}}

@book{Kras83a,
	Address = {Reading, Mass.},
	Author = {G. Krasner},
	Isbn = {0-201-11669-3},
	Publisher = {Addison Wesley},
	Title = {Smalltalk-80: Bits of History, Words of Advice},
	Year = {1983}}

@article{Kras88a,
	Author = {G. E. Krasner and S. T. Pope},
	Journal = {Journal of Object-Oriented Programming},
	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}}

@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},
	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},
	Month = feb,
	Publisher = {Springer-Verlag},
	Series = {LNCS},
	Title = {Proceedings {ESOP}'92},
	Volume = {582},
	Year = {1992}}

@phdthesis{Krik99a,
	Author = {Rene Krikhaar},
	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},
	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}}

@article{Kris02,
	Acknowledgement = {"Nelson H. F. Beebe, Center for Scientific Computing, University of Utah, Department of Mathematics, 110 LCB, 155 S 1400 E RM 233, Salt Lake City, UT 84112-0090, USA, Tel: +1 801 581 5254, FAX: +1 801 581 4148, e-mail: \path|beebe@math.utah.edu|, \path|beebe@acm.org|, \path|beebe@computer.org|, \path|beebe@ieee.org| (Internet), URL: \path|http://www.math.utah.edu/~beebe/|"},
	Author = {"Bent Bruun Kristensen"},
	Bibdate = {"Tue Sep 10 19:10:25 MDT 2002"},
	Bibsource = {"http://link.springer-ny.com/link/service/series/0558/tocs/t2425.htm"},
	Coden = {"LNCSD9"},
	Issn = {"0302-9743"},
	Journal = {"Lecture Notes in Computer Science"},
	Pages = {"358--??"},
	Title = {"Associative Modeling and Programming"},
	Url = {"http://link.springer-ny.com/link/service/series/0558/bibs/2425/24250358.htm; http://link.springer-ny.com/link/service/series/0558/papers/2425/24250358.pdf"},
	Volume = {"2425"},
	Year = {"2002"},
	Bdsk-Url-1 = {%22http://link.springer-ny.com/link/service/series/0558/bibs/2425/24250358.htm;%20http://link.springer-ny.com/link/service/series/0558/papers/2425/24250358.pdf%22}}

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

@book{Kris82a,
	Author = {Bent Bruun Kristensen and Ole Lehrmann Madsen and M{\/o}ller-Pedersen,Birger and Kristen Nygaard},
	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},
	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},
	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},
	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},
	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},
	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},
	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{Kris95,
	Author = {"Bent Bruun Kristensen"},
	Booktitle = {"Proceedings of the 2nd International Conference on Object-Oriented Information Systems"},
	Confacronym = {"OOIS'95"},
	Confday = {"18"},
	Confendday = {"20"},
	Conflocation = {"Dublin, Ireland"},
	Confmonth = {dec},
	Confname = {"Second International Conference on Object-Oriented Information Systems"},
	Confyear = {"1995"},
	Editor = {"John Murphy and Brian Stone"},
	Pages = {"57--71"},
	Publaddr = {"London , UK"},
	Publisher = {"Springer-Verlag"},
	Referencedby = {"\cite{1998:oois:kristensen}"},
	Title = {"Object-Oriented Modeling with Roles"},
	Year = {"1996"}}

@inproceedings{Kris96a,
	Address = {Linz, Austria},
	Author = {Bent Bruun Kristensen and Daniel C. M. May},
	Booktitle = {Proceedings ECOOP '96},
	Editor = {P. Cointe},
	Month = jul,
	Pages = {472--501},
	Publisher = {Springer-Verlag},
	Series = {LNCS},
	Title = {Activities: Abstractions for Collective Behavior},
	Volume = {1098},
	Year = {1996}}

@inproceedings{Kris98,
	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 = {"Proceedings of the 5th International Conference on Object-Oriented Information Systems"},
	Confacronym = {"OOIS'98"},
	Confday = {"9"},
	Confendday = {"11"},
	Conflocation = {"Paris, France"},
	Confmonth = {sep},
	Confname = {"5th International Conference on Object-Oriented Information Systems"},
	Confyear = {"1998"},
	Pages = {"?--?"},
	Publaddr = {"London , UK"},
	Publisher = {"Springer-Verlag"},
	References = {"\cite{1993:th:andersen}, \cite{1996:book:arnold}, \cite{1977:book:bunge}, \cite{1992:ecoop:chambers}, \cite{1991:book:coplien}, \cite{1998:ecoop:ernst}, \cite{1994:book:gamma}, \cite{1993:oopsla:harrison}, \cite{1995:oopsad:harrison}, \cite{1994:oopsla:kristensen}, \cite{1994:spnotices:kristensen}, \cite{1995:oois:kristensen}, \cite{1996:apsec:kristensen}, \cite{1996:tapos:kristensen}, \cite{1992:tools:madsen}, \cite{1993:book:madsen}, \cite{1982:book:olle}, \cite{1996:th:olsson}, \cite{1987:oopsla:rumbaugh}, \cite{1991:book:rumbaugh}, \cite{1993:pdrts:takashio}, \cite{1995:icdsaa:zhou}"},
	Title = {"Subjective Method Interpretation in Object-Oriented Modeling"},
	Year = {"1998"}}

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

@inproceedings{Krog85a,
	Author = {Stein Krogdahl},
	Booktitle = {BIT 25},
	Pages = {318--326},
	Title = {Multiple Inheritance in {Simula-like} Languages},
	Year = {1985}}

@inproceedings{Krone94a,
	Author = {Maren Krone and Gregor Snelting},
	Booktitle = {Proceedings of ICSE '94 (16th International Conference on Software Engineering)},
	Location = {Sorrento, Italy},
	Pages = {49--57},
	Publisher = {IEEE Computer Society / ACM Press},
	Title = {On the {Inference} of {Configuration} {Structures} from {Source} {Code}},
	Year = {1994}}

@book{Kruc04a,
	Author = {Philippe Kruchten},
	Edition = {Third},
	Isbn = {0321197704},
	Publisher = {Addison-Wesley},
	Title = {The Rational Unified Process},
	Year = {2004}}

@article{Kruc06a,
	Address = {Los Alamitos, CA, USA},
	Author = {Philippe Kruchten and Henk Obbink and Judith Stafford},
	Doi = {10.1109/MS.2006.59},
	Issn = {0740-7459},
	Journal = {IEEE Software},
	Number = {2},
	Pages = {22--30},
	Publisher = {IEEE Computer Society},
	Title = {The Past, Present, and Future for Software Architecture},
	Volume = {23},
	Year = {2006},
	Bdsk-Url-1 = {http://dx.doi.org/10.1109/MS.2006.59}}

@article{Kruc95a,
	Author = {Philippe B. Kruchten},
	Journal = {IEEE Software},
	Month = nov,
	Number = {6},
	Pages = {42--50},
	Title = {The 4+1 View Model of Architecture},
	Volume = {12},
	Year = {1995}}

@article{Krue92a,
	Author = {Krueger, Charles W.},
	Journal = {ACM Computing Surveys},
	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},
	Month = oct,
	Pages = {48--64},
	Title = {Tools for the Development of Application-Specific Virtual Memory Management},
	Volume = {28},
	Year = {1993}}

@book{Krug00a,
	Address = {Indiana, United States},
	Author = {Steve Krug},
	Isbn = {0-7897-2310-7},
	Publisher = {New Riders Publishing},
	Title = {Don't make me think! A Common Sense Approach to Web Usability},
	Year = {2000}}

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

@article{Krus78a,
	Author = {Joseph B. Kruskal and Myron Wish},
	Journal = {Paper series on Quantitative Application in the Social Science},
	Location = {Beverly Hills and London},
	Pages = {7--11},
	Title = {Multidimensional Scaling},
	Year = {1978}}

@techreport{Kuch06,
	Author = {Andrew M. Kuchling},
	Institution = {Python Software Foundation},
	Title = {What's New in {Python} 2.5},
	Url = http://docs.python.org/whatsnew/whatsnew25.html,
	Year = {2007},
	Bdsk-Url-1 = {http://docs.python.org/whatsnew/whatsnew25.html}}

@mastersthesis{Kueh98a,
	Abstract = {To keep up with rapidly changing requirements
                  applications are increasingly built out of software
                  components. A new trend is now to give those
                  software components control over their own actions,
                  to turn them into concurrently running software
                  agents. These software agents have to be relatively
                  independent to keep them exchangeable. Although
                  independent, they still need to interact in order to
                  achieve the application's overall goal. This results
                  in the need to coordinate their interactions. A
                  number of coordination models were created to
                  express common coordination solutions. Linda is one
                  of the most prominent representatives of such
                  coordination models. Linda is widely used because it
                  offers simple means to separate coordination code
                  from computational code within a single agent. Linda
                  also offers a high degree of decoupling of agents
                  through its generative communication style. However,
                  Linda offers no direct support for the concentration
                  of the coordination aspects of a whole application
                  in a single location. Furthermore, Linda only offers
                  a set of primitive operations and leaves the user
                  with the task to construct realistic coordination
                  abstractions out of them. Coordination abstractions
                  are often hard-coded into the participant agents'
                  protocols and therefore neither flexible nor
                  reusable. They are typically spread all over the
                  application and it is almost impossible to identify
                  them. It is not easy to encapsulate coordination
                  abstractions because coordination typically affects
                  multiple agents, and in open systems other
                  requirements, such as flexibility and security, must
                  also be dealt with. We propose an open, flexible and
                  extensible architecture for explicit coordination
                  abstractions in open systems, called APROCO. Our
                  solution is based on the insight that separation of
                  concerns (coordination and computation) is a
                  necessary precondition for building reusable parts.
                  The client agents of APROCO communicate through
                  shared data spaces known from Linda using its
                  generative communication style. The coordination
                  between the participating agents is managed through
                  special coordination agents that implement the used
                  coordination abstractions. We present a list of
                  coordination abstractions in open systems and show
                  the applicability of the approach with some
                  examples.},
	Author = {Daniel K{\"u}hni},
	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},
	Month = jun,
	Pages = {329--350},
	Publisher = {Springer-Verlag},
	Series = {LNCS},
	Title = {Internal Iteration Externalized},
	Volume = 1628,
	Year = {1999}}

@book{Kueh99b,
	Author = {Thomas Kuehne},
	Publisher = {Verlag Dr. Kovac},
	Title = {A Functional Pattern System for Object-Oriented Design},
	Year = {1999}}

@mastersthesis{Kuhn03a,
	Abstract = {In this paper we propose to use variable slant
                  correction instead of an global correction, since
                  the slant of handwritten text is not constant over a
                  line of text. We present an algorithm that computes
                  local slant, based on generalized projection and
                  dynamic programming, and introduce a technique
                  called slant map propagation. We apply it on a case
                  study and report the results: local slant correction
                  improves the word recognition rate from 37.3\% to
                  42.24\% and the word level accuracy from -14.99\% to
                  -3.18\%, compared to global slant correction.},
	Author = {Adrian Kuhn},
	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{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},
	Author = {Adrian Kuhn and Orla Greevy and Tudor G\^irba},
	Booktitle = {Proceedings IEEE Workshop on Program Comprehension through Dynamic Analysis (PCODA 2005)},
	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},
	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},
	Author = {Adrian Kuhn and Orla Greevy},
	Booktitle = {Proceedings IEEE International Conference on Software Maintainance (ICSM 2006)},
	Doi = {10.1109/ICSM.2006.29},
	Medium = {2},
	Month = sep,
	Pages = {320--329},
	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},
	Author = {Adrian Kuhn and Orla Greevy},
	Booktitle = {Proceedings IEEE Workshop on Program Comprehension through Dynamic Analysis (PCODA 2006)},
	Location = {Benevento, Italy},
	Medium = {2},
	Month = oct,
	Pages = {01--06},
	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}}

@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.},
	Author = {Adrian Kuhn},
	Booktitle = {Proceedings of 3rd ECOOP Workshop on Dynamic Languages and Applications (DYLA 2007)},
	Location = {Berlin, Germany},
	Medium = {2},
	Month = aug,
	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.},
	Author = {Adrian Kuhn},
	Howpublished = {European Smalltalk User Group Innovation Technology Award},
	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.},
	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},
	Medium = {2},
	Pages = {73--82},
	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},
	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},
	Location = {Pittsburgh, PA},
	Medium = {2},
	Month = oct,
	Pages = {209--218},
	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.},
	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},
	Medium = {2},
	Pages = {57--66},
	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.},
	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},
	Medium = {2},
	Pages = {1--12},
	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.},
	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},
	Location = {Vancouver, Canada},
	Medium = {2},
	Pages = {175--178},
	Publisher = {IEEE},
	Title = {Automatic Labeling of Software Components and their Evolution using Log-Likelihood Ratio of Word Frequencies in Source Code},
	Url = {http://scg.unibe.ch/archive/papers/Kuhn09aLogLikelihoodRatio.pdf},
	Year = {2009},
	Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Kuhn09aLogLikelihoodRatio.pdf},
	Bdsk-Url-2 = {http://dx.doi.org/10.1109/MSR.2009.5069499}}

@inproceedings{Kuhn09b,
	Abstract = {SUITE is a new workshop series that specifically
                  focuses on exploring the notion of search as a
                  fundamental activity during software development.
                  The goal of the workshop is to bring researchers and
                  practitioners with special interest on search
                  technology for software developers together.
                  Participants will have broad range of expertise in
                  topics ranging from building software tools and
                  infrastructure, Information Retrieval, user studies
                  and Human-computer interaction, benchmarking and
                  evaluation. The first edition of SUITE is held in
                  conjunction with the 31st International Conference
                  in Software Engineering (May 16th, 2009. Vancouver,
                  Canada).},
	Author = {Bajracharya, Sushil and Kuhn, Adrian and Ye, Yunwen},
	Booktitle = {Software Engineering - Companion Volume, 2009. ICSE-Companion 2009. 31st International Conference on},
	Citeulike-Article-Id = {5404526},
	Citeulike-Linkout-0 = {http://dx.doi.org/10.1109/ICSE-COMPANION.2009.5071054},
	Citeulike-Linkout-1 = {http://ieeexplore.ieee.org/xpls/abs\_all.jsp?arnumber=5071054},
	Doi = {10.1109/ICSE-COMPANION.2009.5071054},
	Journal = {Software Engineering - Companion Volume, 2009. ICSE-Companion 2009. 31st International Conference on},
	Pages = {445--446},
	Posted-At = {2009-08-10 13:44:31},
	Priority = {0},
	Title = {SUITE 2009: First international workshop on search-driven development - users, infrastructure, tools and evaluation},
	Url = {http://dx.doi.org/10.1109/ICSE-COMPANION.2009.5071054},
	Year = {2009},
	Bdsk-Url-1 = {http://dx.doi.org/10.1109/ICSE-COMPANION.2009.5071054}}

@inproceedings{Kuhn10a,
	Abstract = {Search-driven development is mainly concerned with
                  code reuse but also with code navigation and
                  debugging. In this essay we look at search-driven
                  navigation in the IDE. We consider Smalltalk-80 as
                  an example of a programming system with
                  search-driven navigation capabilities and explore
                  its human factors. We present how immediate search
                  results lead to a user experience of code browsing
                  rather than one of waiting for and clicking through
                  search results. We explore the socio-technical
                  congruence of immediate search, ie unification of
                  tasks and breakpoints with method calls, which leads
                  to simpler and more extensible development tools.
                  Eventually we conclude with remarks on the
                  socio-technical congruence of search-driven
                  development.},
	Author = {Adrian Kuhn},
	Booktitle = {Search-Driven Development-Users, Infrastructure, Tools and Evaluation, 2010. SUITE '10. ICSE Workshop on},
	Doi = {10.1145/1809175.1809182},
	Pages = {0--0},
	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.},
	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)},
	Month = apr,
	Number = 3,
	Pages = {191--210},
	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}}

@misc{Kuhn10x,
	Author = {Adrian Kuhn and David Erni and Oscar Nierstrasz},
	Note = {To appear, ACM SOFTVIS 2010},
	Title = {Towards Improving the Mental Model of Software Developers through Cartographic Visualization},
	Url = {http://arxiv.org/abs/1001.2386},
	Year = {2010},
	Bdsk-Url-1 = {http://arxiv.org/abs/1001.2386}}

@techreport{Kuip00a,
	Author = {Tobias Kuipers and Leon Moonen},
	Institution = {Centrum voor Wiskunde en Informatica},
	Month = jul,
	Number = {SEN-R0017},
	Title = {Types and {Concept} {Analysis} for {Legacy} {Systems}},
	Year = {2000}}

@inproceedings{Kulb98a,
	Author = {B. Kulbach and A. Winter and P. Dahm and J. Ebert},
	Booktitle = {Proceedings of WCRE '98},
	Note = {ISBN: 0-8186-89-67-6},
	Pages = {135--145},
	Publisher = {IEEE Computer Society},
	Title = {Program Comprehension in Multi-Language Systems},
	Year = {1998}}

@inproceedings{Kulk02a,
	Address = {London, UK},
	Author = {Vinay Kulkarni and R. Venkatesh and Sreedhar Reddy},
	Booktitle = {OOIS '02: Proceedings of the Workshops on Advances in Object-Oriented Information Systems},
	Doi = {10.1007/3-540-46105-1_31},
	Isbn = {3-540-44088-7},
	Pages = {270--279},
	Publisher = {Springer-Verlag},
	Title = {Generating Enterprise Applications from Models},
	Url = {http://www.softmetaware.com/oopsla2005/kulkarni.pdf},
	Year = {2002},
	Bdsk-Url-1 = {http://www.softmetaware.com/oopsla2005/kulkarni.pdf},
	Bdsk-Url-2 = {http://dx.doi.org/10.1007/3-540-46105-1_31}}

@article{Kulk03a,
	Address = {Los Alamitos, CA, USA},
	Author = {Vinay Kulkarni and Sreedhar Reddy},
	Doi = {10.1109/MS.2003.1231154},
	Issn = {0740-7459},
	Journal = {IEEE Software},
	Number = {5},
	Pages = {64--69},
	Publisher = {IEEE Computer Society},
	Title = {Separation of Concerns in Model-Driven Development},
	Volume = {20},
	Year = {2003},
	Bdsk-Url-1 = {http://dx.doi.org/10.1109/MS.2003.1231154}}

@article{Kulk10a,
	Address = {Los Alamitos, CA, USA},
	Author = {Devdatta Kulkarni and Anand Tripathi},
	Doi = {10.1109/TSE.2010.11},
	Issn = {0098-5589},
	Journal = {IEEE Transactions on Software Engineering},
	Number = {RapidPosts},
	Pages = {184-197},
	Publisher = {IEEE Computer Society},
	Title = {A Framework for Programming Robust Context-Aware Applications},
	Volume = {99},
	Year = {2010},
	Bdsk-Url-1 = {http://dx.doi.org/10.1109/TSE.2010.11}}

@inproceedings{Kuma92a,
	Author = {V. Kumar},
	Booktitle = {AI Magazine},
	Number = {1},
	Pages = {32--44},
	Title = {Algorithms for constraint satisfaction problems: a Survey},
	Volume = {13},
	Year = {1992}}

@article{Kung81a,
	Author = {Hsiang-Tsung Kung and John T. Robinson},
	Journal = {ACM TODS},
	Month = jun,
	Number = {2},
	Pages = {213--226},
	Title = {On Optimistic Methods for Concurrency Control},
	Volume = {6},
	Year = {1981}}

@inproceedings{Kung94a,
	Author = {D. Kung and J. Gao and P. Hsia and F. Wen and Y. Toyoshima, Y. and C. Chen},
	Booktitle = {Proceedings of the International Conference on Software Maintenance},
	Pages = {202--211},
	Title = {Change impact identification in object oriented software maintenance},
	Year = {1994}}

@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},
	Month = oct,
	Number = {10},
	Pages = {75--86},
	Title = {Developing and Oject-Oriented Software Testing and Maintenance Environment},
	Volume = {38},
	Year = {1995}}

@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},
	Title = {Entwicklung einer Datenbank-Applikation zur Verwaltung von Tagesstreckenkarten},
	Type = {Informatikprojekt},
	Url = {http://scg.unibe.ch/archive/projects/Kurt99a.pdf},
	Year = {1999},
	Bdsk-Url-1 = {http://scg.unibe.ch/archive/projects/Kurt99a.pdf}}

@misc{Kurt99z,
	Author = {N. Kurt},
	Note = {European Lisp User Group Meeting},
	Title = {Using Lisp as a markup language: the {LAML} approach},
	Year = {1999}}

@inproceedings{Kuzn01a,
	Author = {Sergei Kuznetsov and Sergei Ob{\"e}dkov},
	Booktitle = {Proceedings of International Workshop on Concept Lattice-based Theory, Methods and Tools for Knowledge Discovery in Databases},
	Location = {California, USA},
	Title = {Comparing {Performance} of {Algorithms} for {Generating} {Concept} {Lattices}},
	Year = {2001}}

@misc{LINQ,
	Key = {Language Integrated Queries},
	Note = {http://plone.org/products/archgenxml},
	Title = {{Language Integrated Queries}}}

@inproceedings{LaLo86a,
	Author = {Wilf R. LaLonde and Dave A. Thomas and John R. Pugh},
	Booktitle = {Proceedings OOPSLA '86, ACM SIGPLAN Notices},
	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},
	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},
	Publisher = {Prentice Hall},
	Title = {Inside {Smalltalk}: Volume 1},
	Year = {1990}}

@article{LaLo91a,
	Author = {Wilf LaLonde and John Pugh},
	Journal = {Journal of Object-Oriented Programming},
	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},
	Publisher = {Prentice Hall},
	Title = {Inside {Smalltalk}: Volume 2},
	Year = {1991}}

@book{LaLo94a,
	Author = {Wilf LaLonde},
	Isbn = {0-8053-2720-7},
	Publisher = {The Benjamin Cummings Publishing Co. Inc.},
	Title = {Discovering {Smalltalk}},
	Year = {1994}}

@mastersthesis{LaTo04a,
	Author = {Thomas LaToza},
	School = {University of Illinois},
	Title = {The Understanding and Modification of Procedural and Object-OrientedPrograms - Wnen does Knowledge Help?},
	Type = {Diploma {Thesis}},
	Year = {2004}}

@book{Laar87a,
	Author = {P. J. M. Laarhoven and E. H. L. Aarts},
	Publisher = {Kluwer Academic Publishers},
	Title = {Simulated annealing: theory and applications},
	Year = {1987}}

@book{Lach95,
	Author = {T. Lachand-Robert},
	Isbn = {2-225-84832-7},
	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},
	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},
	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},
	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},
	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}}

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

@inproceedings{Laen88a,
	Address = {Oslo},
	Author = {Els Laenens and Dirk Vermeir},
	Booktitle = {Proceedings ECOOP '88},
	Editor = {S. Gjessing and K. Nygaard},
	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},
	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},
	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},
	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},
	Month = aug,
	Title = {Introduction to Linear Logic},
	Year = {1988}}

@article{Lafo88b,
	Author = {Yves Lafont},
	Journal = {Theoretical Computer Science},
	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},
	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},
	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)},
	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},
	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},
	Month = sep,
	Pages = {115--124},
	Title = {Object Lens: {A} ``Spreadsheet'' for Cooperative Work},
	Year = {1991}}

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

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

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

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

@book{Lako90a,
	Author = {George Lakoff},
	Isbn = {0226468046},
	Publisher = {University Of Chicago Press},
	Title = {Woman, Fire, And Dangerous Things},
	Year = {1990}}

@book{Lako96a,
	Author = {John Lakos},
	Isbn = {0-201-63362-0},
	Publisher = {Addison Wesley},
	Title = {Large Scale C++ Software Design},
	Year = {1996}}

@article{Lalo89a,
	Author = {Wilf R. LaLonde},
	Journal = {Transactions on Programming Languages and Systems},
	Month = apr,
	Number = {2},
	Organization = {ACM},
	Pages = {212--248},
	Title = {Designing Families of Data Types Using Exemplars},
	Volume = {11},
	Year = {1989}}

@article{Lalo94b,
	Author = {Wilf Lalonde and John Pugh},
	Journal = {Journal of Object-Oriented Programming},
	Month = mar,
	Pages = {33--37},
	Title = {{Gathering} {Metric} {Information} using {Metalevel} {Facilities}},
	Year = {1994}}

@book{Lamb97a,
	Author = {Kenneth A. Lambert and Martin Osborne},
	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},
	Month = jul,
	Pages = {1--3},
	Publisher = {Springer-Verlag},
	Series = {LNCS},
	Title = {Intimate Computing and the Memory Prosthesis: {A} Challenge for Computer Systems Research?},
	Url = {http://link.springer.de/link/service/series/0558/tocs/t0707.htm},
	Volume = {707},
	Year = {1993},
	Bdsk-Url-1 = {http://link.springer.de/link/service/series/0558/tocs/t0707.htm}}

@article{Lamp73a,
	Address = {New York, NY, USA},
	Author = {Butler W. Lampson},
	Doi = {10.1145/362375.362389},
	Issn = {0001-0782},
	Journal = {Commun. ACM},
	Number = {10},
	Pages = {613--615},
	Publisher = {ACM},
	Title = {A note on the confinement problem},
	Volume = {16},
	Year = {1973},
	Bdsk-Url-1 = {http://dx.doi.org/10.1145/362375.362389}}

@article{Lamp78a,
	Author = {Leslie Lamport},
	Journal = {CACM},
	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},
	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},
	Pages = {246--265},
	Publisher = {Springer-Verlag},
	Series = {LNCS},
	Title = {Atomic Transactions},
	Volume = {150},
	Year = {1981}}

@article{Lamp83a,
	Author = {Leslie Lamport},
	Journal = {ACM TOPLAS},
	Month = apr,
	Number = {2},
	Pages = {190--222},
	Title = {Specifying Concurrent Program Modules},
	Volume = {5},
	Year = {1983}}

@article{Lamp88a,
	Author = {Leslie Lamport},
	Journal = {ACM TOPLAS},
	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},
	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},
	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},
	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},
	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},
	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},
	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},
	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},
	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},
	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},
	Month = sep,
	Number = {3},
	Pages = {247--278},
	Title = {Formal Models for Computer Security},
	Volume = {13},
	Year = {1981}}

@inproceedings{Land90a,
	Author = {T. Landauer and M. Littmann},
	Booktitle = {In Proceedings of the 6th Conference of the UW Centre for the New Oxford English Dictionary and Text Research},
	Pages = {31--38},
	Title = {Fully automatic cross-language document retrieval using latent semantic indexing},
	Year = {1990}}

@inproceedings{Land97a,
	Author = {T. Landauer and S. Dumais},
	Booktitle = {Psychological Review},
	Pages = {211--240},
	Title = {The Latent Semantic Analysis Theory of Acquisition, Induction, and Representation of Knowledge},
	Volume = {104/2},
	Year = {1991}}

@techreport{Lane90a,
	Author = {Thomas G. Lane},
	Institution = {Carnegie Mellon University, Software Engineering Institute},
	Month = nov,
	Title = {A Design Space and Design Rules for User Interface Software Architecture},
	Type = {{CMU/SEI-90-TR-22, ESD-90-TR-223}},
	Year = {1990}}

@book{Lane92a,
	Author = {Cosimo Laneve and Ugo Montanari},
	Pages = {336--345},
	Publisher = {Springer-Verlag},
	Series = {LNCS},
	Title = {Mobility in the {CC}-Paradigm},
	Volume = {629},
	Year = {1992}}

@inproceedings{Lang05a,
	Address = {New York, NY, USA},
	Author = {Guillaume Langelier and Houari A. Sahraoui and Pierre Poulin},
	Booktitle = {ASE '05: Proceedings of the 20th IEEE/ACM international Conference on Automated software engineering},
	Doi = {10.1145/1101908.1101941},
	Isbn = {1-59593-993-4},
	Location = {Long Beach, CA, USA},
	Pages = {214--223},
	Publisher = {ACM},
	Title = {Visualization-based analysis of quality for large-scale software systems},
	Url = {http://dx.doi.org/10.1145/1101908.1101941},
	Year = {2005},
	Bdsk-Url-1 = {http://dx.doi.org/10.1145/1101908.1101941}}

@inproceedings{Lang07a,
	Author = {Christian F.J. Lange and Michel Chaudron},
	Booktitle = {Proceedings of ICPC 2007 (15th IEEE International Conference on Program Comprehension)},
	Pages = {221 - 230},
	Publisher = {IEEE CS Press},
	Title = {Interactive Views to Improve the Comprehension of UML Models - An Experimental Validation},
	Year = {2007}}

@inproceedings{Lang08a,
	Abstract = {Systems must co-evolve with their context. Reverse
                  engineering tools are a great help in this process
                  of required adaption. In order for these tools to be
                  flexible, they work with models, abstract
                  representations of the source code. The extraction
                  of such information from source code can be done
                  using a parser. However, it is fairly tedious to
                  build new parsers. And this is made worse by the
                  fact that it has to be done over and over again for
                  every language we want to analyze. In this paper we
                  propose a novel approach which minimizes the
                  knowledge required of a certain language for the
                  extraction of models implemented in that language by
                  reflecting on the implementation of preparsed ASTs
                  provided by an IDE. In a second phase we use a
                  technique referred to as Model Mapping by Example to
                  map platform dependent models onto domain specific
                  model.},
	Author = {Daniel Langone and Toon Verwaest},
	Booktitle = {2nd Workshop on FAMIX and Moose in Software Reengineering (FAMOOSr 2008)},
	Medium = {2},
	Month = oct,
	Pages = {32--35},
	Title = {Extracting models from {IDEs}},
	Url = {http://scg.unibe.ch/archive/papers/Lang08aModelExtraction.pdf},
	Year = {2008},
	Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Lang08aModelExtraction.pdf}}

@techreport{Lang09a,
	Abstract = {Reverse engineering tools are a great help in the
                  process of adapting an existing software system to
                  novel contexts. Current implementations use models
                  of software systems to keep themselves language
                  independent. This also implies that the models have
                  to be built before a software system can be analyzed
                  by such a tool. A common approach is to build
                  language specific parsers to extract the information
                  from the source-code. But: Manually building parsers
                  is tedious work. This calls for a new approach. In
                  our approach we rely on the fact that there are
                  already pre-parsed ASTs of software systems. Such
                  parsing applications can be found in applications
                  which host software systems of several languages.
                  These ASTs are needed by the host application to
                  provide auto-completion or syntax highlighting for
                  example. In order to minimize the required knowledge
                  about a certain language when extracting models we
                  recycle those ASTs. We hook into a specific host
                  application, Eclipse, and the ASTs generated by such
                  parsing applications, namely language plugins. Such
                  a language plugin is responsible for building the
                  AST from a software system written in that language
                  and thus provides support for that language to
                  Eclipse. The basic idea relies on extracting the
                  information of such an AST to build a model which
                  can be used by reverse engineering applications.},
	Author = {Daniel Langone},
	Institution = {University of Bern},
	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}}

@inproceedings{Lang86a,
	Author = {Kevin J. Lang and Barak A. Pearlmutter},
	Booktitle = {Proceedings OOPSLA '86, ACM SIGPLAN Notices},
	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},
	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)},
	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},
	Title = {Mobile Agents with {Java}: The Aglet API},
	Year = {1998}}

@inproceedings{Lano92a,
	Address = {Utrecht, the Netherlands},
	Author = {K.C. Lano and H. Haughton},
	Booktitle = {Proceedings ECOOP '92},
	Editor = {O. Lehrmann Madsen},
	Month = jun,
	Pages = {78--97},
	Publisher = {Springer-Verlag},
	Series = {LNCS},
	Title = {Reasoning and Refinement in Object-Oriented Specification Languages},
	Volume = {615},
	Year = {1992}}

@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.},
	Author = {Michele Lanza},
	Booktitle = {Proceedings of IWPSE 2001 (International Workshop on Principles of Software Evolution)},
	Doi = {10.1145/602461.602467},
	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{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},
	Author = {Michele Lanza},
	Booktitle = {Proceedings of CSMR 2003},
	Doi = {10.1109/CSMR.2003.1192450},
	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},
	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)},
	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}}

@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.},
	Author = {Michele Lanza},
	Booktitle = {Proceedings of VisSoft 2003 (2nd International Workshop on Visualizing Software for Understanding and Analysis)},
	Pages = {51--52},
	Publisher = {IEEE CS Press},
	Title = {{CodeCrawler} --- A Lightweight Software Visualization Tool},
	Url = {http://scg.unibe.ch/archive/papers/Lanz03eVisSoft.pdf},
	Year = {2003},
	Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Lanz03eVisSoft.pdf}}

@inproceedings{Lanz04b,
	Author = {Michele Lanza},
	Booktitle = {Proceedings of ASE 2004 (19th IEEE International Conference on Automated Software Engineering)},
	Pages = {394--395},
	Publisher = {IEEE CS Press},
	Title = {{CodeCrawler} --- Polymetric Views in Action},
	Year = {2004}}

@book{Lanz06a,
	Author = {Michele Lanza and Radu Marinescu},
	Isbn = {3-540-24429-8},
	Publisher = {Springer-Verlag},
	Title = {Object-Oriented Metrics in Practice},
	Url = {http://www.springer.com/alert/urltracking.do?id=5907042},
	Year = {2006},
	Bdsk-Url-1 = {http://www.springer.com/alert/urltracking.do?id=5907042}}

@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.},
	Author = {Michele Lanza},
	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}}

@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},
	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},
	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},
	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},
	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},
	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},
	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},
	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},
	Month = jul,
	Pages = {526--539},
	Publisher = {Springer-Verlag},
	Series = {LNCS},
	Title = {Compositionality Through an Operational Semantics of Contexts},
	Volume = {443},
	Year = {1990}}

@book{Lars93a,
	Author = {Gary Larson},
	Publisher = {Andrews McMeel Publishing},
	Title = {The Far Side Gallery 5},
	Year = {1993}}

@inproceedings{Lars96a,
	Author = {L. Larsen and M.J. Harrold},
	Booktitle = {Proceedings ICSE '96},
	Organization = {IEEE},
	Pages = {495--505},
	Title = {Slicing Object-Oriented Software},
	Year = {1996}}

@techreport{Lasz93a,
	Address = {Syracuse, New York},
	Author = {Gregor von Laszewski},
	Institution = {Northeast Parallel Architectures Center, Syracuse University},
	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},
	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{Lau92a,
	Address = {Utrecht, the Netherlands},
	Author = {Wing-cheong Lau and Vineet Singh},
	Booktitle = {Proceedings ECOOP '92},
	Editor = {O. Lehrmann Madsen},
	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}}

@article{Laue98a,
	Author = {S\/oren Lauesen},
	Journal = {IEEE Software},
	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},
	Month = dec,
	Pages = {377--387},
	Title = {Opus: {A} {Smalltalk} Production System},
	Volume = {22},
	Year = {1987}}

@book{Laus96a,
	Author = {G. Lausen and G. Vossen},
	Isbn = {3-486-22370-4},
	Publisher = {R. Oldenbourg Verlag},
	Title = {Objekt-orientierte Datenbanken: Modelle und Sprachen},
	Year = {1996}}

@article{Lave95a,
	Author = {R. Greg Lavender and Douglas C. Schmidt},
	Journal = {Proc.Pattern Languages of Programs},
	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{Lawa09a,
	Address = {Estoril (Lisbon), Portugal},
	Author = {Julia~L. Lawall and Julien Brunel and Nicolas Palix and Ren{\'e} Rydhof Hansen and Henrik Stuart and Gilles Muller},
	Booktitle = {Proceeding of the International Conference on Dependable Systems and Networks},
	Date-Added = {2009-10-20 14:54:13 +0200},
	Date-Modified = {2009-10-20 15:05:13 +0200},
	Month = jun,
	Pages = {43--52},
	Title = {{WYSIWIB}: A Declarative Approach to Finding {API} Protocols and Bugs in Linux Code},
	Year = {2009}}

@book{Lawl89a,
	Author = {Jo A. Lawless and Molly M. Milner},
	Publisher = {Digital Press},
	Title = {Understanding Clos the {Common} {Lisp} {Object} {System}},
	Year = {1989}}

@unpublished{Lea94a,
	Author = {Doug Lea},
	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},
	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},
	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},
	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},
	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},
	Month = oct,
	Pages = {212--223},
	Title = {Reasoning about Object-Oriented Programs that Use Subtypes},
	Volume = {25},
	Year = {1990}}

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

@article{Lebl84a,
	Address = {New York, NY, USA},
	Author = {Leblang, David B. and Chase, Robert P.},
	Doi = {/10.1145/390010.808255},
	Issn = {0163-5948},
	Journal = {SIGSOFT Softw. Eng. Notes},
	Number = {3},
	Pages = {104--112},
	Publisher = {ACM},
	Title = {Computer-Aided Software Engineering in a distributed workstation environment},
	Volume = {9},
	Year = {1984},
	Bdsk-Url-1 = {http://dx.doi.org/10.1145/390010.808255}}

@inproceedings{Lebl88a,
	Author = {Leblang, David B. and Chase, Robert P. and Spilke, Howard},
	Booktitle = {Proceedings of the International Workshop on Software Version and Configuration Control},
	Pages = {21-38},
	Title = {Increasing Productivity with a Parallel Configuration Manager},
	Year = {1988}}

@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},
	Publisher = {Springer-Verlag},
	Series = {LNCS},
	Title = {An environment for building and maintaining class hierarchies},
	Volume = {1743},
	Year = {1999}}

@inproceedings{Lech96a,
	Address = {Linz, Austria},
	Author = {Ulrike Lechner and Christian Lengauer and Friederike Nickl and Martin Wirsing},
	Booktitle = {Proceedings ECOOP '96},
	Editor = {P. Cointe},
	Month = jul,
	Pages = {232--247},
	Publisher = {Springer-Verlag},
	Series = {LNCS},
	Title = {(Objects + Concurrency) \& Reusability --- {A} Proposal to Circumvent the Inheritance Anomaly},
	Volume = {1098},
	Year = {1996}}

@article{Ledg77a,
	Author = {H.F. Ledgard and R.W. Taylor},
	Journal = {CACM},
	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}}

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

@article{Lee72a,
	Author = {E.T. Lee},
	Journal = {Journal of Cybernetics},
	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},
	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},
	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},
	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},
	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},
	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},
	Publisher = {Prentice-Hall},
	Title = {{UML} and {C}++ {A} Practical Guide to Object-Oriented Development},
	Year = {1997}}

@article{Lefe94a,
	Author = {Christophe Lef\`evre and Joh-E. Ikeda},
	Journal = {Nucleic Acids Research},
	Number = {3},
	Pages = {404--411},
	Title = {A fast word search algorithm for the representation of sequence similarity in genomic {DNA}},
	Volume = {22},
	Year = {1994}}

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

@article{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},
	Pages = {538},
	Publisher = {London Academic Press},
	Title = {Program Evolution: Processes of Software Change},
	Url = {ftp://ftp.umh.ac.be/pub/ftp_infofs/1985/ProgramEvolution.pdf},
	Year = {1985},
	Bdsk-Url-1 = {ftp://ftp.umh.ac.be/pub/ftp_infofs/1985/ProgramEvolution.pdf}}

@inproceedings{Lehm96a,
	Address = {Berlin},
	Author = {Manny Lehman},
	Booktitle = {European Workshop on Software Process Technology},
	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},
	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}}

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

@misc{Leij01a,
	Author = {D. Leijen and E. Meijer},
	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)},
	Month = sep,
	Pages = {183--192},
	Publisher = {IEEE},
	Title = {Detection of Redundant Code using {R2D2}},
	Year = {2003}}

@inproceedings{Leit07a,
	Address = {New York, NY, USA},
	Author = {Andreas Leitner and Ilinca Ciupa and Manuel Oriol and Bertrand Meyer and Arno Fiva},
	Booktitle = {ESEC-FSE '07: Proceedings of the the 6th joint meeting of the European software engineering conference and the ACM SIGSOFT symposium on The foundations of software engineering},
	Doi = {10.1145/1287624.1287685},
	Isbn = {978-1-59593-811-4},
	Location = {Dubrovnik, Croatia},
	Pages = {425--434},
	Publisher = {ACM},
	Title = {Contract driven development = test driven development - writing test cases},
	Year = {2007},
	Bdsk-Url-1 = {http://dx.doi.org/10.1145/1287624.1287685}}

@article{Lejt92a,
	Author = {Moises Lejter and Scott Meyers and Steven P. Reiss},
	Journal = {IEEE Transactions on Software Engineering},
	Month = dec,
	Number = {12},
	Pages = {1045--1052},
	Title = {Support for Maintaining Object-Oriented Programs},
	Volume = {SE-18},
	Year = {1992}}

@book{Lenc00,
	Author = {Raimondas Lencevicius},
	Publisher = {Kluwer Academic Publishers},
	Title = {Advanced Debugging Methods},
	Year = {2000}}

@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},
	Month = jun,
	Pages = {135--160},
	Publisher = {Springer-Verlag},
	Series = {LNCS},
	Title = {Dynamic Query-Based Debugging},
	Volume = 1628,
	Year = {1999}}

@inproceedings{Lern90a,
	Author = {Barbara Staudt Lerner and A. Nico Habermann},
	Booktitle = {Proceedings OOPSLA/ECOOP '90, ACM SIGPLAN Notices},
	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},
	Number = {3},
	Pages = {269--303},
	Title = {A modular module system},
	Volume = {10},
	Year = {2000}}

@inproceedings{Lero03a,
	Abstract = {Extended abstract of invited lecture.},
	Author = {Xavier Leroy},
	Booktitle = {Programming Languages and Systems: 12th European Symposium on Programming, ESOP 2003},
	Editor = {P. Degano},
	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.},
	Author = {Xavier Leroy},
	Journal = {Journal of Automated Reasoning},
	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}}

@book{Leru06a,
	Author = {Ierusalimschy, R},
	Publisher = {lua.org},
	Title = {programming in Lua},
	Year = {2006}}

@phdthesis{Lesc92a,
	Author = {Lo\"ic Lescaudron},
	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},
	Number = {\#39},
	Title = {Lex --- {A} Lexical Analyzer Generator},
	Type = {Computer Science Technical Report},
	Year = {1975}}

@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},
	Month = jul,
	Number = {3},
	Pages = {311--341},
	Title = {Studying Software Engineers: Data Collection Techniques for Software Field Studies},
	Volume = {10},
	Year = {2005}}

@phdthesis{Leth91a,
	Author = {Lone Leth},
	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},
	Title = {A New Direction in Functions as Processes},
	Type = {ECRC-92-5},
	Year = {1992}}

@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{Leto86a,
	Address = {Los Alamitos, CA, USA},
	Author = {S. Letovsky and E. Soloway},
	Doi = {10.1109/MS.1986.233414},
	Issn = {0740-7459},
	Journal = {IEEE Software},
	Number = {3},
	Pages = {41-49},
	Publisher = {IEEE Computer Society},
	Title = {Delocalized Plans and Program Comprehension},
	Volume = {3},
	Year = {1986},
	Bdsk-Url-1 = {http://dx.doi.org/10.1109/MS.1986.233414}}

@book{Leuf01a,
	Author = {Bo Leuf and Ward Cunningham},
	Publisher = {Addison-Wesley},
	Title = {The Wiki Way: Collaboration and Sharing on the Internet},
	Year = {2001}}

@book{Leve95a,
	Author = {Robert Levey},
	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{Levy84a,
	Address = {Newton, MA, USA},
	Author = {Levy, Henry M.},
	Isbn = {0932376223},
	Publisher = {Butterworth-Heinemann},
	Title = {Capability-Based Computer Systems},
	Year = {1984}}

@phdthesis{Levy94a,
	Author = {Juan Pablo Levy Urquidi},
	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{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{Lewi86a,
	Author = {David M. Lewis and David R. Galloway and Robert J. Francis and Brian W. Thomson},
	Booktitle = {Proceedings OOPSLA '86, ACM SIGPLAN Notices},
	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},
	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},
	Publisher = {Manning Publications Co.},
	Title = {Object Oriented Application Frameworks},
	Year = {1995}}

@book{Lewi98a,
	Author = {John Lewis and William Loftus},
	Isbn = {0-201-57164-1},
	Publisher = {Addison Wesley},
	Title = {Java Software Solutions},
	Year = {1998}}

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

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

@techreport{Li91a,
	Address = {Massy, France},
	Author = {Jiarong Li},
	Institution = {Bull SA},
	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},
	Number = {2},
	Pages = {111--122},
	Title = {Object Oriented Metrics that predict maintainability},
	Volume = {23},
	Year = {1993}}

@article{Li93b,
	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},
	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{Lian95a,
	Address = {San Francisco, California},
	Author = {Sheng Liang and Paul Hudak and Mark P. Jones},
	Booktitle = {Conference Record of {POPL}~'95},
	Pages = {333--343},
	Title = {Monad Transformers and Modular Interpreters},
	Year = {1995}}

@inproceedings{Lian98a,
	Author = {Sheng Liang and Gilad Bracha},
	Booktitle = {Proceedings of OOPSLA '98, ACM SIG{\-}PLAN Notices},
	Pages = {36--44},
	Title = {Dynamic Class Loading in the {Java} Virtual Machine},
	Year = {1998}}

@inproceedings{Libl05a,
	Address = {New York, NY, USA},
	Author = {Ben Liblit and Mayur Naik and Alice X. Zheng and Alex Aiken and Michael I. Jordan},
	Booktitle = {Proceedings of the 2005 ACM SIGPLAN conference on Programming language design and implementation (PLDI'05)},
	Doi = {10.1145/1065010.1065014},
	Isbn = {1-59593-056-6},
	Location = {Chicago, IL, USA},
	Pages = {15--26},
	Publisher = {ACM},
	Title = {Scalable statistical bug isolation},
	Year = {2005},
	Bdsk-Url-1 = {http://dx.doi.org/10.1145/1065010.1065014}}

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

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

@mastersthesis{Lie04a,
	Author = {Sean Lie},
	Month = may,
	Pdf = {http://www.cag.csail.mit.edu/scale/papers/slie-meng.pdf},
	School = {Massachusetts Institute of Technology},
	Title = {Hardware Support for Unbounded Transactional Memory},
	Year = {2004}}

@inproceedings{Lie89a,
	Address = {New York, NY, USA},
	Author = {Lie, A. and Conradi, R. and Didriksen, T. M. and Karlsson, E.-A.},
	Booktitle = {Proceedings of the 2nd International Workshop on Software configuration management},
	Date-Added = {2009-10-21 13:08:55 +0200},
	Date-Modified = {2009-10-21 13:10:40 +0200},
	Doi = {/10.1145/72910.73348},
	Isbn = {0-89791-334-5},
	Location = {Princeton, New Jersey, United States},
	Pages = {56--65},
	Publisher = {ACM},
	Title = {Change oriented versioning in a software engineering database},
	Year = {1989},
	Bdsk-Url-1 = {http://dx.doi.org/10.1145/72910.73348}}

@book{Lieb01a,
	Author = {Henry Lieberman},
	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}}

@inproceedings{Lieb80a,
	Author = {Henry Lieberman and Carl Hewitt},
	Booktitle = {LISP Conference},
	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},
	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},
	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},
	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},
	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},
	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},
	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},
	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},
	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},
	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},
	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}}

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

@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},
	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{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},
	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},
	Medium = {2},
	Month = jun,
	Pages = {59--68},
	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},
	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},
	Medium = {2},
	Month = jun,
	Pages = {67--70},
	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{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.},
	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},
	Medium = {2},
	Pages = {11--17},
	Publisher = {Technische Universiteit Delft},
	Title = {Exposing Side Effects in Execution Traces},
	Url = {http://scg.unibe.ch/archive/papers/Lien07dSideEffectsPCODA.pdf http://swerl.tudelft.nl/twiki/pub/Main/PCODA2007/PCODA2007proceedings.pdf},
	Year = {2007},
	Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Lien07dSideEffectsPCODA.pdf%20http://swerl.tudelft.nl/twiki/pub/Main/PCODA2007/PCODA2007proceedings.pdf}}

@inproceedings{Lien08a,
	Abstract = {Writing unit tests for legacy systems is a key
                  maintenance task. When writing tests for
                  object-oriented programs, objects need to be set up
                  and the expected effects of executing the unit under
                  test need to be verified. If developers lack
                  internal knowledge of a system, the task of writing
                  tests is non-trivial. To address this problem, we
                  propose an approach that exposes side effects
                  detected in example runs of the system and uses
                  these side effects to guide the developer when
                  writing tests. We introduce a visualization called
                  Test Blueprint, through which we identify what the
                  required fixture is and what assertions are needed
                  to verify the correct behavior of a unit under test.
                  The dynamic analysis technique that underlies our
                  approach is based on both tracing method executions
                  and on tracking the flow of objects at runtime. To
                  demonstrate the usefulness of our approach we
                  present results from two case studies.},
	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},
	Medium = {2},
	Pages = {83--92},
	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.},
	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},
	Medium = {2},
	Note = {{ECOOP} distinguished paper award},
	Pages = {592--615},
	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},
	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.},
	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},
	Medium = {2},
	Pages = {272--288},
	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}}

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

@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},
	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{Lili96a,
	Address = {Washington, DC, USA},
	Author = {Li Li and A. Jefferson Offutt},
	Booktitle = {ICSM '96: Proceedings of the 1996 International Conference on Software Maintenance},
	Isbn = {0-8186-7677-9},
	Pages = {171--184},
	Publisher = {IEEE Computer Society},
	Title = {Algorithmic Analysis of the Impact of Changes to Object-Oriented Software},
	Year = {1996}}

@phdthesis{Lili98a,
	Address = {Fairfax, VA, USA},
	Author = {Michelle Li Lee},
	Isbn = {0-599-17351-3},
	Note = {Director-Jeff Offutt},
	Order_No = {AAI9918298},
	Publisher = {George Mason University},
	School = {George Mason University},
	Title = {Change impact analysis of object-oriented software},
	Year = {1998}}

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

@mastersthesis{Lind01a,
	Author = {Tancred Lindhom},
	School = {Helsinki University of Technology},
	Title = {A 3-way Merging Algorithm for Synchronizing Ordered Trees - the 3DM merging and differencing tool for XML},
	Year = {2001}}

@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},
	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},
	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)},
	Pages = {349--359},
	Title = {Assessing Modular Structure of Legacy Code Based on Mathematical Concept Analysis},
	Year = {1997}}

@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},
	Month = dec,
	Publisher = {Springer-Verlag},
	Series = {LNCS},
	Title = {Proceedings {DOOD}'95},
	Volume = {1013},
	Year = {1995}}

@inproceedings{Lino99a,
	Author = {Panagiotis K. Linos and Stephen R. Schach},
	Booktitle = {Proceedings of the short papers of ICSM '99},
	Month = aug,
	Pages = {25--28},
	Title = {Comprehending Multilanguage and Multiparadigm Software},
	Year = {1999}}

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

@inproceedings{Lins88a,
	Address = {Oslo},
	Author = {Yngve Linsj\/orn and Dag Sj\/oberg},
	Booktitle = {Proceedings ECOOP '88},
	Editor = {S. Gjessing and K. Nygaard},
	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}}

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

@inproceedings{Lipp91a,
	Address = {Geneva, Switzerland},
	Author = {Ernst Lippe and Gert Florijn},
	Booktitle = {Proceedings ECOOP '91},
	Editor = {P. America},
	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},
	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},
	Month = dec,
	Number = {CSL-99-1},
	Title = {A Study on Exception Detection and Handling Using Aspect-Oriented Programming},
	Type = {Technical Report P9910229},
	Year = {1999}}

@article{Lippe92a,
	Address = {New York, NY, USA},
	Author = {Lippe, Ernst and van Oosterom, Norbert},
	Date-Added = {2009-10-21 13:02:53 +0200},
	Date-Modified = {2009-10-21 13:03:05 +0200},
	Doi = {/10.1145/142882.143753},
	Issn = {0163-5948},
	Journal = {SIGSOFT Softw. Eng. Notes},
	Number = {5},
	Pages = {78--87},
	Publisher = {ACM},
	Title = {Operation-based merging},
	Volume = {17},
	Year = {1992},
	Bdsk-Url-1 = {http://dx.doi.org/10.1145/142882.143753}}

@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)},
	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},
	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},
	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},
	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},
	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},
	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},
	Publisher = {MIT Press/McGraw-Hill},
	Title = {Abstraction and Specification in Program Development},
	Year = {1986}}

@inproceedings{Lisk87a,
	Author = {Barbara Liskov},
	Booktitle = {Proceedings OOPSLA '87},
	Month = dec,
	Pages = {addendum},
	Title = {{Data Abstraction and Hierarchy}},
	Year = {1987}}

@inproceedings{Lisk93a,
	Abstract = {The use of hierarchy is an important component of
                  object-oriented design. Hierarchy allows the use of
                  type families, in which higher level supertypes
                  capture the behavior that all of their subtypes have
                  in common. For this methodology to be effective, it
                  is necessary to have a clear understanding of how
                  subtypes and supertypes are related. This paper
                  presents a new definition of the subtype relation
                  that ensures that any property proved about
                  supertype objects also holds for subtype objects. It
                  also discusses the ramifications of the definition
                  on the design of type families. (superseded by
                  Lisk93c)},
	Address = {Kaiserslautern, Germany},
	Author = {Barbara Liskov and Jeannette M. Wing},
	Booktitle = {Proceedings ECOOP '93},
	Editor = {Oscar Nierstrasz},
	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},
	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},
	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.},
	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},
	Month = jun,
	Pages = {230--257},
	Publisher = {Springer-Verlag},
	Series = {LNCS},
	Title = {Providing Persistent Objects in Distributed Systems},
	Volume = 1628,
	Year = {1999}}

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

@inproceedings{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{Liu92a,
	Author = {Chamond Liu and Stephen Goetze and Bill Glynn},
	Booktitle = {Proceedings OOPSLA '92, ACM SIGPLAN Notices},
	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},
	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},
	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,
	Address = {Upper Saddle River, NJ, USA},
	Author = {Chamond Liu},
	Isbn = {0-13-268335-0},
	Publisher = {Prentice-Hall, Inc.},
	Title = {Smalltalk, objects, and design},
	Year = {1996}}

@inproceedings{Livs05a,
	Author = {Livshits, Benjamin and Whaley, John and Lam, Monica S.},
	Booktitle = {Proceedings of Asian Symposium on Programming Languages and Systems},
	Keywords = {reflection security},
	Title = {Reflection Analysis for Java},
	Year = {2005}}

@article{Livs05b,
	Abstract = {A great deal of attention has lately been given to addressing software
	bugs such as errors in operating system drivers or security bugs.
	However, there are many other lesser known errors specific to individual
	applications or APIs and these violations of application specific
	coding rules are responsible for a multitude of errors. In this paper
	we propose DynaMine, a tool that analyzes source code check-ins to
	find highly correlated method calls as well as common bug fixes in
	order to automatically discover application-specific coding patterns.
	Potential patterns discovered through mining are passed to a dynamic
	analysis tool for validation; finally, the results of dynamic analysis
	are presented to the user.
	The combination of revision history mining and dynamic analysis techniques
	leveraged in DynaMine proves effective for both discovering new application-specific
	patterns and for finding errors when applied to very large applications
	with many man-years of development and debugging effort behind them.
	We have analyzed Eclipse and jEdit, two widely-used, mature, highly
	extensible applications consisting of more than 3,600,000 lines of
	code combined. By mining revision histories, we have discovered 56
	previously unknown, highly application-specific patterns. Out of
	these, 21 were dynamically confirmed as very likely valid patterns
	and a total of 263 pattern violations were found.},
	Author = {Livshits, Benjamin and Zimmermann, Thomas},
	Issn = {0163-5948},
	Journal = {SIGSOFT Software Engineering Notes},
	Month = sep,
	Number = {5},
	Pages = {296-305},
	Publisher = {ACM},
	Title = {DynaMine: finding common error patterns by mining software revision histories},
	Volume = {30},
	Year = {2005}}

@book{Lloy78a,
	Author = {Sam Lloyd and Martin Gardner},
	Isbn = {3-7701-1049-8},
	Publisher = {Dumont},
	Title = {Mathematische {R}\"atsel und {Spiele}},
	Year = {1978}}

@article{Lloy82a,
	Author = {Sam P. LLoyd},
	Journal = {IEEE Transactions on Information Theory},
	Pages = {129--137},
	Title = {Least Squares Quantization in PCM},
	Volume = {28},
	Year = {1982}}

@article{Loch83a,
	Author = {Frederick H. Lochovsky},
	Journal = {IEEE Database Engineering},
	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},
	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},
	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},
	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}}

@article{Logr88a,
	Author = {L. Logrippo and A. Obaid and J.P. Briand and M.C. Fehri},
	Journal = {Software --- Practice and Experience},
	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},
	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},
	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},
	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},
	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},
	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{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{Lope05c,
	Address = {New York, NY, USA},
	Author = {Cristina Videira Lopes and Sushil Krishna Bajracharya},
	Booktitle = {AOSD '05: Proceedings of the 4th international conference on Aspect-oriented software development},
	Doi = {10.1145/1052898.1052900},
	Isbn = {1-59593-042-6},
	Location = {Chicago, Illinois},
	Pages = {15--26},
	Publisher = {ACM},
	Title = {An analysis of modularity in aspect oriented design},
	Year = {2005},
	Bdsk-Url-1 = {http://dx.doi.org/10.1145/1052898.1052900}}

@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{Lope94a,
	Address = {Bologna, Italy},
	Author = {Cristina Videira Lopes and Karl J. Lieberherr},
	Booktitle = {Proceedings ECOOP '94},
	Editor = {M. Tokoro and R. Pareschi},
	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},
	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.},
	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{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}}

@book{Lore94a,
	Author = {Mark Lorenz and Jeff Kidd},
	Isbn = {13-179292-X},
	Publisher = {Prentice-Hall},
	Title = {Object-Oriented Software Metrics: {A} Practical Guide},
	Year = {1994}}

@book{Lore95a,
	Author = {Mark Lorenz},
	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}}

@incollection{Lorh77a,
	Author = {Bernard Lorho},
	Booktitle = {Methods of Algorithmic Language Implementation},
	Editor = {A. Ershov and C.H.A. Koster},
	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},
	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},
	Publisher = {PWS Publishing (Boston)},
	Title = {Programming Languages: Principles and Practice},
	Year = {1993}}

@book{Louk86a,
	Edition = {V},
	Editor = {Mike Loukides},
	Isbn = {1-56592-001-5},
	Publisher = {O'Reilly \& Associates, Inc},
	Title = {Unix in a Nutshell System},
	Year = {1986}}

@article{Loun98,
	Author = {H. Lounis and H. A. Sahraoui and W. L. Melo},
	Journal = {L'Objet, Num\'ero sp\'ecial M\'etrologie et Objets},
	Month = dec,
	Number = 4,
	Title = {Vers un mod\`ele de pr\'ediction de la qualit\'e du logiciel pour les syst\`emes \`a objets},
	Volume = 4,
	Year = {1998}}

@book{Love93a,
	Address = {New York},
	Author = {Tom Love},
	Isbn = {0-9627477-3-4},
	Publisher = {SIGS Books},
	Title = {Object Lessons --- Lessons Learned in Object-Oriented Development Projects},
	Year = {1993}}

@inproceedings{Low88a,
	Address = {Oslo},
	Author = {Colin Low},
	Booktitle = {Proceedings ECOOP '88},
	Editor = {S. Gjessing and K. Nygaard},
	Misc = {August 15-17},
	Month = apr,
	Pages = {390--410},
	Publisher = {Springer-Verlag},
	Series = {LNCS},
	Title = {A Shared, Persistent Object Store},
	Volume = {322},
	Year = {1988}}

@inproceedings{Lowe01a,
	Author = {Welf L{\"o}we and Andreas Ludwig and Andreas Schwind},
	Booktitle = {17th International Conference on Advanced Science and Technology},
	Pages = {52--57},
	Title = {Understanding Software -- Static and Dynamic Aspects},
	Year = {2001}}

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

@inproceedings{Lowe03a,
	Author = {Welf L{\"o}we and Jonas Lundberg},
	Booktitle = {ETAPS SC'03 Workshop on Software Composition},
	Title = {A Low-Level Analysis Library for Architecture Recovery},
	Year = {2003}}

@inproceedings{Lowe05a,
	Author = {W. Lowe and T. Panas},
	Booktitle = {International Journal of Software Engineering and Knowledge Engineering},
	Title = {Rapid Construction of Software Comprehension Tools},
	Year = {2005}}

@article{Lowr92a,
	Author = {Andy Lowry},
	Journal = {ACM SIGPLAN Notices},
	Month = aug,
	Number = {8},
	Pages = {51--70},
	Title = {The Hermes Language in Outline Form},
	Volume = {27},
	Year = {1992}}

@inproceedings{Lu09a,
	Address = {Paris, France},
	Author = {Lu, Caroline and Fabre, Jean-Charles and Killijian, Marc-Olivier},
	Booktitle = {RTNS'09: Proceedings of the 17th International Conference on Real-Time and Network Systems},
	Collaboration = {Design Optimization},
	Editor = {Laurent George and Maryline Chetto and Mikael Sjodin},
	Pages = {132--147},
	Title = {An approach for improving Fault-Tolerance in Automotive Modular Embedded Software},
	Year = {2009}}

@unpublished{Lu92a,
	Author = {Gang Lu and Martin Ader},
	Note = {Bull Worldwide Information Systems},
	Title = {First Experience of WoorRKS*},
	Type = {Draft},
	Year = {1992}}

@inproceedings{Lubk91a,
	Address = {New York, NY, USA},
	Author = {Lubkin, David},
	Booktitle = {Proceedings of the 3rd international workshop on Software configuration management},
	Doi = {/10.1145/111062.111082},
	Isbn = {0-897914-429-5},
	Location = {Trondheim, Norway},
	Pages = {153--160},
	Publisher = {ACM},
	Title = {Heterogeneous configuration management with DSEE},
	Year = {1991},
	Bdsk-Url-1 = {http://dx.doi.org/10.1145/111062.111082}}

@incollection{Luca78a,
	Address = {Heidelberg},
	Author = {P. Lucas},
	Booktitle = {The Vienna Development Method: The Meta-Language},
	Editor = {D. Bj\/orner and C.B. Jones},
	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},
	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{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{Lucc87a,
	Author = {Steven E. Lucco},
	Booktitle = {Proceedings OOPSLA '87, ACM SIGPLAN Notices},
	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{Luci04a,
	Author = {Andrea {De Lucia} and Fausto Fasano and Rocco Oliveto and Genoveffa Tortora},
	Booktitle = {Proceedings of 20th IEEE International Conference on Software Maintainance (ICSM 2004)},
	Pages = {306--315},
	Title = {Enhancing an Artefact Management System with Traceability Recovery Features},
	Year = {2004}}

@article{Luck95a,
	Author = {David C. Luckham and John L. Kenney and Larry M. Augustin and James Vera and Doug Bryan and Walter Mann},
	Journal = {IEEE Transactions on Software Engineering},
	Number = {4},
	Pages = {336--355},
	Title = {Specification and Analysis of System Architecture Using {Rapide}},
	Volume = {21},
	Year = {1995}}

@article{Luck95b,
	Author = {David C. Luckham and James Vera},
	Doi = {10.1109/32.464548},
	Journal = {IEEE Transactions on Software Engineering},
	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 = {David C. Luckham},
	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}}

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

@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},
	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},
	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},
	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.},
	Author = {Markus Lumpe and Jean-Guy Schneider},
	Doi = {10.1016/j.scico.2004.11.005},
	Journal = {Journal of Science of Computer Programming},
	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}}

@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},
	Author = {Markus Lumpe and Jean-Guy Schneider and Oscar Nierstrasz},
	Booktitle = {Proceedings of Languages et Mod\`eles \`a Objects},
	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},
	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},
	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},
	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},
	Note = {Working Paper},
	Title = {Automatic Type Reconstruction for a Process Calculus with Records},
	Year = {1999}}

@article{Luna89a,
	Author = {C. Pii Lunau},
	Journal = {Journal of Object-Oriented Programming},
	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}}

@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},
	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.},
	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},
	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},
	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},
	Medium = {2},
	Pages = {185--196},
	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},
	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.},
	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},
	Medium = {2},
	Pages = {106--109},
	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},
	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},
	Medium = {2},
	Pages = {120--129},
	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.},
	Author = {Mircea Lungu and Michele Lanza and Tudor G\^irba},
	Howpublished = {European Smalltalk User Group 2007 Technology Innovation Awards},
	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}}

@article{Lung09a,
	Abstract = {Software evolution research has focused mostly on
                  analyzing the evolution of single software systems.
                  However, it is rarely the case that a project exists
                  as standalone, independent of others. Rather,
                  projects exist in parallel within larger contexts in
                  companies, research groups or even the open-source
                  communities. We call these contexts software
                  ecosystems, and on this paper we present The Small
                  Project Observatory, a prototype tool which aims to
                  support the analysis of project ecosystems through
                  interactive visualization and exploration. We
                  present a case-study of exploring an ecosystem using
                  our tool, we describe about the architecture of the
                  tool, and we distill the lessons learned during the
                  tool-building experience.},
	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},
	Medium = {2},
	Month = apr,
	Number = {4},
	Pages = {264--275},
	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}}

@phdthesis{Lung09b,
	Author = {Mircea Lungu},
	Month = nov,
	School = {University of Lugano},
	Title = {Reverse Engineering Software Ecosystems},
	Url = {http://www.inf.usi.ch/phd/lungu/MirceaLungu-Thesis.pdf},
	Year = {2009},
	Bdsk-Url-1 = {http://www.inf.usi.ch/phd/lungu/MirceaLungu-Thesis.pdf}}

@inproceedings{Lung10a,
	Abstract = {In large software systems, knowing the dependencies be- tween modules or components is critical to assess the impact of changes. To recover the dependencies, fact extractors ana- lyze the system as a whole and build the dependency graph, parsing the system down to the statement level. At the level of software ecosystems, which are collections of soft- ware projects, the dependencies that need to be recovered reside not only within the individual systems, but also be- tween the libraries, frameworks, and entire software systems that make up the complete ecosystem; scaling issues arise.
		In this paper we present and evaluate several variants of a lightweight and scalable approach to recover dependencies between the software projects of an ecosystem. We evaluate our recovery algorithms on the Squeak 3.10 Universe, an ecosystem containing more than 200 software projects.},
	Author = {Mircea Lungu and Romain Robbes and Michele Lanza},
	Booktitle = {ASE'10: Proceedings of the 25th IEEE/ACM International Conference on Automated Software Engineering},
	Note = {to appear},
	Publisher = {ACM Press},
	Title = {Recovering Inter-Project Dependencies in Software Ecosystems},
	Url = {http://inf.usi.ch/phd/lungu/research/publications/resources/Lung10a.pdf},
	Year = {2010},
	Bdsk-Url-1 = {http://inf.usi.ch/phd/lungu/research/publications/resources/Lung10a.pdf}}

@inproceedings{Lung98a,
	Author = {Chung-Horng Lung},
	Booktitle = {Proceedings of the 3rd International Workshop on Software Architecture},
	Location = {Orlando, Florida, United States},
	Pages = {101--104},
	Publisher = {ACM Press},
	Title = {Software {Architecture} {Recovery} and {Restructuring} through {Clustering} {Techniques}},
	Year = {1998}}

@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},
	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},
	Publisher = {O'Reilly \& Associates, Inc.},
	Title = {Programming {Python} (2nd edition)},
	Year = {2001}}

@article{Lutz01b,
	Address = {School of Cognitive and Computing Sciences, University of Sussex, Falmer, Brighton BN1 9QH, UK},
	Author = {Rudi Lutz},
	Doi = {10.1016/S1383-7621(01)00019-4},
	Journal = {Journal of Systems Architecture},
	Number = {7},
	Pages = {613--634},
	Title = {Evolving good hierarchical decompositions of complex systems},
	Volume = {47},
	Year = {2001},
	Bdsk-Url-1 = {http://dx.doi.org/10.1016/S1383-7621(01)00019-4}}

@book{Lutz96a,
	Author = {Mark Lutz},
	Isbn = {1-56592-197-6},
	Publisher = {O'Reilly \& Associates, Inc.},
	Title = {Programming {Python}},
	Year = {1996}}

@article{Lyng84a,
	Author = {P. Lyngbaek and Dennis McLeod},
	Journal = {ACM TOOIS},
	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},
	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}}

@techreport{MOF00a,
	Author = {{Object} {Management} {Group}},
	Institution = {{Object} {Management} {Group}},
	Key = {OMG},
	Month = mar,
	Title = {{Meta} {Object} {Facility} ({MOF}) Specification (version 1.3)},
	Year = {2000}}

@techreport{MOF04a,
	Author = {{Object} {Management} {Group}},
	Institution = {{Object} {Management} {Group}},
	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}}

@techreport{MOF97a,
	Author = {{Object} {Management} {Group}},
	Institution = {{Object} {Management} {Group}},
	Key = {OMG},
	Month = sep,
	Number = {ad/97-08-14},
	Title = {Meta Object Facility ({MOF}) Specification},
	Year = {1997}}

@misc{MPS,
	Author = {JetBrains},
	Note = {http://www.jetbrains.com/mps},
	Title = {Meta Programming System},
	Url = {http://www.jetbrains.com/mps},
	Bdsk-Url-1 = {http://www.jetbrains.com/mps}}

@misc{MSDN,
	Key = {MSDN},
	Note = {http://msdn.microsoft.com/},
	Title = {{The} {Microsoft} {Developer} {Network}}}

@article{Maam06a,
	Address = {New York, NY, USA},
	Author = {Zakaria Maamar and Djamal Benslimane and Nanjangud C. Narendra},
	Doi = {10.1145/1183236.1183238},
	Issn = {0001-0782},
	Journal = {Commun. ACM},
	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}}

@article{MacC06a,
	Address = {Institute for Operations Research and the Management Sciences (INFORMS), Linthicum, Maryland, USA},
	Author = {Alan MacCormack and John Rusnak and Carliss Y. Baldwin},
	Doi = {10.1287/mnsc.1060.0552},
	Issn = {0025-1909},
	Journal = {Management Science},
	Number = {7},
	Pages = {1015--1030},
	Publisher = {INFORMS},
	Title = {Exploring the Structure of Complex Software Designs: An Empirical Study of Open Source and Proprietary Code},
	Volume = {52},
	Year = {2006},
	Bdsk-Url-1 = {http://dx.doi.org/10.1287/mnsc.1060.0552}}

@book{MacK03a,
	Author = {David MacKenzie and Paul Eggert and Richard Stallman},
	Isbn = {0954161750},
	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},
	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}}

@inbook{Mack01a,
	Address = {Boston, MA, USA},
	Author = {Mackinnon, Tim and Freeman, Steve and Craig, Philip},
	Book = {Extreme programming examined},
	Chapter = {17},
	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},
	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}}

@book{Made08a,
	Author = {Mader, Stewart},
	Publisher = {Wiley},
	Title = {Wikipatterns},
	Year = {2008}}

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

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

@article{Madh92a,
	Author = {Madhavji, Nazim H.},
	Doi = {10.1109/32.135771},
	Issn = {0098-5589},
	Journal = {IEEE Transaction in Software Engineering},
	Number = {5},
	Pages = {380--392},
	Title = {Environment Evolution: The Prism Model of Changes},
	Volume = {18},
	Year = {1992},
	Bdsk-Url-1 = {http://dx.doi.org/10.1109/32.135771}}

@inproceedings{Mads02a,
	Author = {Per Madsen},
	Booktitle = {Extreme Programming and Agile Processes in Software Engineering},
	Editor = {Michele Marchesi and Giancarlo Succi},
	Pages = {425--426},
	Publisher = {Springer},
	Series = {LNCS},
	Title = {Unit Testing Using Design by Contract and Equivalence Partitions},
	Year = {2003}}

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

@incollection{Mads80a,
	Author = {Ole Lehrmann Madsen},
	Booktitle = {Semantics-Directed Compiler Generation},
	Editor = {N.D. Jones},
	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},
	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},
	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},
	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},
	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},
	Publisher = {Springer-Verlag},
	Series = {LNCS},
	Title = {Proceedings of {ECOOP}'92},
	Volume = {615},
	Year = {1992}}

@misc{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."},
	Author = {"Ole Lehrmann Madsen and Birger Mdller-pedersen"},
	Bibsource = {"OAI-PMH server at cs1.ist.psu.edu"},
	Language = {"en"},
	Month = {mar},
	Oai = {"oai:CiteSeerPSU:559842"},
	Rights = {"unrestricted"},
	Title = {"Part Objects And Their Location"},
	Url = {"http://citeseer.ist.psu.edu/559842.html; http://www.daimi.au.dk/PB/406/PB-406.ps.gz"},
	Year = {"1992"},
	Bdsk-Url-1 = {%22http://citeseer.ist.psu.edu/559842.html;%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},
	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{Maed96a,
	Author = {C. Maeda},
	Booktitle = {Proceedings of ISOTAS '96, LNCS 1049},
	Month = mar,
	Organization = {JSSST-JAIST},
	Pages = {275--286},
	Title = {A Metaobject Protocol For Controlling File Cache Management},
	Year = {1996}}

@inproceedings{Maes87a,
	Author = {Pattie Maes},
	Booktitle = {Proceedings OOPSLA '87, ACM SIGPLAN Notices},
	Month = dec,
	Pages = {147--155},
	Title = {Concepts and Experiments in Computational Reflection},
	Volume = {22},
	Year = {1987}}

@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},
	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},
	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},
	Month = mar,
	Title = {Structuring Parallel and Distributed Programs},
	Url = {ftp://dse.doc.ic.ac.uk/dse-papers/darwin/iwcds.ps.gz},
	Year = {1992},
	Bdsk-Url-1 = {ftp://dse.doc.ic.ac.uk/dse-papers/darwin/iwcds.ps.gz}}

@inproceedings{Mage95a,
	Author = {Jeff Magee and Naranker Dulay and Susan Eisenbach and Jeffrey Kramer},
	Booktitle = {Proceedings ESEC '95},
	Month = sep,
	Pages = {137--153},
	Publisher = {Springer-Verlag},
	Series = {LNCS},
	Title = {Specifying Distributed Software Architectures},
	Volume = {989},
	Year = {1995}}

@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},
	Location = {New York, NY, USA},
	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},
	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}}

@article{Magn90a,
	Author = {Boris Magnusson},
	Journal = {Journal of Object-Oriented Programming},
	Number = {4},
	Pages = {66--70},
	Title = {{SCOOP}-Europe Report and Introducing {OOP} Research at the University of Geneva},
	Volume = {3},
	Year = {1990}}

@inproceedings{Magn93b,
	Address = {San Francisco},
	Author = {M. Magnan and C. Oussalah},
	Booktitle = {Proceeding of the 5th International Conference on Sotware Engineering and Knowledge Engineering},
	Pages = {546--553},
	Title = {Object Evolution},
	Year = {1993}}

@phdthesis{Magn94a,
	Author = {M. Magnan},
	School = {Universit\'e de Montpellier II},
	Title = {R\'eutilisation de composants: les exceptions dans les objets composites},
	Year = {1994}}

@inproceedings{Maha05a,
	Author = {Rupa Mahanti and P.K. Mahanti},
	Booktitle = {Proceedings Conference on Software Engineering Education and Training (CSEET05)},
	Title = {Software Engineering Education From Indian Perspective},
	Year = {2005}}

@book{Mahe06a,
	Author = {Michael Mahemoff},
	Isbn = {0-596-10180-5},
	Publisher = {O'Relly Media},
	Title = {Ajax Design Patterns},
	Year = {2006}}

@article{Maie85a,
	Author = {David Maier and Allen Otis and Alan Purdy},
	Journal = {IEEE Database Engineering},
	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},
	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},
	Pages = {355--392},
	Publisher = {MIT Press},
	Title = {Development and Implementation of an Object-Oriented {DBMS}},
	Year = {1987}}

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

@inproceedings{Maiz81a,
	Author = {J.V. Maizel Jr. and R.P. Lenk},
	Booktitle = {Proceedings of the National Academy of Sciences, Genetics},
	Pages = {7665--7669},
	Title = {Enhanced Graphic Matrix Analysis of Nucleic Acid and Amino Acid Sequences},
	Volume = {78},
	Year = {1981}}

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

@inproceedings{Male00a,
	Author = {Jonathan I. Maletic and Andrian Marcus},
	Booktitle = {Proceedings of the 12th International Conference on Tools with Artificial Intelligences (ICTAI 2000)},
	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)},
	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)},
	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)},
	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}}

@inproceedings{Male89a,
	Address = {Nottingham},
	Author = {Jacques Malenfant and Guy Lapalme and Jean Vaucher},
	Booktitle = {Proceedings ECOOP '89},
	Editor = {S. Cook},
	Misc = {July 10-14},
	Month = jul,
	Pages = {257--269},
	Publisher = {Cambridge University Press},
	Title = {ObjVProlog: Metaclasses in Logic},
	Year = {1989}}

@inproceedings{Male92a,
	Address = {Tokyo},
	Author = {Jacques Malenfant and Christophe Dony and Pierre Cointe},
	Booktitle = {Proceedings of Int'l Workshop on Reflection and Meta-Level Architectures},
	Editor = {A. Yonezawa and B. Smith},
	Month = nov,
	Organization = {RISE and IPA(Japan) + ACM SIGPLAN},
	Pages = {143--153},
	Title = {{Behavioral Reflection in a prototype-based language}},
	Year = {1992}}

@inproceedings{Male95b,
	Address = {Austin},
	Author = {J. Malenfant},
	Booktitle = {Proceedings of OOPSLA '95},
	Month = oct,
	Organization = {ACM},
	Pages = {215--230},
	Title = {On the Semantic Diversity of Delegation-Based Programming Languages},
	Year = {1995}}

@inproceedings{Male96a,
	Author = {J. Malenfant and M. Jacques and F.-N. Demers},
	Booktitle = {Proceedings of Reflection},
	Title = {Compiling Static Behavioral Reflection},
	Year = {1996}}

@inproceedings{Male96b,
	Author = {J. Malenfant and M. Jacques and F.-N. Demers},
	Booktitle = {Proceedings of Reflection},
	Pages = {1--20},
	Title = {A tutorial on behavioral reflection and its implementation},
	Url = {http://www2.parc.com/csl/groups/sda/projects/reflection96/docs/malenfant/malenfant.pdf http://www2.parc.com/csl/groups/sda/projects/reflection96/docs/malenfant/ref96/ref96.html},
	Year = {1996},
	Bdsk-Url-1 = {http://www2.parc.com/csl/groups/sda/projects/reflection96/docs/malenfant/ref96/ref96.html}}

@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},
	Month = nov,
	Pages = {297--314},
	Publisher = {Springer-Verlag},
	Series = {Lecture Notes in Computer Science},
	Title = {Dynamic Extensibility in a Statically-compiled Object-oriented Language},
	Volume = {742},
	Year = {1993}}

@article{Mall82a,
	Author = {W.R. Mallgren},
	Journal = {ACM TOPLAS},
	Month = oct,
	Number = {4},
	Pages = {687--710},
	Title = {Formal Specifications of Graphic Data Types},
	Volume = {4},
	Year = {1982}}

@mastersthesis{Mall95a,
	Author = {Willen C. Mallon},
	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{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},
	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}}

@inproceedings{Malo89a,
	Author = {John Maloney and Alan Borning and Bjorn N. Freeman-Benson},
	Booktitle = {Proceedings OOPSLA '89, ACM SIGPLAN Notices},
	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},
	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},
	Month = sep,
	Title = {Traceview: A Trace Visualization Tool},
	Year = {1991}}

@article{Malo94a,
	Author = {Thomas W. Malone and Kevin Crowston},
	Journal = {ACM Computing Surveys},
	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}}

@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},
	Month = jul,
	Title = {An Information Mural Visualization for Duploc},
	Type = {Informatikprojekt},
	Url = {http://scg.unibe.ch/archive/projects/Malor99a.pdf},
	Year = {1999},
	Bdsk-Url-1 = {http://scg.unibe.ch/archive/projects/Malor99a.pdf}}

@inproceedings{Mama05a,
	Author = {Marco Mamei and Franco Zambonelli},
	Booktitle = {4rd International Joint Conference on Autonomous Agents and Multiagent Systems ({AAMAS} 2005)},
	Isbn = {1-59593-094-9},
	Pages = {415--422},
	Publisher = {ACM},
	Title = {Programming stigmergic coordination with the {TOTA} middleware},
	Year = {2005}}

@inproceedings{Manb90a,
	Address = {San Francisco},
	Author = {Udi Manber and Gene Myers},
	Booktitle = {1st ACM SIAM Symposium on Discrete Algorithms},
	Month = jan,
	Pages = {319--327},
	Title = {Suffix Arrays: A New Method for On-line String Searches},
	Year = {1990}}

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

@article{Manc08a,
	Author = {Blanca Mancilla and John Plaice},
	Doi = {10.1007/s11786-008-0044-8},
	Journal = {Mathematics in Computer Science},
	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{Manc98a,
	Author = {Spiros Mancoridis and Brian S. Mitchell},
	Booktitle = {Proceedings of IWPC '98 (International Workshop on Program Comprehension)},
	Publisher = {IEEE Computer Society Press},
	Title = {Using {Automatic} {Clustering} to produce {High}-{Level} {System} {Organizations} of {Source} {Code}},
	Year = {1998}}

@inproceedings{Manc99a,
	Address = {Oxford, England},
	Author = {Spiros Mancoridis and Brian S. Mitchell and Y. Chen and E. R. Gansner},
	Booktitle = {Proceedings of ICSM '99 (International Conference on Software Maintenance)},
	Publisher = {IEEE Computer Society Press},
	Title = {Bunch: A {Clustering} {Tool} for the {Recovery} and {Maintenance} of {Software} {System} {Structures}},
	Year = {1999}}

@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},
	Location = {Uppsala, Sweden},
	Pages = {213--225},
	Publisher = {ACM Press},
	Title = {An effective theory of type refinements},
	Url = {http://www.cs.princeton.edu/sip/pub/effective-type-refinements03.pdf},
	Year = {2003},
	Bdsk-Url-1 = {http://www.cs.princeton.edu/sip/pub/effective-type-refinements03.pdf},
	Bdsk-Url-2 = {http://dx.doi.org/10.1145/944705.944725}}

@inproceedings{Mand05a,
	Author = {Mandel, Louis and Pouzet, Marc},
	Booktitle = {PPDP'05: Proceedings of the 7th International conference on Principles and Practice of Declarative Programming},
	Isbn = {1-59593-090-6},
	Title = {{ReactiveML}, a Reactive Extension to {ML}},
	Year = {2005}}

@book{Mann05a,
	Author = {Mary L. Manns and Linda Rising},
	Isbn = {0-201-74157-1},
	Publisher = {Addison Wesley},
	Title = {Fearless Change},
	Year = {2005}}

@inproceedings{Mann81a,
	Author = {Zohar Manna and Amir Pnueli},
	Booktitle = {Logics of Programs (Proceedings 1981)},
	Editor = {D. Kozen},
	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},
	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},
	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},
	Misc = {June 15-17},
	Month = jun,
	Pages = {89--97},
	Publisher = {Springer-Verlag},
	Series = {LNCS},
	Title = {Traveler: The Apiary Observatory},
	Volume = {276},
	Year = {1987}}

@misc{Mantis,
	Key = {Mantis},
	Note = {http://www.mantisbt.org/},
	Title = {Mantis}}

@book{Manu06a,
	Author = {Manulescu},
	Publisher = {Wiley},
	Title = {Patterns languages of programm design 5},
	Year = {2006}}

@article{Mao80a,
	Author = {T.W. Mao and R.T. Yeh},
	Journal = {IEEE Transactions on Software Engineering},
	Month = mar,
	Number = {2},
	Pages = {194--204},
	Title = {Communication Port: a Language Concept for Concurrent Programming},
	Volume = {SE-6},
	Year = {1980}}

@inproceedings{Maqb04a,
	Author = {O. Maqbool and H.A. Babri},
	Booktitle = {Proceedings of the Eighth European Conference on Software Maintenance and Reengineering},
	Location = {Tampere, Finland},
	Month = mar,
	Page = {15-24},
	Title = {The Weighted Combined Algorithm: A Linkage Algorithm for Software Clustering},
	Year = {2004}}

@article{Maqb07a,
	Address = {Piscataway, NJ, USA},
	Author = {Maqbool, Onaiza and Babri, Haroon},
	Doi = {10.1109/TSE.2007.70732},
	Issn = {0098-5589},
	Journal = {IEEE Trans. Softw. Eng.},
	Number = {11},
	Pages = {759--780},
	Publisher = {IEEE Press},
	Title = {Hierarchical Clustering for Software Architecture Recovery},
	Volume = {33},
	Year = {2007},
	Bdsk-Url-1 = {http://dx.doi.org/10.1109/TSE.2007.70732}}

@inproceedings{Marc01a,
	Author = {Andrian Marcus and Jonathan I. Maletic},
	Booktitle = {Proceedings of the 16th International Conference on Automated Software Engineering (ASE 2001)},
	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},
	Publisher = {Addison Wesley},
	Title = {Extreme Programming Perspectives},
	Year = {2002}}

@book{Marc03a,
	Editor = {Michele Marchesi and Giancarlo Succi},
	Publisher = {Springer},
	Title = {Extreme Programming and Agile Processes in Software Engineering},
	Year = {2003}}

@inproceedings{Marc03b,
	Author = {Andrian Marcus and Jonathan Maletic},
	Booktitle = {Proceedings of the 25th International Conference on Software Engineering (ICSE 2003)},
	Month = may,
	Pages = {125--135},
	Title = {Recovering Documentation-to-Source-Code Traceability Links using Latent Semantic Indexing},
	Year = {2003}}

@inproceedings{Marc03c,
	Author = {Andrian Marcus and Louis Feng and Jonathan I. Maletic},
	Booktitle = {Proceedings of the ACM Symposium on Software Visualization},
	Pages = {27-ff},
	Publisher = {IEEE},
	Title = {{3D} Representations for Software Visualization},
	Year = {2003}}

@inproceedings{Marc04a,
	Author = {Andrian Marcus and Andrey Sergeyev and Vaclav Rajlich and Jonathan Maletic},
	Booktitle = {Proceedings of the 11th Working Conference on Reverse Engineering (WCRE 2004)},
	Month = nov,
	Pages = {214--223},
	Title = {An Information Retrieval Approach to Concept Location in Source Code},
	Year = {2004}}

@inproceedings{Marc04b,
	Author = {Guillaume Marceau and Gregory H. Cooper and Shriram Krishnamurthi and Steven P. Reiss},
	Booktitle = {Proceedings of the 19th IEEE International Conference on Automated Software Engineering(ASE 2004)},
	Title = {A Dataflow Language for Scriptable Debugging},
	Year = {2004}}

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

@inproceedings{Marc05b,
	Author = {Marcus, Andrian and Rajlich, V\'aclav and Buchta, Joseph and Petrenko, Maksym and Sergeyev, Andrey},
	Booktitle = {Proceedings of the 13th International Workshop on Program Comprehension (IWPC'05)},
	Title = {Static Techniques for Concept Location in Object-Oriented Code},
	Year = {2005}}

@inproceedings{Marc05c,
	Author = {Marcus, Andrian and Rajlich, V\'aclav},
	Booktitle = {Proceedings of the 21st International Conference on Software Maintenance (ICSM'05)},
	Title = {Panel: Identification of Concepts, Features, and Concerns in Srource Code},
	Year = {2005}}

@article{Marc06a,
	Author = {Guillaume Marceau and Gregory H. Cooper and Jonathan P. Spiro and Shriram Krishnamurthi and Steven P. Reiss},
	Journal = {Automated Software Engineering Journal},
	Title = {The Design and Implementation of a Dataflow Language for Scriptable Debugging},
	Year = {2006}}

@article{Marc08a,
	Address = {Los Alamitos, CA, USA},
	Author = {Andrian Marcus and Denys Poshyvanyk and Rudolf Ferenc},
	Doi = {10.1109/TSE.2007.70768},
	Issn = {0098-5589},
	Journal = {IEEE Transactions on Software Engineering},
	Number = {2},
	Pages = {287--300},
	Publisher = {IEEE Computer Society},
	Title = {Using the Conceptual Cohesion of Classes for Fault Prediction in Object-Oriented Systems},
	Volume = {34},
	Year = {2008},
	Bdsk-Url-1 = {http://dx.doi.org/10.1109/TSE.2007.70768}}

@inproceedings{Mari01a,
	Author = {Radu Marinescu},
	Booktitle = {Proceedings of TOOLS},
	Pages = {173--182},
	Title = {Detecting Design Flaws via Metrics in Object-Oriented Systems},
	Year = {2001}}

@phdthesis{Mari02a,
	Author = {Radu Marinescu},
	Pages = {155},
	School = {Department of Computer Science, Politehnica University of Timi\c{s}oara},
	Title = {Measurement and Quality in Object-Oriented Design},
	Year = {2002}}

@book{Mari02b,
	Address = {New York, NY, USA},
	Author = {Marinescu, Floyd},
	Isbn = {0-471-20831-0},
	Publisher = {John Wiley \& Sons, Inc.},
	Title = {Ejb Design Patterns: Advanced Patterns, Processes, and Idioms with Poster},
	Year = {2002}}

@inproceedings{Mari04a,
	Address = {Los Alamitos CA},
	Author = {Radu Marinescu},
	Booktitle = {20th IEEE International Conference on Software Maintenance (ICSM'04)},
	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},
	Author = {Radu Marinescu and Daniel Ra\c{t}iu},
	Booktitle = {Proceedings 11th Working Conference on Reverse Engineering (WCRE'04)},
	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.},
	Author = {Cristina Marinescu and Radu Marinescu and Tudor G\^irba},
	Booktitle = {METRICS 2005},
	Pages = {110--119},
	Title = {Towards a Simplified Implementation of Object-Oriented Design Metrics},
	Url = {http://scg.unibe.ch/archive/papers/Mari05aSAIL.pdf},
	Year = {2005},
	Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Mari05aSAIL.pdf}}

@inproceedings{Mari05b,
	Author = {Cristina Marinescu and Radu Marinescu and Petru Mihancea and Daniel Ratiu and Richard Wettel},
	Booktitle = {Proceedings of the 21st IEEE International Conference on Software Maintenance (ICSM 2005)},
	Note = {Tool demo},
	Pages = {77-80},
	Title = {{iPlasma}: An Integrated Platform for Quality Assessment of Object-Oriented Design},
	Year = {2005}}

@inproceedings{Mari06a,
	Address = {Los Alamitos CA},
	Author = {Cristina Marinescu},
	Booktitle = {Proceedings of International Conference on Program Comprehension (ICPC 2006)},
	Doi = {10.1109/ICPC.2006.27},
	Pages = {169--180},
	Publisher = {IEEE Computer Society Press},
	Title = {Identification of Design Roles for the Assessment of Design Quality in Enterprise Applications},
	Year = {2006},
	Bdsk-Url-1 = {http://dx.doi.org/10.1109/ICPC.2006.27}}

@inproceedings{Mari06b,
	Abstract = {In the last years, as object-oriented software
                  systems became more and more complex, the need of
                  performing automatically reverse engineering upon
                  these systems has increased significantly. This
                  applies also to enterprise applications, a novel
                  category of software systems. As it is well known,
                  one step toward a research infrastructure
                  accelerating the progress of reverse engineering is
                  the creation of an intermediate representation of
                  software systems. This paper shows why existing
                  intermediate representations of object-oriented
                  software are not suitable for performing reverse
                  engineering upon enterprise applications and
                  proposes an intermediate representation (a model)
                  for enterprise applications which facilitates the
                  process of reverse engineering upon this type of
                  applications. Based on an experimental study
                  conducted on three enterprise applications, we prove
                  the reliability of the introduced approach, discuss
                  its benefits and touch the issues that need to be
                  addressed in the future.},
	Address = {Washington, DC, USA},
	Author = {Cristina Marinescu and Ioan Jurca},
	Booktitle = {SYNASC '06: Proceedings of the Eighth International Symposium on Symbolic and Numeric Algorithms for Scientific Computing},
	Isbn = {0-7695-2740-X},
	Pages = {187--194},
	Publisher = {IEEE Computer Society},
	Title = {A Meta-Model for Enterprise Applications},
	Year = {2006}}

@article{Mari07a,
	Author = {Marius Marin and Deursen, Arie van and Leon Moonen},
	Issn = {1049-331X},
	Journal = {ACM Transactions on Software Engineering and Methodology},
	Number = {1},
	Pages = {1--37},
	Title = {Identifying crosscutting concerns using fan-in analysis},
	Volume = {17},
	Year = {2007}}

@inproceedings{Mari07b,
	Author = {Cristina Marinescu},
	Booktitle = {{Symbolic and Numeric Algorithms for Scientific Computing, 2007. SYNASC. International Symposium on}},
	Doi = {10.1109/SYNASC.2007.9},
	Month = sep,
	Pages = {93-100},
	Title = {{Identification of Relational Discrepancies between Database Schemas and Source-Code in Enterprise Applications}},
	Year = {2007},
	Bdsk-Url-1 = {http://dx.doi.org/10.1109/SYNASC.2007.9}}

@article{Mari07c,
	Address = {Los Alamitos, CA, USA},
	Author = {Cristina Marinescu},
	Issn = {1095-1350},
	Journal = {Reverse Engineering, Working Conference on},
	Pages = {100-109},
	Publisher = {IEEE Computer Society},
	Title = {Discovering the Objectual Meaning of Foreign Key Constraints in Enterprise Applications},
	Volume = {0},
	Year = {2007}}

@mastersthesis{Mari97a,
	Author = {Radu Marinescu},
	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},
	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{Mark06a,
	Address = {New York, NY, USA},
	Author = {Aiken, Mark and F\"{a}hndrich, Manuel and Hawblitzel, Chris and Hunt, Galen and Larus, James},
	Booktitle = {MSPC '06: Proceedings of the 2006 workshop on Memory system performance and correctness},
	Doi = {10.1145/1178597.1178599},
	Isbn = {1-59593-578-9},
	Location = {San Jose, California},
	Pages = {1--10},
	Publisher = {ACM},
	Title = {Deconstructing process isolation},
	Year = {2006},
	Bdsk-Url-1 = {http://dx.doi.org/10.1145/1178597.1178599}}

@inproceedings{Mark07a,
	Address = {Washington, DC, USA},
	Author = {Mark Harman},
	Booktitle = {FOSE '07: 2007 Future of Software Engineering},
	Doi = {10.1109/FOSE.2007.29},
	Isbn = {0-7695-2829-5},
	Pages = {342--357},
	Publisher = {IEEE Computer Society},
	Title = {The Current State and Future of Search Based Software Engineering},
	Year = {2007},
	Bdsk-Url-1 = {http://dx.doi.org/10.1109/FOSE.2007.29}}

@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},
	Month = oct,
	Pages = {113--122},
	Title = {Extending the Operating System to Support an Object-Oriented Environment},
	Volume = {24},
	Year = {1989}}

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

@book{Marr98a,
	Author = {Kim Marriot and Peter J. Stuckey},
	Publisher = {The Microsoft Press},
	Title = {Programming with constraints},
	Year = {1998}}

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

@techreport{Mars98a,
	Author = {P. Marsura and D. Riehle},
	Institution = {Union Bank of Switzerland},
	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}}

@book{Mart00a,
	Author = {Didier Martin, Mark Birbeck, et al.},
	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},
	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)},
	Title = {Dynamic Component Program Visualization},
	Year = {2002}}

@book{Mart02b,
	Author = {Robert Cecil Martin},
	Isbn = {0-13-914556-7},
	Publisher = {Prentice-Hall},
	Title = {Agile Software Development. Principles, Patterns, and Practices},
	Year = {2002}}

@misc{Mart02c,
	Author = {Robert C. Martin},
	Note = {www.objectmentor.com},
	Title = {SRP: The Single Responsibility Principle},
	Url = {http://www.objectmentor.com/resources/articles/srp.pdf},
	Year = {2002},
	Bdsk-Url-1 = {http://www.objectmentor.com/resources/articles/srp.pdf}}

@book{Mart03a,
	Author = {Robert C. Martin},
	Publisher = {Prentice-Hall},
	Title = {Agile Software Development: principles, patterns and practices},
	Year = {2003}}

@misc{Mart03b,
	Author = {Robert C. Martin},
	Key = {Mart03b},
	Note = {http://www.artima.com/weblogs/viewpost.jsp?thread=4639},
	Title = {{Are} {Dynamic} {Languages} {Going} to {Replace} {Static} {Languages}?},
	Url = {http://www.artima.com/weblogs/viewpost.jsp?thread=4639},
	Year = {2003},
	Bdsk-Url-1 = {http://www.artima.com/weblogs/viewpost.jsp?thread=4639}}

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

@misc{Mart05c,
	Author = {Robert C. Martin},
	Note = {Software Development},
	Title = {The Tipping Point: Stability and Instability in OO Design},
	Url = {http://www.ddj.com/architect/184415285},
	Year = {2005},
	Bdsk-Url-1 = {http://www.ddj.com/architect/184415285}}

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

@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},
	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},
	School = {Department of Computer Science, University of Toronto},
	Title = {A Communication Model for Message Management Systems},
	Type = {{Ph.D}. Thesis},
	Year = {1984}}

@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.},
	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},
	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},
	Publisher = {ESPRIT},
	Title = {RobinHOOD (Reuse Objects in {HOOD})},
	Year = {1991}}

@inproceedings{Mart94c,
	Author = {Robert C. Martin},
	Booktitle = {Workshop on Pragmatic and Theoretical Directions in Object-Oriented Software Metrics, OOPSLA?94},
	Month = oct,
	Title = {OO Design Quality Metrics -- An Analysis of Dependencies},
	Url = {http://www.objectmentor.com/resources/articles/oodmetrc.pdf},
	Year = {1994},
	Bdsk-Url-1 = {http://www.objectmentor.com/resources/articles/oodmetrc.pdf}}

@misc{Mart96a,
	Abstract = {release equivalency, common closure, common reuse,
                  and acylclic dependencies principles.},
	Author = {Robert C. Martin},
	Note = {www.objectmentor.com},
	Title = {Granularity},
	Url = {http://www.objectmentor.com/resources/articles/granularity.PDF},
	Year = {1996},
	Bdsk-Url-1 = {http://www.objectmentor.com/resources/articles/granularity.PDF}}

@book{Mart98a,
	Editor = {Robert Martin and Dirk Riehle and Frank Buschmann},
	Isbn = {0-201-31011-2},
	Publisher = {Addison Wesley},
	Title = {Pattern Languages of Program Design 3},
	Year = {1998}}

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

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

@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},
	Number = {89-R-072)},
	Title = {Les Mardis Objets du {CRIN}, 20 Oct. 1987 --- 31 Mai 1988},
	Type = {(CRIN},
	Year = {1989}}

@article{Maso01a,
	Author = {Mason John H., Watson Anne},
	Journal = {MSOR Connections},
	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}}

@article{Maso83a,
	Author = {R.E.A. Mason and T.T. Carey},
	Journal = {CACM},
	Pages = {347--354},
	Title = {Prototyping Interactive Information Systems},
	Volume = {26},
	Year = {1983}}

@book{Mass05a,
	Author = {Vincent Massol and Timothy M. O'Brien},
	Isbn = {0-596-00750-7},
	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},
	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{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{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},
	Pages = {158--170},
	Publisher = {Springer-Verlag},
	Series = {LNCS},
	Title = {Combining two Approaches to Object-Oriented Analysis},
	Volume = {858},
	Year = {1994}}

@book{Mats01a,
	Author = {Yukihiro Matsumoto},
	Isbn = {0596002149},
	Publisher = {O'Reilly},
	Title = {Ruby in a Nutshell},
	Year = {2001}}

@inproceedings{Mats88a,
	Author = {Satoshi Matsuoka and Satoru Kawai},
	Booktitle = {Proceedings OOPSLA '88, ACM SIGPLAN Notices},
	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},
	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},
	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)},
	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},
	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},
	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},
	Pages = {107--150},
	Publisher = {MIT Press},
	Title = {Analysis of Inheritance Anomaly in Object-Oriented Concurrent Programming Languages},
	Year = {1993}}

@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.},
	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},
	Location = {Vancouver, Canada},
	Medium = {2},
	Pages = {131--140},
	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},
	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}}

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

@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.},
	Number = {2},
	Pages = {91--126},
	Publisher = {Pergamon Press, Inc.},
	Title = {PROGRAPH: a preliminary report},
	Volume = {10},
	Year = {1985},
	Bdsk-Url-1 = {http://dx.doi.org/10.1016/0096-0551(85)90002-5}}

@techreport{Maur07a,
	Author = {Hermann Maurer and Tilo Balke and Frank Kappe and Narayanan Kulathuramaiyer and Stefan Weber and Bilal Zaka},
	Institution = {Graz University of Technology},
	Title = {Report on dangers and opportunities posed by large search engines, particularly Google},
	Url = {http://www.iicm.tugraz.at/iicm_papers/dangers_google.pdf},
	Year = {2007},
	Bdsk-Url-1 = {http://www.iicm.tugraz.at/iicm_papers/dangers_google.pdf}}

@inproceedings{Mauw87a,
	Address = {Amsterdam},
	Author = {S. Mauw},
	Booktitle = {Proceedings SION Conference (CSN 87)},
	Pages = {235--252},
	Publisher = {CWI},
	Title = {A Constructive Version of the Approximation Induction Principle},
	Year = {1987}}

@misc{Maven,
	Key = {Maven},
	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},
	Pages = {329--353},
	Publisher = {Springer-Verlag},
	Series = {LNCS},
	Title = {Occam and the Transputer},
	Volume = {424},
	Year = {1989}}

@incollection{Mayo91a,
	Author = {Guillermo Mayobre},
	Booktitle = {REBOOT '91},
	Publisher = {ESPRIT},
	Title = {Reuse-Oriented {SW} Development at Hewlett Packard},
	Year = {1991}}

@book{Mayr95a,
	Address = {Munich, Germany},
	Editor = {Ernst W. Mayr and Claude Puech},
	Isbn = {3-540-59042-0},
	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)},
	Pages = {244--253},
	Title = {Experiment on the Automatic Detection of Function Clones in a Software System Using Metrics},
	Url = {http://www.computer.org/proceedings/icsm/7677/76770244abs.htm},
	Year = {1996},
	Bdsk-Url-1 = {http://www.computer.org/proceedings/icsm/7677/76770244abs.htm}}

@inproceedings{Mayr96b,
	Author = {Jean Mayrand and Claude Leblanc and Ettore M. Merlo},
	Booktitle = {Proceedings of ICSM (International Conference on Software Maintenance)},
	Title = {Automatic detection of Function Clones in a Software System using Metrics},
	Year = {1996}}

@inproceedings{Mayr96c,
	Author = {Jean Mayrand and Bruno Lagu{\"e} and John Hudepohl},
	Booktitle = {Workshop on Empirical Software Studies, Monterey, California, USA},
	Month = nov,
	Title = {Evaluating the Benefits of Clone Detection in the Software Maintenance Activities in Large Scale Systems},
	Year = {1996}}

@article{Mayr96d,
	Author = {von Mayrhauser, A. and A.M. Vans},
	Journal = {IEEE Transactions on Software Engineering},
	Month = jun,
	Number = {6},
	Pages = {424--437},
	Title = {Identification of Dynamic Comprehension Processes During Large Scale Maintenance},
	Volume = {22},
	Year = {1996}}

@article{Maze84a,
	Author = {Murray S. Mazer and Frederick H. Lochovsky},
	Journal = {ACM TOOIS},
	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},
	Month = jul,
	Number = {CSRI-183},
	Title = {Exploring the link between office support systems and distributed problem solving systems},
	Type = {Office and Data Base Systems Research 86', Technical Report},
	Year = {1986}}

@proceedings{Mazu97a,
	Address = {Warsaw, Poland},
	Booktitle = {Proceedings of the 8th International, CONCUR '97},
	Editor = {Antoni Mazurkiewicz and Jozef Winkowski},
	Isbn = {3-540-63141-0},
	Month = jul,
	Publisher = {Springer-Verlag},
	Series = {LNCS},
	Title = {Concurrency Theory},
	Volume = {1234},
	Year = {1997}}

@book{Mazz94a,
	Address = {Hertfordshire},
	Author = {C. Mazza and J. Fairclough and B. Meltron and D. de Pablo and A. Scheffer and R. Stevens},
	Publisher = {Prentice Hall},
	Title = {Software Engineering Standards},
	Year = {1994}}

@inproceedings{McAf95a,
	Address = {Aarhus, Denmark},
	Author = {Jeff McAffer},
	Booktitle = {Proceedings ECOOP '95},
	Editor = {W. Olthoff},
	Month = aug,
	Pages = {190--214},
	Publisher = {Springer-Verlag},
	Series = {LNCS},
	Title = {Meta-level Programming with CodA},
	Volume = {952},
	Year = {1995}}

@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},
	Month = nov,
	Pages = {417--423},
	Title = {Boolean Classes},
	Volume = {21},
	Year = {1986}}

@article{McCa60a,
	Author = {John McCarthy},
	Journal = {CACM},
	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 = {T.J. McCabe},
	Journal = {IEEE Transactions on Software Engineering},
	Month = dec,
	Number = {4},
	Pages = {308--320},
	Title = {A Measure of Complexity},
	Volume = {2},
	Year = {1976}}

@article{McCa90a,
	Author = {T.J. McCabe},
	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}}

@inproceedings{McCab76a,
	Address = {Los Alamitos, CA, USA},
	Author = {McCabe, Thomas J.},
	Booktitle = {ICSE'76: Proceedings of the 2nd International Conference on Software engineering},
	Location = {San Francisco, California, United States},
	Pages = {407},
	Publisher = {IEEE Computer Society},
	Title = {A complexity measure},
	Year = {1976}}

@article{McCab89a,
	Address = {New York, NY, USA},
	Author = {McCabe, Thomas J. and Butler, Charles W.},
	Journal = {Commun. ACM},
	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},
	Publisher = {Prentice-Hall},
	Title = {Software Reuse Techniques},
	Year = {1997}}

@article{McCr76a,
	Author = {Edward M. McCreight},
	Journal = {JACM},
	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},
	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},
	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},
	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},
	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},
	Month = oct,
	Pages = {245--257},
	Title = {Painting Multiple Views of Complex Objects},
	Volume = {25},
	Year = {1990}}

@inproceedings{McFad05a,
	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},
	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},
	Publisher = {Addison Wesley},
	Title = {PostScript by Example},
	Year = {1992}}

@techreport{McGr01a,
	Author = {John D. McGregor},
	Institution = {Carnegie Mellon University},
	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}}

@book{McGr97a,
	Author = {Gary McGraw and Edward W. Felten},
	Isbn = {0-471-17842-X},
	Publisher = {Wiley},
	Title = {Java Security},
	Year = {1997}}

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

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

@incollection{McIl69a,
	Author = {M. Douglas McIlroy},
	Booktitle = {Software Engineering},
	Editor = {P. Naur and B. Randell},
	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}}

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

@article{McLa71a,
	Author = {A.D. McLachlan},
	Journal = {J. Mol. Biol.},
	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},
	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},
	Month = dec,
	Number = {4},
	Pages = {83--89},
	Title = {Object Management and Sharing in Autonomous, Distributed Data/Knowledge Bases},
	Volume = {8},
	Year = {1985}}

@inproceedings{McMu97a,
	Author = {B. McMullin and F.J. Varela},
	Booktitle = {Fourth European Conference on Artifical Life (ECAL97)},
	Pages = {38--47},
	Title = {Rediscovering computational Autopoiesis},
	Year = {1997}}

@inproceedings{Mcaf95,
	Author = {Jeff McAffer},
	Booktitle = {Proceedings of the Fourth International Workshop on Object-Orientation in Operating Systems, 1995.},
	Pages = {232--241},
	Title = {Meta-Level Architecture Support for distributed Objects},
	Year = {1995}}

@book{Mcca77a,
	Author = {Jim McCall and Paul Richards and Gene Walters},
	Publisher = {NTIS Springfield},
	Title = {Factors in Software Quality},
	Year = {1976}}

@inproceedings{Mede91a,
	Address = {Geneva, Switzerland},
	Author = {Claudia Bauzer Medeiros and Patrick Pfeffer},
	Booktitle = {Proceedings ECOOP '91},
	Editor = {P. America},
	Misc = {July 15--19},
	Month = jul,
	Pages = {219--230},
	Publisher = {Springer-Verlag},
	Series = {LNCS},
	Title = {Object Integrity Using Rules},
	Volume = 512,
	Year = {1991}}

@unpublished{Medi98a,
	Author = {MediaGenix},
	Note = {Poster Presentation at OOPSLA '98},
	Title = {Understanding Applications Dependencies}}

@article{Medj03a,
	Address = {Secaucus, NJ, USA},
	Author = {Brahim Medjahed and Athman Bouguettaya and Ahmed K. Elmagarmid},
	Doi = {10.1007/s00778-003-0101-5},
	Issn = {1066-8888},
	Journal = {The VLDB Journal},
	Number = {4},
	Pages = {333--351},
	Publisher = {Springer-Verlag New York, Inc.},
	Title = {Composing Web services on the Semantic Web},
	Volume = {12},
	Year = {2003},
	Bdsk-Url-1 = {http://dx.doi.org/10.1007/s00778-003-0101-5}}

@article{Medv00a,
	Address = {Piscataway, NJ, USA},
	Author = {Medvidovic, Nenad and Taylor, Richard N.},
	Doi = {10.1109/32.825767},
	Journal = {IEEE Transactions on Software Engineering},
	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}}

@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},
	Issue = {1},
	Journal = {Information and Software Technology},
	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}}

@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)},
	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 = {Nenad Medvidovic and Richard N. Taylor},
	Booktitle = {Proceedings of ESEC/FSE '97},
	Month = sep,
	Pages = {60--76},
	Title = {A Framework for Classifying and Comparing Architecture Description Languages},
	Year = {1997}}

@inproceedings{Medv97c,
	Author = {Nenad Medvidovic and David S. Rosenblum},
	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,
	Address = {Los Alamitos, CA, USA},
	Author = {Nenad, Medvidovic and Rosenblum, David S. and Taylor, Richard N.},
	Booktitle = {ICSE'99: Proceedings of the 21st International Conference on Software engineering},
	Location = {Los Angeles, California, United States},
	Pages = {44--53},
	Publisher = {IEEE Computer Society},
	Title = {A language and environment for architecture-based software development and evolution},
	Year = {1999}}

@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},
	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)},
	Pages = {199--206},
	Publisher = {IEEE Press},
	Title = {Visualizing the Synchronization of {Java}-Threads with UML},
	Year = {2000}}

@inproceedings{Mehn06a,
	Author = {Katharina Mehner and Mark-Oliver Reiser and Matthias Weber},
	Booktitle = {In Proceedings of the Automotive Requirements Engineering Workshop (AURE'06},
	Title = {Applying Aspect-Orientation Techniques in Automotive Software Product-Line Engineering},
	Year = {2006}}

@inproceedings{Meht00a,
	Address = {Limerick, Ireland},
	Author = {Nikunj R. Mehta and Nenad Medvidovic and Sandeep Phadke},
	Booktitle = {Proceedings of ICSE '00},
	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}}

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

@phdthesis{Meij93a,
	Author = {Theo Dirk Meijler},
	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},
	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},
	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},
	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},
	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}}

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

@book{Mell02a,
	Author = {Stephen J. Mellor and Marc J. Balcer},
	Isbn = {0201748045},
	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{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},
	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}}

@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 = {Hayden Melton and Ewan D. Tempero},
	Bibsource = {DBLP, http://dblp.uni-trier.de},
	Booktitle = {APSEC 2007 - 14th Asia-Pacific Software Engineering Conference},
	Pages = {87--95},
	Publisher = {IEEE Computer Society},
	Title = {Jooj: Real-Time Support For Avoiding Cyclic Dependencies},
	Url = {http://crpit.com/abstracts/CRPITV62Melton1.html},
	Year = {2007},
	Bdsk-Url-1 = {http://crpit.com/abstracts/CRPITV62Melton1.html}}

@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.},
	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{Memo03a,
	Address = {Los Alamitos CA},
	Author = {Atif Memon and Ishan Banerjee and Adithya Nagarajan},
	Booktitle = {Proceedings IEEE Working Conference on Reverse Engineering (WCRE 2003)},
	Month = nov,
	Pages = {260--269},
	Publisher = {IEEE Computer Society Press},
	Title = {{GUI} Ripping: Reverse Engineering of Graphical User Interfaces for Testing},
	Year = {2003}}

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

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

@inproceedings{Mens00a,
	Author = {Mens, Tom},
	Booktitle = {AGTIVE '99: Proceedings of the International Workshop on Applications of Graph Transformations with Industrial Relevance},
	Date-Added = {2009-10-21 10:57:38 +0200},
	Date-Modified = {2009-10-21 10:57:50 +0200},
	Isbn = {3-540-67658-9},
	Pages = {127--143},
	Publisher = {Springer-Verlag},
	Title = {Conditional Graph Rewriting as a Domain-Independent Formalism for Software Evolution},
	Year = {2000}}

@inproceedings{Mens00b,
	Author = {Mens, Tom and Mens, Kim and Wuyts, Roel},
	Booktitle = {Proceedings of the ECOOP 2000 Workshop on Object-Oriented Architectural Evolution},
	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{Mens00c,
	Author = {Mens, Kim},
	School = {Vrije Universiteit Brussel},
	Title = {Automating Architectural Conformance Checking by means of Logic Meta Programming},
	Url = {http://www.info.ucl.ac.be/~km/MyResearchPages/publications/dissertation/PHD_2002_Mens.pdf},
	Year = {2000},
	Bdsk-Url-1 = {http://www.info.ucl.ac.be/~km/MyResearchPages/publications/dissertation/PHD_2002_Mens.pdf}}

@inproceedings{Mens01a,
	Abstract = {In current-day software development, programmers
                  often use programming patterns to clarify their
                  intents and to increase the understandability of
                  their programs. Unfortunately, most software
                  development environments do not adequately support
                  the declaration and use of such patterns. To
                  explicitly codify these patterns, we adopt a
                  declarative meta programming approach. In this
                  approach, we reify the structure of an
                  (object-oriented) program in terms of logic clauses.
                  We declare programming patterns as logic rules on
                  top of these clauses. By querying the logic system,
                  these rules allow us to check, enforce and search
                  for occurrences of certain patterns in the software.
                  As such, the programming patterns become an active
                  part of the software development and maintenance
                  environment.},
	Author = {Kim Mens and Isabel Michiels and Roel Wuyts},
	Booktitle = {SEKE 2001 Proceedings},
	Doi = {10.1016/S0957-4174(02)00076-3},
	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.},
	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},
	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}}

@phdthesis{Mens01d,
	Author = {Tom Mens},
	Date-Added = {2009-10-21 13:04:25 +0200},
	Date-Modified = {2009-10-21 13:05:48 +0200},
	School = {Vrije Universiteit Brussel},
	Title = {A Formal Foundation for Object-Oriented Software Evolution},
	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},
	Number = {2},
	Publisher = {Elsevier Science},
	Title = {A Graph-Based Metamodel for Object-Oriented Software Metrics},
	Url = {http://scg.unibe.ch/archive/papers/Mens02a.pdf},
	Volume = {72},
	Year = {2002},
	Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Mens02a.pdf},
	Bdsk-Url-2 = {http://dx.doi.org/10.1016/S1571-0661(05)80529-8}}

@inproceedings{Mens02b,
	Author = {Kim Mens and Tom Mens and Michel Wermelinger},
	Booktitle = {Proceedings of SEKE 2002},
	Pages = {289--296},
	Publisher = {ACM Press},
	Title = {Maintaining software through intentional source-code views},
	Year = {2002}}

@inproceedings{Mens02c,
	Author = {Tom Mens and Serge Demeyer},
	Booktitle = {Proceedings IWPSE2001 (4th International Workshop on Principles of Software Evolution)},
	Misc = {Deme01a},
	Pages = {83--86},
	Title = {Future Trends in Software Evolution Metrics},
	Year = {2001}}

@article{Mens02d,
	Address = {Los Alamitos, CA, USA},
	Author = {T. Mens},
	Date-Added = {2009-10-21 13:20:25 +0200},
	Date-Modified = {2009-10-21 13:21:11 +0200},
	Doi = {10.1109/TSE.2002.1000449},
	Issn = {0098-5589},
	Journal = {IEEE Transactions on Software Engineering},
	Number = {5},
	Pages = {449-462},
	Publisher = {IEEE Computer Society},
	Title = {A State-of-the-Art Survey on Software Merging},
	Volume = {28},
	Year = {2002},
	Bdsk-Url-1 = {http://dx.doi.org/10.1109/TSE.2002.1000449}}

@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.},
	Author = {Tom Mens and Roel Wuyts and Kris De Volder and Kim Mens},
	Doi = {10.1145/638750.638770},
	Journal = {ACM SIGSOFT Software Engineering Notes},
	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},
	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},
	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},
	Journal = {IEEE Transaction on Software Engineering},
	Number = {2},
	Pages = {126--139},
	Publisher = {IEEE Press},
	Title = {A Survey of Software Refactoring},
	Volume = {30},
	Year = {2004},
	Bdsk-Url-1 = {http://dx.doi.org/10.1109/TSE.2004.1265817}}

@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,
	Author = {Kim Mens and Andy Kellens and Fr\'{e}d\'{e}ric Pluquet and Roel Wuyts},
	Journal = {Journal of Computer Languages, Systems and Structures},
	Number = {2},
	Pages = {140--156},
	Publisher = {Elsevier Science},
	Title = {Co-evolving Code and Design with Intensional Views --- A Case Study},
	Url = {http://prog.vub.ac.be/Publications/2005/vub-prog-tr-05-26.pdf},
	Volume = {32},
	Year = {2006},
	Bdsk-Url-1 = {http://prog.vub.ac.be/Publications/2005/vub-prog-tr-05-26.pdf}}

@article{Mens06b,
	Author = {Tom Mens and Pieter Van Gorp},
	Bibsource = {DBLP, http://dblp.uni-trier.de},
	Doi = {10.1016/j.entcs.2005.10.021},
	Journal = {Electr. Notes Theor. Comput. Sci.},
	Pages = {125-142},
	Title = {A Taxonomy of Model Transformation},
	Volume = {152},
	Year = {2006},
	Bdsk-Url-1 = {http://dx.doi.org/10.1016/j.entcs.2005.10.021}}

@inbook{Mens08a,
	Author = {A. {v. Deursen} and L. Moonen and A. Zaidman},
	Chapter = {8: On the Interplay Between Software Testing and Evolution and its Effect on Program Comprehension},
	Publisher = {Springer},
	Title = {Software Evolution},
	Year = {2008}}

@techreport{Mens94a,
	Author = {Tom Mens},
	Institution = {Department of Computer Science, Vrije Universiteit Brussel, Belgium},
	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},
	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},
	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.},
	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,
	Author = {Kim Mens and Roel Wuyts and Theo D'Hondt},
	Booktitle = {Proceedings of TOOLS-Europe 99},
	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,
	Author = {Mens, Kim and Mens, Tom and Wouters, Bart and Wuyts, Roel},
	Booktitle = {Proceedings of ECOOP '99 Workshop on Architectural Evolution},
	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{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},
	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, 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 (To appear)},
	Title = {A Domain-Specific Approach to Architecturing Error Handling in Pervasive Computing},
	Year = {2010}}

@inproceedings{Merk95a,
	Author = {Dieter Merkl},
	Booktitle = {Proceedings of International Conference on Neural Networks (ICNN'95)},
	Pages = {1086--1091},
	Title = {Content-Based Software Classification by Self-Organization},
	Volume = {II},
	Year = {1995}}

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

@unpublished{Merl04a,
	Author = {Ettore Merlo and Giulio Antoniol and Jens Krinke},
	Note = {To appear},
	Title = {Identifying Similar Code with Metrics and Program Dependence Graphs}}

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

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

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

@phdthesis{Merr00a,
	Author = {Massimo Merro},
	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}}

@inproceedings{Merr87a,
	Author = {Thomas Merrow and Jane Laursen},
	Booktitle = {Proceedings OOPSLA '87, ACM SIGPLAN Notices},
	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}}

@techreport{Mese90a,
	Author = {Jos\'e Meseguer},
	Institution = {SRI International},
	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},
	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},
	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},
	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,
	Author = {C{\'e}dric Mesnage},
	Month = sep,
	School = {University of Caen and University of Lugano},
	Title = {Interactive and Cooperative Visual Data Mining of Evolving Software},
	Type = {Master {Thesis}},
	Year = {2005}}

@article{Mesn05b,
	Address = {Los Alamitos, CA, USA},
	Author = {C{\'e}dric Mesnage and Michele Lanza},
	Doi = {10.1109/VISSOF.2005.1684302},
	Isbn = {0-7803-9540-9},
	Journal = {VISSOFT 2005. 3rd IEEE International Workshop on Visualizing Software for Understanding and Analysis},
	Pages = {40--45},
	Publisher = {IEEE Computer Society},
	Title = {{White Coats}: Web-Visualization of Evolving Software in {3D}},
	Volume = {0},
	Year = {2005},
	Bdsk-Url-1 = {http://dx.doi.org/10.1109/VISSOF.2005.1684302}}

@inproceedings{Mesz03a,
	Author = {G. Meszaros and S.M. Smith and J. Andrea},
	Booktitle = {Proceedings of the Third XP and Second Agile Universe Conference},
	Editors = {F. Maurer and D. Wells},
	Location = {New Orleans, LA, USA},
	Month = aug,
	Pages = {73--81},
	Title = {The Test Automation Manifesto},
	Year = {2003}}

@book{Mesz07a,
	Author = {Gerard Meszaros},
	Date-Added = {2007-01-31 10:27:08 +0100},
	Date-Modified = {2007-01-31 10:27:08 +0100},
	Month = jun,
	Publisher = {Addison Wesley},
	Title = {XUnit Test Patterns -- Refactoring Test Code},
	Year = {2007}}

@inproceedings{Meta96a,
	Author = {Daniel Le M{\'e}tayer},
	Booktitle = {{SIGSOFT}'96: Proceedings of the Fourth {ACM} {SIGSOFT} Symposium on the Foundations of Software Engineering},
	Editor = {David Garlan},
	Pages = {15--23},
	Publisher = {ACM Press},
	Title = {Software architecture styles as graph grammars},
	Year = {1996}}

@article{Meta98a,
	Author = {Daniel Le M{\'e}tayer},
	Journal = {IEEE Transactions on Software Engineering},
	Month = jul,
	Number = {7},
	Pages = {521--533},
	Title = {Describing Software Architecture Styles Using Graph Grammars},
	Volume = {24},
	Year = {1998}}

@article{Metc76a,
	Author = {R.M. Metcalfe and D.R. Boggs},
	Journal = {CACM},
	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},
	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},
	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},
	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},
	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},
	Month = sep,
	Title = {Finding Neighbours in d-dimensional Binary Digital Images Represented by Bintrees},
	Year = {1994}}

@phdthesis{Metz95a,
	Author = {Igor Metz},
	Month = oct,
	School = {University of Bern},
	Title = {Bintree Lab: Ein Framework von Datenstrukturen und Algorithmen f\"ur Bintrees},
	Type = {{Ph.D}. Thesis},
	Year = {1995}}

@inproceedings{Meul87a,
	Author = {Pieter S. van der Meulen},
	Booktitle = {Proceedings OOPSLA '87, ACM SIGPLAN Notices},
	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},
	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},
	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},
	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},
	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},
	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},
	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},
	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},
	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},
	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},
	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},
	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},
	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},
	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},
	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},
	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}}

@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},
	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},
	Author = {Michael Meyer and Tudor G\^irba and Mircea Lungu},
	Booktitle = {ACM Symposium on Software Visualization (SoftVis'06)},
	Doi = {10.1145/1148493.1148513},
	Medium = {2},
	Pages = {135--144},
	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},
	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.},
	Author = {Michael Meyer and Tudor G\^irba},
	Howpublished = {European Smalltalk User Group 2006 Technology Innovation Awards},
	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},
	Number = {4},
	Pages = {31--34},
	Publisher = {ACM},
	Title = {Viewpoint Research evaluation for computer science},
	Volume = {52},
	Year = {2009},
	Bdsk-Url-1 = {http://dx.doi.org/10.1145/1498765.1498780}}

@article{Meye85a,
	Author = {J.-J.Ch. Meyer},
	Journal = {Theoretical Computer Science},
	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},
	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},
	Title = {Disciplined Exceptions},
	Type = {TR-EI-22/EX},
	Year = {1988}}

@book{Meye88b,
	Author = {Bertrand Meyer},
	Publisher = {Prentice-Hall},
	Title = {Object-oriented Software Construction},
	Year = {1988}}

@book{Meye88c,
	Author = {Bertrand Meyer},
	Isbn = {3-446-15773-5},
	Publisher = {Prentice-Hall},
	Title = {Objektorientierte Softwareentwicklung},
	Year = {1988}}

@inproceedings{Meye89a,
	Author = {Bertrand Meyer},
	Booktitle = {Proceedings TOOLS '89},
	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},
	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)},
	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},
	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},
	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},
	Title = {Object-Oriented Applications},
	Year = {1993}}

@article{Meye93c,
	Author = {Bertrand Meyer},
	Journal = {Communications of the ACM},
	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},
	Publisher = {Prentice-Hall},
	Title = {Reusable Software: The Base Object-Oriented Components Libraries},
	Year = {1994}}

@book{Meye95a,
	Author = {Bertrand Meyer},
	Isbn = {0-13-192833-3},
	Publisher = {Prentice-Hall},
	Title = {Object Success},
	Year = {1995}}

@book{Meye96a,
	Author = {Scott Meyers},
	Isbn = {0-201-63371-X},
	Publisher = {Addison Wesley},
	Title = {More Effective {C}++},
	Year = {1996}}

@book{Meye97a,
	Author = {Bertrand Meyer},
	Edition = {Second},
	Publisher = {Prentice-Hall},
	Title = {Object-Oriented Software Construction},
	Year = {1997}}

@book{Meye98a,
	Author = {Scott Meyers},
	Edition = {second},
	Isbn = {0-201-92488-9},
	Publisher = {Addison Wesley},
	Title = {Effective {C}++},
	Year = {1998}}

@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},
	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},
	Month = nov,
	Title = {Proceedings {OOPSLA} '86},
	Volume = {21},
	Year = {1986}}

@inproceedings{Meyr86b,
	Author = {Norman Meyrowitz},
	Booktitle = {Proceedings OOPSLA '86, ACM SIGPLAN Notices},
	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},
	Month = dec,
	Title = {Proceedings {OOPSLA} '87},
	Volume = {22},
	Year = {1987}}

@proceedings{Meyr88a,
	Address = {San Diego, California},
	Editor = {Norman Meyrowitz},
	Journal = {ACM SIGPLAN Notices},
	Month = nov,
	Title = {Proceedings {OOPSLA} '88},
	Volume = {23},
	Year = {1988}}

@proceedings{Meyr89a,
	Address = {New Orleans, Louisiana},
	Editor = {Norman Meyrowitz},
	Journal = {ACM SIGPLAN Notices},
	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},
	Month = oct,
	Title = {Proceedings {OOPSLA}/{ECOOP}'90},
	Volume = {25},
	Year = {1990}}

@inproceedings{Mezi02a,
	Author = {Mira Mezini and Klaus Ostermann},
	Booktitle = {Proceedings OOPSLA 2002},
	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{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},
	Month = oct,
	Pages = {97--116},
	Title = {Adaptive Plug-and-Play Components for Evolutionary Software Development},
	Year = {1998}}

@inproceedings{Mice99a,
	Author = {Thierry Miceli and Houari A. Sahraoui and Robert Godin},
	Booktitle = {Proceedings IEEE Automated Software Engineering Conference (ASE)},
	Title = {A Metric Based Technique For Design Flaws Detection And Correction},
	Year = {1999}}

@book{Mich01a,
	Author = {Alain Michard},
	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)},
	Month = nov,
	Organization = {IEEE},
	Pages = {250--259},
	Title = {Integrating Information Sources for Visualizing {Java} Programs},
	Year = {2001}}

@misc{Mich03a,
	Author = {Linda G. DeMichiel},
	Month = nov,
	Organization = {Sun Microsystems},
	Title = {Enterprise {JavaBeans} specification, Version 2.1},
	Year = {2003}}

@misc{Mich06a,
	Author = {Linda DeMichiel, Michael Keith},
	Month = may,
	Organization = {Sun Microsystems},
	Title = {{JSR 220}: Enterprise {JavaBeans} specification, Version 3.0},
	Year = {2006}}

@inproceedings{Mich94a,
	Author = {L. Mich and R. Garigliano},
	Booktitle = {Proceedings, Object-Oriented Methodologies and Systems},
	Editor = {E. Bertino and S. Urban},
	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}}

@misc{Micr10a,
	Author = {Microsoft},
	Key = {Microsoft},
	Month = mar,
	Note = {http://www.microsoft.com/VisualStudio},
	Title = {Microsoft Visual Studio},
	Year = {2010}}

@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},
	Author = {Petru Florin Mihancea},
	Booktitle = {Proceedings of International Conference on Program Comprehension (ICPC 2006)},
	Doi = {10.1109/ICPC.2006.48},
	Pages = {285--294},
	Publisher = {IEEE Computer Society Press},
	Title = {Towards a Client Driven Characterization of Class Hierarchies},
	Year = {2006},
	Bdsk-Url-1 = {http://dx.doi.org/10.1109/ICPC.2006.48}}

@inproceedings{Mikh98a,
	Author = {Leonid Mikhajlov and Emil Sekerinski},
	Booktitle = {Proceedings of ECOOP'98 (European Conference on Object-Oriented Programming)},
	Number = {1445},
	Pages = {355--383},
	Publisher = {Springer-Verlag},
	Series = {Lecture Notes in Computer Science},
	Title = {A {Study} of the {Fragile} {Base} {Class} {Problem}},
	Year = {1998}}

@inproceedings{Mila02a,
	Address = {New York, NY, USA},
	Author = {Ana Milanova and Atanas Rountev and Barbara G. Ryder},
	Booktitle = {ISSTA '02: Proceedings of the 2002 ACM SIGSOFT international symposium on Software testing and analysis},
	Doi = {10.1145/566172.566174},
	Isbn = {1-58113-562-9},
	Location = {Roma, Italy},
	Pages = {1--11},
	Publisher = {ACM Press},
	Title = {Parameterized object sensitivity for points-to and side-effect analyses for {Java}},
	Year = {2002},
	Bdsk-Url-1 = {http://dx.doi.org/10.1145/566172.566174}}

@book{Mile06a,
	Author = {Miles},
	Publisher = {O'Reilly},
	Title = {Learning UML 2.0},
	Year = {2006}}

@book{Mili02a,
	Author = {Hafedh Mili and Ali Mili and Sherif Yacoub and Edward Andy},
	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}}

@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},
	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},
	Location = {Anaheim, California, USA},
	Pages = {224--240},
	Publisher = {ACM Press},
	Title = {Relaxed MultiJava: balancing extensibility and modular typechecking},
	Year = {2003},
	Bdsk-Url-1 = {http://dx.doi.org/10.1145/949305.949325}}

@inproceedings{Mill03b,
	Author = {Mark S. Miller and Jonathan S. Shapiro},
	Booktitle = {Proceedings of the Eigth Asian Computing Science Conference},
	Pages = {224--242},
	Title = {Paradigm Regained: Abstraction Mechanisms for Access Control},
	Year = {2003}}

@phdthesis{Mill06a,
	Address = {Baltimore, Maryland, USA},
	Author = {Mark Samuel Miller},
	Month = may,
	School = {Johns Hopkins University},
	Title = {Robust Composition: Towards a Unified Approach to Access Control and Concurrency Control},
	Year = {2006}}

@techreport{Mill08a,
	Author = {Mark S. Miller and Mike Samuel and Ben Laurie and Ihab Awad and Mike Stay},
	Institution = {Google Inc.},
	Title = {Caja Safe active content in sanitized JavaScript},
	Url = {http://google-caja.googlecode.com/files/caja-spec-2008-06-07.pdf},
	Year = {2008},
	Bdsk-Url-1 = {http://google-caja.googlecode.com/files/caja-spec-2008-06-07.pdf}}

@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},
	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},
	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.},
	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},
	Month = jun,
	Pages = {279--303},
	Publisher = {Springer-Verlag},
	Series = {LNCS},
	Title = {Modular Statically Typed Multimethods},
	Volume = 1628,
	Year = {1999}}

@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},
	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},
	Month = apr,
	Number = {2},
	Pages = {302--321},
	Title = {Concurrent Processes and Their Syntax},
	Volume = {26},
	Year = {1979}}

@book{Miln80a,
	Author = {Robin Milner},
	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},
	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},
	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},
	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},
	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},
	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},
	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},
	Publisher = {MIT Press},
	Title = {The definition of standard {ML}.},
	Year = {1990}}

@techreport{Miln90b,
	Author = {Robin Milner},
	Institution = {INRIA Sofia-Antipolis},
	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},
	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},
	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},
	Publisher = {MIT Press},
	Title = {Commentary on standard {ML}.},
	Year = {1991}}

@misc{Miln91b,
	Author = {Robin Milner},
	Note = {Workshop at Goslar},
	Title = {Concurrency and Compositionality},
	Year = {1991}}

@techreport{Miln91c,
	Author = {Robin Milner},
	Institution = {Computer Science Dept., University of Edinburgh},
	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},
	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},
	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},
	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},
	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},
	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},
	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},
	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},
	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},
	Publisher = {Cambridge University Press},
	Title = {Communicating and Mobile Systems: The $\pi$-calculus},
	Year = {1999}}

@proceedings{Milo971a,
	Editor = {Zoran Milosevic},
	Isbn = {0-8186-8031-8},
	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},
	Title = {{MASIF}, The {OMG} Mobile Agent System Interoperability Facility},
	Year = {1998}}

@mastersthesis{Minj04a,
	Abstract = {Dans le domaine de la conception de langages, la
                  r\'{e}utilisation et la factorisation du code sont
                  deux enjeux majeurs. Dans le but de r\'{e}pondre
                  \`{a} ces questions, de tr\`{e}s nombreuses
                  solutions ont \'{e}t\'{e} propos\'{e}es, avec plus
                  ou moins de succ\`{e}s. Mais aucune na r\'{e}pondu
                  de mani\`{e}re parfaite au probl\`{e}me qui reste
                  ouvert. Le concept de collaboration est ainsi
                  tr\`{e}s int\'{e}ressant pour la r\'{e}utilisation
                  de fonctionnalit\'{e}s transverses, mais aucun
                  mod\`{e}le de ce concept ne permet de rendre compte
                  des probl\`{e}mes induits. Dans ce rapport nous
                  introduisons un mod\`{e}le original de collaboration
                  bas\'{e} sur les concepts de Traits et de
                  Classboxes, d\'{e}velopp\'{e}s par le Software
                  Composition Group de luniversit\'{e} de Bern, que
                  nous illustrons au travers de deux exemples.
                  Apr\`{e}s \'{e}valuation, il sav\`{e}re que ce
                  mod\`{e}le r\'{e}pond de mani\`{e}re simple et
                  explicite aux probl\'{e}matiques des
                  collaborations.},
	Author = {Florian Minjat},
	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{Mino93a,
	Author = {Toshimi Minoura and Shirish S. Pargaonkar and Kurt Rehfuss},
	Booktitle = {Proceedings OOPSLA '93, ACM SIGPLAN Notices},
	Month = oct,
	Pages = {338--355},
	Title = {Structural Active Object Systems for Simulation},
	Volume = {28},
	Year = {1993}}

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

@book{Mins67a,
	Author = {M. Minsky},
	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},
	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},
	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},
	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},
	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},
	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},
	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},
	Month = sep,
	Pages = {81--97},
	Publisher = {Springer-Verlag},
	Series = {LNCS},
	Title = {Regulated Coordination in Open Distributed Systems},
	Volume = 1282,
	Year = {1997}}

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

@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.},
	Author = {Eliot Miranda and David Leibs and Roel Wuyts},
	Journal = {Journal of Computer Languages, Systems and Structures},
	Misc = {SCI impact factor 0.467},
	Month = may,
	Number = {3-4},
	Pages = {165--182},
	Publisher = {Elsevier},
	Title = {Parcels: a Fast and Feature-Rich Binary Deployment Technology},
	Url = {http://scg.unibe.ch/archive/papers/Mira05aParcels.pdf},
	Volume = {31},
	Year = {2005},
	Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Mira05aParcels.pdf}}

@misc{Mira08a,
	Author = {Eliot Miranda},
	Title = {Cog Blog. Speeding Up Croquet and Squeak with a new open-source VM from Qwaq},
	Url = {http://www.mirandabanda.org/cogblog/},
	Year = {2008},
	Bdsk-Url-1 = {http://www.mirandabanda.org/cogblog/}}

@inproceedings{Mira87a,
	Author = {Eliot Miranda},
	Booktitle = {Proceedings OOPSLA '87, ACM SIGPLAN Notices},
	Month = dec,
	Pages = {354--365},
	Title = {BrouHaHa --- {A} Portable {Smalltalk} Interpreter},
	Volume = {22},
	Year = {1987}}

@book{Mirk04a,
	Author = {Mirkim},
	Note = {received, Suen},
	Publisher = {Kluwer Academic Publishers},
	Title = {Computer security},
	Year = {2004}}

@inproceedings{Mish04a,
	Author = {Gilad Mishne and Maarten de Rijke},
	Booktitle = {Proceedings RIAO 2004},
	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{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}}

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

@article{Misr88a,
	Author = {S.K. Misra and P.J. Jalic},
	Journal = {IEEE Software},
	Month = jul,
	Number = {4},
	Pages = {8--14},
	Title = {Third-Generation versus Fourth-Generation Software Development},
	Volume = {5},
	Year = {1988}}

@inproceedings{Miss89a,
	Author = {Michele Missikoff and Michel Scholl},
	Booktitle = {Proceedings of FODO '89 (3rd International Conference on Foundations of Data Organization and Algorithms},
	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}}

@inproceedings{Mitc01a,
	Author = {Brian S. Mitchell and Spiros Mancoridis},
	Booktitle = {Proceedings of ICSM '01 (International Conference on Software Maintenance)},
	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},
	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},
	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},
	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}}

@techreport{Mitc79a,
	Author = {J.G. Mitchell and W. Maybury and R. Sweet},
	Institution = {Xerox Palo Alto Research Centre},
	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},
	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},
	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},
	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},
	Publisher = {MIT Press},
	Title = {Foundations of Programming Languages},
	Year = {1996}}

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

@book{Mitt04a,
	Author = {Frank Mittelbach and Michael Goossens},
	Publisher = {Addison Wesley},
	Title = {The Latex Companion Second Edition},
	Year = {2004}}

@inproceedings{Mitt86a,
	Author = {Sanja Mittal and Daniel G. Bobrow and Kenneth M. Kahn},
	Booktitle = {Proceedings OOPSLA '86, ACM SIGPLAN Notices},
	Month = nov,
	Pages = {159--166},
	Title = {Virtual Copies --- At the Boundary Between Classes and Instances},
	Volume = {21},
	Year = {1986}}

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

@inproceedings{Mock00a,
	Author = {Audris Mockus and Lawrence Votta},
	Booktitle = {Proceedings of the International Conference on Software Maintenance (ICSM 2000)},
	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},
	Month = apr,
	Number = {2},
	Title = {Predicting risk of software changes},
	Volume = {5},
	Year = {2000}}

@article{Mock02a,
	Address = {New York, NY, USA},
	Author = {Audris Mockus and Roy T Fielding and James D Herbsleb},
	Issn = {1049-331X},
	Journal = {ACM Trans. Softw. Eng. Methodol.},
	Number = {3},
	Pages = {309--346},
	Publisher = {ACM Press},
	Title = {Two case studies of open source software development: Apache and Mozilla},
	Volume = {11},
	Year = {2002}}

@inproceedings{Mock02b,
	Address = {New York, NY, USA},
	Author = {Mockus, Audris and Herbsleb, James D.},
	Booktitle = {ICSE '02: Proceedings of the 24th International Conference on Software Engineering},
	Doi = {10.1145/581339.581401},
	Isbn = {1-58113-472-X},
	Location = {Orlando, Florida},
	Pages = {503--512},
	Publisher = {ACM},
	Title = {Expertise browser: a quantitative approach to identifying expertise},
	Year = {2002},
	Bdsk-Url-1 = {http://dx.doi.org/10.1145/581339.581401}}

@inproceedings{Mock03a,
	Address = {Portland, Oregon},
	Author = {Mockus, Audris and Weiss, David M. and Zhang, Ping},
	Booktitle = {International Conference on Software Engineering (ICSE 2003)},
	Month = may,
	Pages = {274--284},
	Publisher = {ACM Press},
	Title = {Understanding and Predicting Effort in Software Projects},
	Year = {2003}}

@techreport{Mock99a,
	Author = {Audris Mockus and Stephen Eick and Todd Graves and Alan Karr},
	Institution = {National Institute of Statistical Sciences},
	Title = {On Measurements and Analysis of Software Changes},
	Type = {Technical Report},
	Year = {1999}}

@inproceedings{Moer92a,
	Author = {Guido Moerkotte and Andreas Zachmann},
	Booktitle = {Proceedings EDBT '92},
	Title = {Multiple Substitutability Without Affecting the Taxonomy},
	Year = {1992}}

@article{Moer93a,
	Author = {Guido Moerkotte and Andreas Zachmann},
	Journal = {IEEE Data Engineering},
	Note = {To appear},
	Title = {Towards More Flexible Schema Management in Object Bases},
	Year = {1993}}

@incollection{Mogg89a,
	Address = {Washington, DC},
	Author = {Eugenio Moggi},
	Booktitle = {Proceedings 4th Annual IEEE Symp.\ on Logic in Computer Science, LICS '89},
	Month = jun,
	Pages = {14--23},
	Publisher = {IEEE Computer Society Press},
	Title = {Computational Lambda-Calculus and Monads},
	Year = {1989}}

@inproceedings{Moha06a,
	Author = {Naouel Moha and Duc-loc Huynh and Yann-Gael Gueheneuc},
	Booktitle = {Langages et Mod\`eles \`a Objets},
	Pages = {201--216},
	Title = {Une taxonomie et un m\'etamod\`ele pour la d\'etection des d\'efauts de conception},
	Year = {2006}}

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

@incollection{Moin91a,
	Author = {Th. Moineau},
	Booktitle = {REBOOT '91},
	Publisher = {ESPRIT},
	Title = {{ROSE}-{ADA}: An Instance of the {ESF}-{ROSE} System to Reuse Ada code.},
	Year = {1991}}

@incollection{Moll91a,
	Author = {Birger Moller-Pedersen},
	Booktitle = {REBOOT '91},
	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},
	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)},
	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},
	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},
	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},
	Publisher = {HEISE},
	Title = {Eiffel: Objektorientiertes Programmieren in der Praxis},
	Year = {1993}}

@article{Monr97a,
	Author = {Robert T. Monroe and Andrew Kompanek and Ralph Melton and David Garlan},
	Journal = {IEEE Software},
	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{Mons00a,
	Author = {Richard Monson-Haefel},
	Edition = {2nd},
	Publisher = {O'Reilly \& Associates, Inc.},
	Title = {Enterprise {Java}Beans},
	Year = {2000}}

@book{Mons99a,
	Author = {Richard Monson-Haefel},
	Publisher = {O'Reilly},
	Title = {Enterprise {Java}Beans},
	Year = {1999}}

@inproceedings{Mont94a,
	Author = {D. Montesi and R. Torlone},
	Booktitle = {Proceedings, Object-Oriented Methodologies and Systems},
	Editor = {E. Bertino and S. Urban},
	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},
	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},
	Publisher = {Sigs},
	Title = {The Distributed {Smalltalk} Survival Guide},
	Year = {1999}}

@misc{Monticello,
	Author = {Avi Bryant},
	Key = {Monticello},
	Note = {http://www.wiresong.ca/Monticello},
	Title = {Monticello},
	Url = {http://www.wiresong.ca/Monticello},
	Bdsk-Url-1 = {http://www.wiresong.ca/Monticello}}

@inproceedings{Moon01a,
	Author = {Leon Moonen},
	Booktitle = {Proceedings Eight Working Conference on Reverse Engineering (WCRE 2001)},
	Editor = {Elizabeth Burd and Peter Aiken and Rainer Koschke},
	Month = oct,
	Pages = {13--22},
	Publisher = {IEEE Computer Society},
	Title = {Generating Robust Parsers using Island Grammars},
	Url = {http://ieeexplore.ieee.org/xpl/abs_free.jsp?arNumber=957806},
	Year = {2001},
	Bdsk-Url-1 = {http://ieeexplore.ieee.org/xpl/abs_free.jsp?arNumber=957806}}

@inproceedings{Moon03a,
	Author = {Leon Moonen},
	Booktitle = {Proceedings International Conference on Software Maintenance (ICSM 2003)},
	Pages = {276--280},
	Publisher = {IEEE Computer Society},
	Title = {Exploring software systems},
	Year = {2003}}

@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},
	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},
	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},
	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{Moor01a,
	Author = {I. Moore},
	Booktitle = {Proceedings of the 2nd International Conference on Extreme Programming and Flexible Processes (XP2001)},
	Editor = {M. Marchesi},
	Publisher = {University of Cagliari},
	Title = {Jester --- a {JUnit} test tester},
	Year = {2001}}

@incollection{Moor06a,
	Author = {Kevin E. Moore and Jayaram Bobba and Michelle J. Moravan and Mark D. Hill and David A. Wood},
	Booktitle = {Proceedings of the 12th International Symposium on High-Performance Computer Architecture},
	Month = feb,
	Pages = {254--265},
	Pdf = {http://www.cs.wisc.edu/multifacet/papers/hpca06_logtm.pdf},
	Publisher = {IEEE Computer Society},
	Title = {{LogTM}: Log-based Transactional Memory},
	Year = {2006}}

@inproceedings{Moor08a,
	Address = {New York, NY, USA},
	Author = {Adriaan Moors and Frank Piessens and Martin Odersky},
	Booktitle = {OOPSLA '08: Proceedings of the 23rd ACM SIGPLAN conference on Object oriented programming systems languages and applications},
	Doi = {10.1145/1449764.1449798},
	Isbn = {978-1-60558-215-3},
	Location = {Nashville, TN, USA},
	Pages = {423--438},
	Publisher = {ACM},
	Title = {Generics of a higher kind},
	Year = {2008},
	Bdsk-Url-1 = {http://dx.doi.org/10.1145/1449764.1449798}}

@techreport{Moor08b,
	Author = {Adriaan Moors and Frank Piessens and Martin Odersky},
	Institution = {Department of Computer Science, K.U. Leuven},
	Month = feb,
	Pdf = {http://www.cs.kuleuven.be/publicaties/rapporten/cw/CW491.pdf},
	Title = {Parser combinators in {Scala}},
	Year = {2008}}

@inproceedings{Moor96a,
	Author = {Ivan Moore},
	Booktitle = {Proceedings of OOPSLA '96 (11th Annual Conference on Object-Oriented Programming Systems, Languages, and Applications)},
	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},
	Publisher = {HarperBusiness},
	Title = {Crossing The Chasm},
	Year = {1999}}

@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},
	Month = feb,
	Title = {Parsing the {Ada} Programming Language},
	Type = {Bachelor's thesis},
	Url = {http://scg.unibe.ch/archive/projects/Moos07a.pdf},
	Year = {2007},
	Bdsk-Url-1 = {http://scg.unibe.ch/archive/projects/Moos07a.pdf}}

@incollection{Mora99a,
	Author = {A. K. Moran and D. Sands and M. Carlsson},
	Booktitle = {Coordination '99},
	Month = apr,
	Publisher = {Springer-Verlag},
	Series = {{LNCS}},
	Title = {Erratic {Fudgets}: {A} semantic theory for an embedded coordination language},
	Volume = 1594,
	Year = {1999}}

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

@inproceedings{More06a,
	Address = {Luxembourg},
	Author = {A. Moreira and J. Ara\'{u}jo and J. Whittle},
	Booktitle = {Proceedings of the 18th Conference on Advanced Information Systems Engineering (CAiSE 2006)},
	Month = jun,
	Publisher = {Springer-Verlag},
	Series = {LNCS},
	Title = {Modeling Volatile Concerns as Aspects},
	Year = {2006}}

@article{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},
	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},
	Pages = {65--78},
	Publisher = {Springer-Verlag},
	Series = {LNCS},
	Title = {Rigorous Object-Oriented Analysis},
	Volume = {858},
	Year = {1994}}

@book{More99a,
	Address = {Kaiserslautern, Germany},
	Editor = {Ana Moreira and Serge Demeyer},
	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},
	Publisher = {Springer-Verlag},
	Title = {Recueil de petits Problemes en Scheme},
	Year = {1999}}

@article{Mori86a,
	Author = {M. Moriconi and D. Hare},
	Journal = {ACM TOPLAS},
	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},
	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},
	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},
	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},
	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},
	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}}

@inproceedings{Morm93a,
	Address = {New York},
	Author = {MORmSETT, J. G.},
	Booktitle = {ACM SIGPLAN Workshop on State of Programing Language},
	Pages = {73-87},
	Publisher = {ACM},
	Title = {Generalizing first-class stores},
	Year = {1993}}

@article{Morr03a,
	Author = {Steven Morris and Benyam Asnake and Gary Yen},
	Issn = {1473-8716},
	Journal = {Information Visualization},
	Number = {2},
	Pages = {95--104},
	Publisher = {Palgrave Macmillan},
	Title = {Dendrogram seriation using simulated annealing},
	Volume = {2},
	Year = {2003}}

@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},
	Publisher = {Sams net},
	Title = {Presenting {Java} Beans},
	Year = {1997}}

@proceedings{Morv98a,
	Address = {Paris, France},
	Booktitle = {STACS '98},
	Editor = {Michel Morvan and Cristoph Meine and Daniel Krob},
	Isbn = {3-540-64230-7},
	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},
	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"},
	Month = nov,
	Publisher = {?},
	Title = {Sind phasenstrukturierte Projekte notwendig?},
	Year = {1993}}

@inbook{Mose94a,
	Author = {Simon Moser},
	Booktitle = {INFORMATIK, SVI/FSI, Zuerich},
	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},
	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.},
	Author = {Simon Moser and Oscar Nierstrasz},
	Doi = {10.1109/2.536783},
	Journal = {IEEE Computer},
	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},
	Month = dec,
	School = {University of Bern},
	Title = {Measurement and Estimation of Software and Software Processes},
	Type = {{Ph.D}. Thesis},
	Url = {http://scg.unibe.ch/archive/phd/moser-phd.pdf},
	Year = {1996},
	Bdsk-Url-1 = {http://scg.unibe.ch/archive/phd/moser-phd.pdf}}

@phdthesis{Moss81a,
	Author = {J. Eliot B. Moss},
	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},
	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},
	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},
	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},
	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},
	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},
	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},
	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},
	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},
	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}}

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

@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},
	Publisher = {Wiley Computer Publishing},
	Title = {Corba Design Patterns},
	Year = {1997}}

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

@book{Mugr05a,
	Address = {Upper Saddle River, NJ, USA},
	Author = {Rick Mugridge and Ward Cunningham},
	Isbn = {0321269349},
	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}}

@inproceedings{Mugr91a,
	Address = {Geneva, Switzerland},
	Author = {Warwick B. Mugridge and John Hamer and John G. Hosking},
	Booktitle = {Proceedings ECOOP '91},
	Editor = {P. America},
	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{Muhl96a,
	Address = {Linz, Austria},
	Editor = {Max M{\"u}hlh{\"a}user},
	Isbn = {3-920993-67-51},
	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},
	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},
	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}}

@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{Mule95a,
	Author = {P. Mulet},
	School = {\'Ecole des Mines de Nantes},
	Title = {R\'eflexion et langage \`a prototypes},
	Year = {1995}}

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

@phdthesis{Mull86a,
	Author = {Hausi A. M{\"u}ller},
	School = {Rice University},
	Title = {Rigi --- A Model for Software System Construction, Integration, and Evaluation based on Module Interface Specifications},
	Year = {1986}}

@inproceedings{Mull90a,
	Author = {Hausi A. M{\"u}ller and James S. Uhl},
	Booktitle = {Proceedings of ICSM '90 (International Conference on Software Maintenance)},
	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},
	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},
	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},
	Month = dec,
	Number = {4},
	Pages = {181--204},
	Title = {A reverse engineering approach to subsystem structure identification},
	Volume = {5},
	Year = {1993}}

@unpublished{Mull95a,
	Author = {Hausi M{\"u}ller and Kenny Wong and Scott R. Tilley},
	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},
	Pages = {240--252},
	Publisher = {World Scientific},
	Title = {Understanding Software Systems Using Reverse Engineering Technology},
	Year = {1995}}

@book{Mull95c,
	Author = {Kevin Mullet and Darrell Sano},
	Publisher = {Prentice Hall},
	Title = {Designing Visual Interfaces},
	Year = {1995}}

@unpublished{Mull97a,
	Author = {Martin M{\"u}ller and Joachim Niehren and Gert Smolka},
	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},
	Publisher = {Eyrolles},
	Title = {Modelisation Object avec UML},
	Year = {1997}}

@inproceedings{Munn07a,
	Address = {Washington, DC, USA},
	Author = {Munnelly, Jennifer and Fritsch, Serena and Clarke, Siobhan},
	Booktitle = {PERCOM '07: Proceedings of the Fifth IEEE International Conference on Pervasive Computing and Communications},
	Doi = {10.1109/PERCOM.2007.7},
	Isbn = {0-7695-2787-6},
	Pages = {114--124},
	Publisher = {IEEE Computer Society},
	Title = {An Aspect-Oriented Approach to the Modularisation of Context},
	Year = {2007},
	Bdsk-Url-1 = {http://dx.doi.org/10.1109/PERCOM.2007.7}}

@inproceedings{Muns94a,
	Address = {New York, NY, USA},
	Author = {Munson, Jonathan P. and Dewan, Prasun},
	Booktitle = {CSCW '94: Proceedings of the 1994 ACM conference on Computer supported cooperative work},
	Date-Added = {2009-10-21 13:10:40 +0200},
	Date-Modified = {2009-10-21 13:10:53 +0200},
	Doi = {/10.1145/192844.193016},
	Isbn = {0-89791-689-1},
	Location = {Chapel Hill, North Carolina, United States},
	Pages = {231--242},
	Publisher = {ACM},
	Title = {A Flexible Object Merging Framework},
	Year = {1994},
	Bdsk-Url-1 = {10.1145/192844.193016}}

@inproceedings{Muns98a,
	Author = {J.C. Munson and S.G. Elbaum},
	Booktitle = {ICSM'98},
	Pages = {24-34},
	Title = {Code Churn: A Measure for Estimating the Impact of Code Change},
	Year = {1998}}

@techreport{Mura87a,
	Author = {M. Murata and K. Kusumoto},
	Institution = {Fuji Xerox},
	Title = {Daemon: A Mediator that Keeps Wholes Consistent with their parts},
	Year = {1987}}

@article{Mura89a,
	Author = {Makoto Murata and Koji Kusumoto},
	Journal = {JOOP},
	Month = jul,
	Number = {2},
	Pages = {8--12},
	Title = {Daemon: {Another} {Way} of {Invoking} {Methods}},
	Volume = {2},
	Year = {1989}}

@article{Mura91a,
	Author = {Hisashi Natatsuyama and Makoto Murata and Koji Kusumoto},
	Journal = {S.I.G.C.H.I},
	Month = jan,
	Number = {1},
	Pages = {88--92},
	Title = {A new framework for separating user interfaces from application programs},
	Volume = {23},
	Year = {1991}}

@article{Murp01a,
	Address = {New York, NY, USA},
	Author = {Gail C. Murphy and Robert J. Walker and Elisa L. A. Baniassad and Martin P. Robillard and Albert Lai and Mik A. Kersten},
	Doi = {10.1145/383845.383862},
	Issn = {0001-0782},
	Journal = {Commun. ACM},
	Number = {10},
	Pages = {75--77},
	Publisher = {ACM},
	Title = {Does aspect-oriented programming work?},
	Volume = {44},
	Year = {2001},
	Bdsk-Url-1 = {http://dx.doi.org/10.1145/383845.383862}}

@article{Murp06a,
	Author = {Gail C. Murphy and Mik Kersten and Leah Findlater},
	Journal = {IEEE Software},
	Month = {jul},
	Title = {How are {Java} software developers using the {Eclipse} {IDE}?},
	Year = {2006}}

@book{Murp85a,
	Author = {Raymond Murphy},
	Isbn = {0-521-28723},
	Publisher = {Cambridge University Press},
	Title = {English Grammar in Use},
	Year = {1985}}

@incollection{Murp90a,
	Author = {D. Murphy},
	Booktitle = {Semantics for Concurrency},
	Editor = {M.Z. Kwiatkowska and M.W. Shields and R.M. Thomas},
	Pages = {294--310},
	Publisher = {Springer-Verlag},
	Series = {Workshops in Computing},
	Title = {Approaching a Real-Timed Concurrency Theory},
	Year = {1990}}

@inproceedings{Murp95a,
	Author = {Gail Murphy and David Notkin and Kevin Sullivan},
	Booktitle = {Proceedings of SIGSOFT '95, Third ACM SIGSOFT Symposium on the Foundations of Software Engineering},
	Pages = {18--28},
	Publisher = {ACM Press},
	Title = {Software Reflexion Models: Bridging the gap between Source and High-Level Models},
	Year = {1995}}

@phdthesis{Murp96a,
	Author = {Gail C. Murphy},
	School = {University of Washington},
	Title = {Lightweight Structural Summarization as an Aid to Software Evolution},
	Year = {1996}}

@inproceedings{Murp96b,
	Author = {Gail C. Murphy and David Notkin and Erica S.-C. Lan},
	Booktitle = {Proceedings of the ICSE-18},
	Month = mar,
	Organization = {IEEE Computer Society Press},
	Pages = {90--99},
	Title = {An Emperical Study of Static Call Graph Extractors},
	Year = {1996}}

@article{Murp96c,
	Author = {Gail C. Murphy and David Notkin},
	Journal = {ACM Transactions on Software Engineering and Methodology},
	Month = jul,
	Number = {3},
	Pages = {262--292},
	Title = {Lightweight Lexical Source Model Extraction},
	Volume = {5},
	Year = {1996}}

@article{Murp97a,
	Author = {Gail C. Murphy and David Notkin},
	Journal = {IEEE Computer},
	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}}

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

@book{Muss96a,
	Author = {David R. Musser and Atul Saini},
	Isbn = {0-201-6339-8-1},
	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}}

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

@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{Myer86a,
	Address = {New York, NY, USA},
	Author = {Brad A. Myers},
	Doi = {10.1145/22339.22349},
	Issn = {0736-6906},
	Journal = {SIGCHI Bull.},
	Number = {4},
	Pages = {59--66},
	Publisher = {ACM},
	Title = {Visual programming, programming by example, and program visualization: a taxonomy},
	Volume = {17},
	Year = {1986},
	Bdsk-Url-1 = {http://dx.doi.org/10.1145/22339.22349}}

@phdthesis{Myer87a,
	Author = {Brad Myers},
	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},
	Month = oct,
	Pages = {184--200},
	Title = {Declarative Programming in a Prototype-Instance System: Object-Oriented Programming Without Writing Methods},
	Volume = {27},
	Year = {1992}}

@article{Myer92b,
	Address = {Los Alamitos, CA, USA},
	Author = {Brad A. Myers},
	Doi = {10.1109/2.153286},
	Issn = {0018-9162},
	Journal = {IEEE Computer},
	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{Myer97a,
	Author = {Brad A. Myers and Richard G. McDaniel and Robert C. Miller and Alan S. Ferrency and Andrew Faulring and Bruce D. Kyle and Andrew Mickish and Alex Klimovitski and Patrick Doane},
	Journal = {IEEE Transactions on Software Engineering},
	Month = jun,
	Number = {6},
	Pages = {347--365},
	Title = {The Amulet Environment: New Models for Effective User Interface Software Development},
	Volume = {23},
	Year = {1997}}

@article{Mylo80a,
	Author = {John Mylopoulos and Philip A. Bernstein and H.K.T. Wong},
	Journal = {ACM TODS},
	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},
	Pages = {3--17},
	Publisher = {Springer-Verlag},
	Title = {An Overview of Knowledge Representation},
	Year = {1983}}

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

@book{Naeg98a,
	Author = {Hans-Heinrich N\"ageli},
	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},
	Month = oct,
	Title = {Editing Multitype Documents},
	Year = {1981}}

@inproceedings{Nagk06a,
	Author = {Priya Nagpurkar and Chandra Krintz},
	Booktitle = {Elsevier Science of Computer Programming, Special issue on Princples of programming in Java},
	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},
	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},
	Publisher = {Chapman and Hall},
	Title = {Formal Methods for Open Object-based Distributed Systems},
	Year = {1997}}

@inproceedings{Nako01a,
	Address = {London, UK},
	Author = {Preslav Nakov},
	Booktitle = {Proceedings of the International Conference, 7th Fuzzy Days on Computational Intelligence, Theory and Applications},
	Isbn = {3-540-42732-5},
	Pages = {834--841},
	Publisher = {Springer-Verlag},
	Title = {Latent Semantic Analysis for German Literature Investigation},
	Year = {2001}}

@article{Nako01b,
	Author = {P. Nakov and A. Popova and P. Mateev},
	Journal = {Proceedings of the EuroConference Recent Advances in Natural Language Processing (RANLP 2001)},
	Pages = {187--193},
	Title = {Weight functions impact on LSA performance},
	Year = {2001}}

@book{Nanc92a,
	Author = {D. Nanci and B. Espinasse and B. Cohen and H. Heckenroth},
	Publisher = {Sybex},
	Title = {Ingenierie des systemes d'information avec Merise},
	Year = {1992}}

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

@proceedings{Napo95a,
	Address = {France},
	Booktitle = {Actes LMO '95},
	Editor = {Inria},
	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}}

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

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

@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},
	Month = jul,
	Pages = {450--473},
	Publisher = {Springer-Verlag},
	Series = {LNCS},
	Title = {Generalizing Dispatching in a Distributed Object System},
	Volume = {821},
	Year = {1994}}

@techreport{Ndja93a,
	Author = {Gilbert Ndjatou},
	Institution = {The City University of new York},
	Title = {Modelling Objects, Knowledge and Learning in Distributed Object-Based Systems},
	Type = {TR-93-04-02},
	Year = {1993}}

@article{Neam08,
	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.},
	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{Nebb98m,
	Author = {Robb Nebbe},
	Booktitle = {Object-Oriented Technology (ECOOP '98 Workshop Reader)},
	Editor = {Serge Demeyer and Jan Bosch},
	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},
	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},
	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.},
	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)},
	Month = nov,
	Pages = {2--10},
	Publisher = {IEEE Computer Society Press},
	Title = {Finding {Reusable} {Software} {Components} in {Large} {Systems}},
	Year = {1996}}

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

@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},
	Publisher = {Wiley},
	Title = {Programming Mobile Object with {Java}},
	Year = {1999}}

@techreport{Neme00a,
	Author = {Bernhard Nemec},
	Institution = {University of Bern},
	Month = jan,
	Title = {Evolution 200},
	Type = {Informatikprojekt},
	Url = {http://scg.unibe.ch/archive/projects/Neme00a.pdf},
	Year = {2000},
	Bdsk-Url-1 = {http://scg.unibe.ch/archive/projects/Neme00a.pdf}}

@misc{NesC,
	Author = {Eric Brewer and David Culler and David Gay and Phil Levis and Rob von Behren and Matt Welsh},
	Note = {http://nescc.sourceforge.net},
	Title = {{nesC}: A Programming Language for Deeply Networked Systems}}

@article{Nesi98a,
	Author = {Paolo Nesi},
	Journal = {IEEE Software},
	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},
	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},
	Month = dec,
	Note = {submitted for publication},
	Title = {Towards a Calculus of Communicating Functions},
	Type = {IMMD7-13/92},
	Year = {1992}}

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

@misc{NetBeans,
	Author = {NetBeans},
	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}}

@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},
	Misc = {July 15--19},
	Month = jul,
	Pages = {118--132},
	Publisher = {Springer-Verlag},
	Series = {LNCS},
	Title = {Synchronizing Actions},
	Volume = 512,
	Year = {1991}}

@inproceedings{Newc95a,
	Author = {Philipp Newcomb and Paul Martens},
	Booktitle = {Proceedings of WCRE (Working Conference on Reverse Engineering)},
	Pages = {32--39},
	Publisher = {IEEE CS},
	Title = {Reengineering procedural into data flow program},
	Year = {1995}}

@inproceedings{Newc95b,
	Author = {Philipp Newcomb and Gordon Kotik},
	Booktitle = {Proceedings of WCRE (Working Conference on Reverse Engineering)},
	Pages = {237--250},
	Publisher = {IEEE CS},
	Title = {Reengineering procedural into object-oriented systems},
	Year = {1995}}

@book{Newm79a,
	Author = {W.M. Newman and R.F. Sproull},
	Edition = {Second},
	Publisher = {McGraw-Hill},
	Series = {Computer Science Series},
	Title = {Principles of Interactive Computer Graphics},
	Year = {1979}}

@book{Ng93a,
	Editor = {K.W. Ng and P. Raghavan and N.V. Balasubramanian and F.Y.L. Chin},
	Isbn = {3-540-57568-5},
	Publisher = {Springer-Verlag},
	Series = {LNCS},
	Title = {Proceeding of {ISAAC} '93 4th International Symposium on Algorithms and Computation},
	Volume = {762},
	Year = {1993}}

@inproceedings{Nguy05a,
	Author = {Tien Nguyen and Ethan Munson and John Boyland},
	Booktitle = {Internationl Conference on Software Engineering (ICSE 2005)},
	Pages = {215--224},
	Publisher = {ACM Press},
	Title = {An Infrastructure for Development of Object-Oriented, Multi-level Configuration Management Services},
	Year = {2005}}

@inproceedings{Nguy05b,
	Address = {Washington, DC, USA},
	Author = {Nguyen, Tien N. and Munson, Ethan V. and Thao, Cheng},
	Booktitle = {ICSM '05: Proceedings of the 21st IEEE International Conference on Software Maintenance},
	Doi = {10.1109/ICSM.2005.62},
	Isbn = {0-7695-2368-4},
	Pages = {577--586},
	Publisher = {IEEE Computer Society},
	Title = {Managing the Evolution of Web-Based Applications with WebSCM},
	Year = {2005},
	Bdsk-Url-1 = {http://dx.doi.org/10.1109/ICSM.2005.62}}

@article{Nguy86a,
	Author = {V. Nguyen and Brent Hailpern},
	Journal = {ACM SIGPLAN Notices},
	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},
	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},
	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},
	Month = jun,
	Pages = {233--251},
	Publisher = {Springer-Verlag},
	Series = {LNCS},
	Title = {An Object Model for Engineering Design},
	Volume = {615},
	Year = {1992}}

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

@book{Nico02a,
	Author = {Jill Nicola and Mark Mayfield and Mike Abney},
	Publisher = {Prentice Hall},
	Title = {Streamlined Object Modeling},
	Year = {2002}}

@article{Nico84a,
	Author = {Rocco de Nicola and Matthew Hennessy},
	Journal = {Theoretical Computer Science},
	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},
	Pages = {136--172},
	Title = {Two Complete Axiom Systems for a Theory of Communicating Sequential Processes},
	Volume = {64},
	Year = {1985}}

@article{Nico87a,
	Author = {Rocco De Nicola},
	Journal = {Acta Informatica},
	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},
	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)},
	Title = {Klaim: a Kernel Language for Agents Interaction and Mobility},
	Year = {1998}}

@book{Niel00a,
	Author = {Jakob Nielsen},
	Publisher = {New Riders},
	Title = {Designing Web Usability},
	Year = {2000}}

@book{Niel02a,
	Author = {Jacob Nielsen and Marie Tahir},
	Month = sep,
	Publisher = {New Riders},
	Title = {Homepage Usability 50 Websites Deconstructed},
	Year = {2002}}

@book{Niel03a,
	Author = {Nielsen, Jakob},
	Citeulike-Article-Id = {634897},
	Day = {23},
	Edition = {1st},
	Howpublished = {Paperback},
	Isbn = {0125184069},
	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}}

@book{Niel05a,
	Address = {Berlin, Germany},
	Author = {Flemming Nielson and Hanne Riis Nielson and Chris Hankin},
	Edition = {Second Edition},
	Isbn = {3-540-65410-0},
	Publisher = {Springer-Verlag},
	Title = {Principles of Program Analysis},
	Year = {2005}}

@inproceedings{Niel89a,
	Address = {Eindhoven},
	Author = {Flemming Nielson},
	Booktitle = {Proceedings PARLE '89, Vol II},
	Editor = {E. Odijk and J-C. Syre},
	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}}

@inproceedings{Niel93a,
	Author = {Flemming Nielson and Hanne Riis Nielsen},
	Booktitle = {Proceedings of CONCUR '93},
	Editor = {E. Best},
	Pages = {493--508},
	Publisher = {Springer-Verlag},
	Series = {LNCS},
	Title = {From {CML} to Process Algebra},
	Volume = {715},
	Year = {1993}}

@book{Niel93b,
	Author = {Jakob Nielsen},
	Publisher = {Morgan Kaufmann},
	Title = {Usability Engineering},
	Year = {1999}}

@book{Niel96a,
	Address = {Linkoping, Sweden},
	Editor = {Hanne Riis Nielson},
	Isbn = {3-540-61055-3},
	Month = apr,
	Publisher = {Springer-Verlag},
	Series = {LNCS},
	Title = {Proceedings {ESOP}'96},
	Volume = {1058},
	Year = {1996}}

@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.},
	Author = {Oscar Nierstrasz},
	Booktitle = {Pattern Languages of Program Design},
	Editor = {N. Harrison and B. Foote and H. Rohnert},
	Pages = {539--556},
	Publisher = {Addison Wesley},
	Title = {Identify the Champion},
	Url = {http://scg.unibe.ch/download/champion/champion.pdf http://scg.unibe.ch/archive/papers/Nier00aIdentifyTheChampion.pdf http://scg.unibe.ch/download/champion/index.html},
	Volume = {4},
	Year = {2000},
	Bdsk-Url-1 = {http://scg.unibe.ch/download/champion/champion.pdf%20http://scg.unibe.ch/archive/papers/Nier00aIdentifyTheChampion.pdf%20http://scg.unibe.ch/download/champion/index.html}}

@inproceedings{Nier00b,
	Abstract = {Software is not just difficult to develop, but it is
                  even more difficult to maintain in the face of
                  changing requirements. The complexity of software
                  evolution can, however, be significantly reduced if
                  we manage to separate the stable artifacts (the
                  components) from their configuration (the scripts).
                  We have proposed a simple, unifying framework of
                  forms, agents, and channels for modelling components
                  and scripts, and we have developed an experimental
                  composition language, called Piccola, based on this
                  framework, that supports the specification of
                  applications as flexible compositions of stable
                  components. In this paper we show how Piccola can be
                  used to reduce the complexity of software evolution
                  through the specification and use of an appropriate
                  compositional style, and we illustrate the approach
                  through a non-trivial example of mixin layer
                  composition.},
	Address = {Kanazawa, Japan},
	Author = {Oscar Nierstrasz and Franz Achermann},
	Booktitle = {Proceedings International Symposium on Principles of Software Evolution (ISPSE 2000)},
	Doi = {10.1109/ISPSE.2000.913216},
	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.},
	Author = {Oscar Nierstrasz and Jean-Guy Schneider and Franz Achermann},
	Booktitle = {ECOOP 2000 Workshop on Component-Oriented Programming},
	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.},
	Author = {Oscar Nierstrasz and Franz Achermann},
	Booktitle = {ECOOP 2000 Workshop on Aspects \& Dimensions of Concerns},
	Title = {Separation of Concerns through Unification of Concepts},
	Url = {http://scg.unibe.ch/archive/papers/Nier00dSeparationOfConcerns.pdf http://trese.cs.utwente.nl/Workshops/adc2000/},
	Year = {2000},
	Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Nier00dSeparationOfConcerns.pdf%20http://trese.cs.utwente.nl/Workshops/adc2000/}}

@techreport{Nier01a,
	Author = {J\"org Niere and J\"org P. Wadsack and Lothar Wendehals},
	Institution = {Software Engineering Group, Department of Mathematics and Computer Science, University of Paderborn, Paderborn, Germany},
	Title = {Design pattern recovery based on source code analysis with fuzzy logic},
	Type = {tr-ri-01-222},
	Year = {2001}}

@inproceedings{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},
	Author = {Oscar Nierstrasz},
	Booktitle = {Proceedings Radical Innovations of Software and Systems Engineering in the Future},
	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},
	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},
	Month = jun,
	Number = {IAM-03-003},
	Title = {A Guide to {JP}iccola},
	Type = {Technical Report},
	Url = {http://scg.unibe.ch/research/piccola http://scg.unibe.ch/archive/papers/Nier03aJPiccolaGuide.pdf},
	Year = {2003},
	Bdsk-Url-1 = {http://scg.unibe.ch/research/piccola%20http://scg.unibe.ch/archive/papers/Nier03aJPiccolaGuide.pdf}}

@techreport{Nier03b,
	Abstract = {Real software systems are open and evolving. It is a
                  constant challenge in such environments to ensure
                  that software components are safely composed in the
                  face of changing dependencies and incomplete
                  knowledge. To address this problem, we propose a new
                  kind of type system which allows us to infer not
                  only the type provided by a software component in an
                  open system, but also the type it requires of its
                  environment, subject to certain constraints. The
                  contractual type we infer for components can then be
                  statically checked when components are composed. To
                  illustrate our approach, we introduce the form
                  calculus, a calculus of explicit environments, and
                  we present a type system that infers types for form
                  expressions.},
	Address = {University of Bern, Switzerland},
	Author = {Oscar Nierstrasz},
	Institution = {Institute of Computer Science},
	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.},
	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},
	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.},
	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},
	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.},
	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},
	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}}

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

@book{Nier06c,
	Address = {Genoa, Italy},
	Doi = {10.1007/11880240},
	Editor = {Oscar Nierstrasz and Jon Whittle and David Harel and Gianna Reggio},
	Isbn = {0302-9743},
	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},
	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},
	Medium = {2},
	Misc = {acceptance rate: 33/62 = 52\%},
	Pages = {275--286},
	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},
	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},
	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}}

@proceedings{Nier09b,
	Address = {New York, NY, USA},
	Editor = {Oscar Nierstrasz},
	Isbn = {978-1-60558-707-3},
	Location = {Amsterdam, The Netherlands},
	Medium = {1},
	Order_No = {594094},
	Publisher = {ACM},
	Title = {{CASTA} '09: Proceedings of the first international workshop on {Context}-{Aware} {Software} {Technology} and {Applications}},
	Url = {http://portal.acm.org/toc.cfm?id=1595768 http://casta.unibe.ch},
	Year = {2009},
	Bdsk-Url-1 = {http://portal.acm.org/toc.cfm?id=1595768%20http://casta.unibe.ch}}

@inproceedings{Nier10a,
	Abstract = {The biggest challenge facing software developers
                  today is how to gracefully evolve complex software
                  systems in the face of changing requirements. We
                  clearly need software systems to be more dynamic,
                  compositional and model-centric, but instead we
                  continue to build systems that are static, baroque
                  and inflexible. How can we better build
                  change-enabled systems in the future? To
                  answer this question, we propose to look back to one
                  of the most successful systems to support change,
                  namely Smalltalk. We briefly introduce Smalltalk
                  with a few simple examples, and draw some lessons
                  for software evolution. Smalltalk's simplicity, its
                  reflective design, and its highly dynamic nature all
                  go a long way towards enabling change in Smalltalk
                  applications. We then illustrate how these lessons
                  work in practice by reviewing a number of research
                  projects that support software evolution by
                  exploiting Smalltalk's design. We conclude by
                  summarizing open issues and challenges for
                  change-enabled systems of the future.},
	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.},
	Pages = {77--95},
	Publisher = {Springer-Verlag},
	Series = {LNCS},
	Title = {Lessons in Software Evolution Learned by Listening to {Smalltalk}},
	Url = {http://scg.unibe.ch/archive/papers/Nier10aSmalltalkLessons.pdf},
	Volume = {5901},
	Year = {2010},
	Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Nier10aSmalltalkLessons.pdf},
	Bdsk-Url-2 = {http://dx.doi.org/10.1007/978-3-642-11266-9_7}}

@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},
	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},
	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},
	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},
	Author = {Oscar Nierstrasz and John Mooney and Kenneth J. Twaites},
	Booktitle = {Proceedings of the Canadian Information Processing Society Conference},
	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},
	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},
	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.},
	Author = {Oscar Nierstrasz},
	Journal = {IEEE Database Engineering},
	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},
	Author = {Oscar Nierstrasz and Dennis Tsichritzis},
	Booktitle = {Proceedings, Conference on Very Large Data Bases},
	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},
	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},
	Author = {Oscar Nierstrasz},
	Booktitle = {Proceedings of the CERN School of Computing},
	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},
	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},
	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.},
	Author = {Oscar Nierstrasz},
	Booktitle = {Proceedings OOPSLA '87, ACM SIGPLAN Notices},
	Doi = {10.1145/38765.38829},
	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},
	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},
	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},
	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},
	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.},
	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},
	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},
	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},
	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},
	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.},
	Author = {Oscar Nierstrasz and Michael Papathomas},
	Booktitle = {Proceedings OOPSLA/ECOOP '90, ACM SIGPLAN Notices},
	Doi = {10.1145/97945.97952},
	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},
	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},
	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},
	Author = {Oscar Nierstrasz and Dennis Tsichritzis and Vicki de Mey and Marc Stadelmann},
	Booktitle = {Proceedings, Esprit 1991 Conference},
	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},
	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.},
	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},
	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.},
	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},
	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.},
	Author = {Oscar Nierstrasz and Simon Gibbs and Dennis Tsichritzis},
	Doi = {10.1145/130994.131005},
	Journal = {Communications of the ACM},
	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},
	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},
	Author = {Oscar Nierstrasz and Dimitri Konstantas and Klaus Dittrich and Dirk Jonscher},
	Booktitle = {Proceedings, AFCET '93 --- Vers des Syst\`emes d'Information Flexibles},
	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},
	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},
	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.]},
	Author = {Oscar Nierstrasz},
	Booktitle = {Proceedings OOPSLA '93, ACM SIGPLAN Notices},
	Doi = {10.1145/165854.167976},
	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},
	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},
	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},
	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},
	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},
	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?},
	Author = {Oscar Nierstrasz and Theo Dirk Meijler},
	Doi = {10.1145/210376.210389},
	Journal = {ACM Computing Surveys},
	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},
	Author = {Oscar Nierstrasz},
	Booktitle = {Proceedings, Langages et Mod\`eles \`a Objets},
	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.},
	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},
	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.},
	Author = {Oscar Nierstrasz and Markus Lumpe},
	Journal = {HMD --- Theorie und Praxis der Wirtschaftsinformatik},
	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},
	Number = {\#WUCS-98-25},
	Title = {Identify the Champion},
	Type = {Proceedings of PLoP 98, TR},
	Url = {http://scg.unibe.ch/download/champion/champion.pdf http://scg.unibe.ch/download/champion/index.html},
	Year = {1998},
	Bdsk-Url-1 = {http://scg.unibe.ch/download/champion/champion.pdf%20http://scg.unibe.ch/download/champion/index.html}}

@inproceedings{Nier98b,
	Abstract = {Tool support is recognised as a key issue in the
                  reengineering of large scale object-oriented
                  systems. However, due to the heterogeneity in
                  today's object-oriented programming languages, it is
                  hard to reuse reengineering tools across legacy
                  systems. This paper proposes a language independent
                  exchange model, so that tools may perform their
                  tasks independent of the underlying programming
                  language. We have adopted CDIF as the basis for the
                  exchange of information, using this model, between
                  the reengineering tool prototypes in the FAMOOS
                  project. The main reasons for adopting CDIF are,
                  that firstly it is an industry standard, and
                  secondly it has a standard plain text encoding which
                  tackles the requirements of convenient querying and
                  human readability. Next to that the CDIF framework
                  supports the extensibility we need to define our
                  model and language plug-ins.},
	Author = {Oscar Nierstrasz and Sander Tichelaar and Serge Demeyer},
	Booktitle = {OOPSLA '98 Workshop on Model Engineering, Methods and Tools Integration with CDIF},
	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},
	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}}

@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},
	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)},
	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},
	Publisher = {Springer-Verlag},
	Title = {Build Your Own .NET Language and Compiler},
	Year = {2004}}

@inproceedings{Nish00a,
	Author = {Nishizaki, Shin{-}ya},
	Booktitle = {Proceedings ISPSE 2000},
	Doi = {10.1109/ISPSE.2000.913242},
	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},
	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}}

@book{Nish93a,
	Editor = {Shojiro Nishio and Akiro Yonezawa},
	Isbn = {3-540-57342-9},
	Publisher = {Springer-Verlag},
	Series = {LNCS},
	Title = {Object Technologies for Advanced Software},
	Volume = {742},
	Year = {1993}}

@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{Nobl00a,
	Author = {James Noble},
	Booktitle = {Proceedings of TOOLS '00},
	Month = jun,
	Pages = {431ff},
	Title = {Iterators and Encapsulation},
	Year = {2000}}

@inproceedings{Nobl98a,
	Address = {Brussels, Belgium},
	Author = {James Noble and Jan Vitek and John Potter},
	Booktitle = {Proceedings of the 12th European Conference on Object-Oriented Programming (ECOOP'98)},
	Editor = {Eric Jul},
	Isbn = {3-540-64737-6},
	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},
	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{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},
	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},
	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}}

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

@book{Nord90a,
	Address = {Oxford},
	Author = {B. Nordstr{\"o}m and K. Petersson and J. M. Smith},
	Publisher = {Clarendon Press},
	Title = {Programming in Martin-L{\"o}fs Type Theory, An Introduction},
	Year = {1990}}

@misc{Nord95a,
	Author = {Else K. Nordhagen},
	Note = {Working Draft},
	Title = {An Object-Oriented Calculus},
	Year = {1995}}

@misc{Nord95b,
	Author = {Else K. Nordhagen},
	Note = {Working Draft},
	Title = {Equal observable behaviour in Object-oriented Systems},
	Year = {1995}}

@misc{Nord95c,
	Author = {Else K. Nordhagen},
	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},
	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}}

@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},
	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},
	Publisher = {The MIT Press},
	Title = {The Design of Everyday Things},
	Year = {1988}}

@techreport{Norm90a,
	Address = {Aalborg, Denmark},
	Author = {Kurt Normark},
	Institution = {Aalborg University},
	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},
	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},
	Publisher = {Perseus Books},
	Title = {Things that Make Us Smart},
	Year = {1993}}

@book{Norm98a,
	Author = {Donald A. Norman},
	Isbn = {0-262-64037-6 	978-0-262-64037-4},
	Publisher = {The MIT Press},
	Title = {The Design of Everyday Things},
	Year = {1998}}

@techreport{Nort06a,
	Author = {L. Northrop and P. Feiler and R. P. Gabriel and J. Goodenough and R. Linger and T. Longstaff and R. Kazman and M. Klein and D. Schmidt and K. Sullivan and K. Wallnau},
	Editor = {W. Pollak},
	Institution = {Software Engineering Institute, Carnegie Mellon},
	Month = {jun},
	Title = {{Ultra-Large-Scale Systems - The Software Challenge of the Future}},
	Url = {http://www.sei.cmu.edu/uls/downloads.html},
	Year = {2006},
	Bdsk-Url-1 = {http://www.sei.cmu.edu/uls/downloads.html}}

@article{Nose90a,
	Author = {J. T. Nosek and P. Palvia},
	Journal = {Software Maintenance: Research and Practice},
	Number = {3},
	Pages = {157--174},
	Title = {Software Maintenance Management: changes in the last decade},
	Volume = {2},
	Year = {1990}}

@inproceedings{Notk93a,
	Abstract = {Implicit invocation based on event announcement is
                  an increasingly important technique for integrating
                  systems. However, the use of this technique has
                  largely been confined to tool integration
                  systems---in which tools exist as independent
                  processes---and special purpose languages---in which
                  specialized forms of event broadcast are designed
                  into the language from the start. This paper
                  broadens the class of systems that can benefit from
                  this approach by showing how to augment
                  general-purpose programming languages with
                  facilities for implicit invocation. We illustrate
                  the approach in the context of three different
                  languages, Ada, C++, and Common Lisp. The intent is
                  to highlight the key design considerations that
                  arise in extending such languages with implicit
                  invocation.},
	Author = {David Notkin and David Garlan and William G. Griswold and Kevin Sullivan},
	Booktitle = {Object Technologies for Advanced Software, First JSSST International Symposium},
	Month = nov,
	Pages = {489--510},
	Series = {Lecture Notes in Computer Science},
	Title = {Adding Implicit Invocation to Languages: Three Approaches},
	Volume = {742},
	Year = {1993}}

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

@article{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{Nyga86a,
	Author = {Kristen Nygaard},
	Journal = {ACM SIGPLAN Notices},
	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},
	Pages = {138--152},
	Publisher = {Springer-Verlag},
	Series = {Lecture Notes in Computer Science},
	Title = {Polyglot: An Extensible Compiler Framework for {Java}},
	Volume = {2622},
	Year = {2003},
	Bdsk-Url-1 = {http://dx.doi.org/10.1007/3-540-36579-6_11}}

@inproceedings{Nyst04a,
	Author = {Nathaniel Nystrom and Stephen Chong and Andrew C. Myers},
	Booktitle = {OOPSLA '04: Proceedings of the 19th annual ACM SIGPLAN Conference on Object-oriented programming, systems, languages, and applications},
	Doi = {10.1145/1028976.1028986},
	Isbn = {1-58113-831-9},
	Location = {Vancouver, BC, Canada},
	Pages = {99--115},
	Publisher = {ACM Press},
	Title = {Scalable extensibility via nested inheritance},
	Year = {2004},
	Bdsk-Url-1 = {http://dx.doi.org/10.1145/1028976.1028986}}

@inproceedings{Nyst06a,
	Address = {New York, NY, USA},
	Author = {Nathaniel Nystrom and Xin Qi and Andrew C. Myers},
	Booktitle = {OOPSLA '06: Proceedings of the 21st annual ACM SIGPLAN conference on Object-oriented programming systems, languages, and applications},
	Doi = {10.1145/1167473.1167476},
	Isbn = {1-59593-348-4},
	Location = {Portland, Oregon, USA},
	Pages = {21--36},
	Publisher = {ACM},
	Title = {J\&: nested intersection for scalable software composition},
	Year = {2006},
	Bdsk-Url-1 = {http://dx.doi.org/10.1145/1167473.1167476}}

@inproceedings{Nyst08a,
	Address = {New York, NY, USA},
	Author = {Nathaniel Nystrom and Vijay Saraswat and Jens Palsberg and Christian Grothoff},
	Booktitle = {OOPSLA '08: Proceedings of the 23rd ACM SIGPLAN conference on Object oriented programming systems languages and applications},
	Doi = {10.1145/1449764.1449800},
	Isbn = {978-1-60558-215-3},
	Location = {Nashville, TN, USA},
	Pages = {457--474},
	Publisher = {ACM},
	Title = {Constrained types for object-oriented languages},
	Year = {2008},
	Bdsk-Url-1 = {http://dx.doi.org/10.1145/1449764.1449800}}

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

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

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

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

@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},
	Month = sep,
	Publisher = {Rational Software Corporation},
	Title = {{Object} {Constraint} {Language} Specification (version 1.1)},
	Year = {1997}}

@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},
	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},
	Number = {2.0},
	Title = {The Common Object Request Broker: Architecture and Specification},
	Year = {1995}}

@book{OMG96a,
	Editor = {?},
	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}}

@inproceedings{ONeil05a,
	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},
	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{OTI98,
	Key = {OTI98},
	Note = {Object Technology International Inc.},
	Title = {{E}{N}{V}{Y}/{Manager} {User} {Manual} 4.0},
	Year = {1998}}

@book{Oaks01a,
	Author = {Scott Oaks},
	Isbn = {0-59600-157-6},
	Publisher = {O'Reilly},
	Title = {Java Security},
	Year = {2001}}

@book{Oaks97a,
	Author = {Scott Oaks and Henry Wong},
	Isbn = {1-56592-216-6},
	Publisher = {O'Reilly},
	Title = {Java Threads},
	Year = {1997}}

@misc{ObjectiveC,
	Key = {objectivec},
	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{Ocal00a,
	Author = {Alan O'Callaghan},
	Booktitle = {Proceedings of EuroPLoP 2000},
	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{Ocal99a,
	Author = {Alan O'Callaghan and Ping Dai and Ray Farmer},
	Booktitle = {Proceedings of EuroPLoP 1999},
	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{Odeh93a,
	Author = {Mohammed H. Odeh and Julian A. Padget},
	Booktitle = {Proceedings OOPSLA '93, ACM SIGPLAN Notices},
	Month = oct,
	Pages = {178--190},
	Title = {Object-Oriented Execution of OPS5 Production Systems},
	Volume = {28},
	Year = {1993}}

@article{Odel94a,
	Author = {James Odell},
	Journal = {JOOP},
	Title = {Six Different Kinds of Aggregation},
	Year = {1994}}

@book{Odel98a,
	Author = {James J. Odell},
	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{Oder00a,
	Author = {Martin Odersky},
	Booktitle = {Proc. European Symposium on Programming},
	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},
	Month = jan,
	Title = {Independently Extensible Solutions to the Expression Problem},
	Url = {http://lamp.epfl.ch/~odersky/papers/ExpressionProblem.html http://homepages.inf.ed.ac.uk/wadler/fool/program/final/10/10_Paper.pdf},
	Year = {2005},
	Bdsk-Url-1 = {http://lamp.epfl.ch/~odersky/papers/ExpressionProblem.html%20http://homepages.inf.ed.ac.uk/wadler/fool/program/final/10/10_Paper.pdf}}

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

@book{Oder08a,
	Author = {Martin Odersky and Lex Spoon and Bill Venners},
	Isbn = {978-0981531601},
	Publisher = {Artima Inc},
	Title = {Programming in Scala},
	Year = {2008}}

@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},
	Month = jan,
	Title = {Pizza into {Java}: Translating theory into practice},
	Url = {http://www.dcs.gla.ac.uk/~wadler/topics/pizza.html},
	Year = {1997},
	Bdsk-Url-1 = {http://www.dcs.gla.ac.uk/~wadler/topics/pizza.html}}

@inproceedings{Oder98a,
	Address = {Baltimore},
	Author = {Martion Odersky},
	Booktitle = {Proc. International Conference on Functional Programming},
	Month = sep,
	Title = {Programming with Variable Functions},
	Year = {1998}}

@misc{Odif90a,
	Author = {Piergiorgio Odifreddi},
	Number = {31},
	Publisher = {Academic Press},
	Series = {APIC Studies in Data Processing},
	Title = {Logic and Computer Science},
	Year = {1990}}

@article{Ogde94a,
	Author = {William F. Ogden and Murali Sitaraman and Bruce W. Weide and Stuart H. Zweben},
	Doi = {10.1145/190679.190681},
	Issn = {0163-5948},
	Journal = {SIGSOFT Softw. Eng. Notes},
	Number = {4},
	Pages = {23--28},
	Publisher = {ACM Press},
	Title = {Part I: the {RESOLVE} framework and discipline: a research synopsis},
	Volume = {19},
	Year = {1994},
	Bdsk-Url-1 = {http://dx.doi.org/10.1145/190679.190681}}

@inproceedings{Ohor89a,
	Author = {Atsushi Ohori and Peter Buneman},
	Booktitle = {Proceedings OOPSLA '89, ACM SIGPLAN Notices},
	Month = oct,
	Pages = {445--456},
	Title = {Static Type Inference for Parametric Classes},
	Volume = {24},
	Year = {1989}}

@incollection{Okam93a,
	Abstract = {Research has shown that metalevel architectures and
                  the concept of reflection are useful for modifying
                  programming systems dynamically in a controlled way.
                  To modify the system flexibly, it is necessary to
                  represent various abstraction levels, from the
                  programing language level to the OS level, as well
                  as user's multiple views, such as the view where the
                  distributed environment is transparent and the view
                  where that is not transparent, in a programming
                  system. In traditional reflective systems, it is,
                  however, difficult to represent these aspects of the
                  system because these systems are modeled by one
                  metalevel. To overcome this problem, we have
                  proposed a new reflection framework: Multi-Model
                  Reflection Framework (MMRF), and implemented a
                  programming system AL-1/D based on this framework.
                  This paper gives a clearer definition of MMRF than
                  in our previous paper. MMRF is a framework for
                  decomposing a metalevel into multiple conceptual
                  models according to the abstraction levels and
                  user's views. These conceptual models may overlap
                  each other in their functions and resources. The
                  decomposed models should run concurrently because
                  models represents system components running
                  concurrently in a system. The definition of MMRF
                  includes the conditions to enable models to run
                  simultaneously without violenting consistently. The
                  structure of a model includes information to decide
                  whether or not these conditions are satisfied.},
	Author = {Hideaki Okamura and Yutaka Ishikawa and Mario Tokoro},
	Booktitle = {Object Technologies for Advanced Software, First JSSST International Symposium},
	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},
	Month = jul,
	Pages = {299--319},
	Publisher = {Springer-Verlag},
	Series = {LNCS},
	Title = {Object Location Control Using Meta-level Programming},
	Volume = {821},
	Year = {1994}}

@mastersthesis{Oki83a,
	Author = {B.M. Oki},
	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},
	Location = {New York, NY, USA},
	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}}

@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},
	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},
	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},
	Month = apr,
	Pages = {90--104},
	Publisher = {Springer-Verlag},
	Series = {LNCS},
	Title = {A Case Study in Transformational Design of Concurrent Systems},
	Volume = {668},
	Year = {1993}}

@inproceedings{Oliv99a,
	Address = {San Diego, California, USA},
	Author = {Alexandre Oliva and Luiz Eduardo Buzato},
	Booktitle = {Proceedings of the 5th USENIX Conference on Object-Oriented Technologies and Systems (COOTS'99)},
	Month = may,
	Pages = {203--216},
	Title = {The Design and Implementation of {Guarana}},
	Year = {1999}}

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

@inproceedings{Olth86a,
	Author = {Walter G. Olthoff},
	Booktitle = {Proceedings OOPSLA '86, ACM SIGPLAN Notices},
	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},
	Publisher = {Springer-Verlag},
	Series = {LNCS},
	Title = {Proceedings of the {ECOOP}'95 European Conference on Object-Oriented Programming},
	Volume = {952},
	Year = {1995}}

@misc{Ometa,
	Key = {ometa},
	Note = {http://www.cs.ucla.edu/~awarth/ometa/},
	Title = {{OMeta}: an Object-Oriented Language for Pattern Matching},
	Url = {http://www.cs.ucla.edu/~awarth/ometa/},
	Bdsk-Url-1 = {http://www.cs.ucla.edu/~awarth/ometa/}}

@inproceedings{Omic94a,
	Address = {Bologna, Italy},
	Author = {Andrea Omicini and Antonio Natali},
	Booktitle = {Proceedings ECOOP '94},
	Editor = {M. Tokoro and R. Pareschi},
	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},
	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},
	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},
	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},
	Month = jul,
	Number = {3},
	Pages = {230--253},
	Title = {The Clearinghouse: {A} Decentralized Agent for Locating Named Objects in a Distributed Environment},
	Volume = {1},
	Year = {1983}}

@incollection{Orav90a,
	Author = {Fredrik Orava and Joachim Parrow},
	Booktitle = {Protocol Specification, Testing and Verfication, X},
	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},
	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)},
	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},
	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},
	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},
	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{Osbo89a,
	Author = {S.L. Osborn},
	Booktitle = {IEEE Transactions on Knowledge and Data Engineering},
	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},
	Pages = {93--100},
	Title = {The {Early} {Examples} of {Kedama}, {A} {Massively} {Parallel} {System} in Squeak},
	Volume = {3},
	Year = {2005}}

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

@article{Ossh86a,
	Author = {Harold Ossher},
	Journal = {ACM SIGPLAN Notices},
	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},
	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{Oste00a,
	Author = {Klaus Ostermann and G\"{u}nter Kniesel},
	Booktitle = {Proceedings of Aspects and Dimensions of Concern Workshop},
	Location = {Cannes, France},
	Title = {Independent Extensibility --- an open challenge for AspectJ and Hyper/J},
	Year = {2000}}

@inproceedings{Oste01a,
	Author = {Klaus Ostermann and Mira Mezini},
	Booktitle = {Proceedings of OOPSLA '01, ACM SIGPLAN Notices},
	Doi = {10.1145/504282.504303},
	Isbn = {1-58113-441-X},
	Location = {Tampa Bay, FL, USA},
	Pages = {283--299},
	Publisher = {ACM Press},
	Title = {Object-oriented composition untangled},
	Volume = {36},
	Year = {2001},
	Bdsk-Url-1 = {http://dx.doi.org/10.1145/504282.504303}}

@inproceedings{Oste05a,
	Author = {Klaus Ostermann and Mira Mezini and Christophe Bockisch},
	Booktitle = {Proceedings of ECOOP 2005},
	Title = {Expressive Pointcuts for Increased Modularity},
	Year = {2005}}

@techreport{Oswa03a,
	Author = {Baltisar Oswald and Silvan Auer},
	Institution = {University of Bern},
	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},
	Month = oct,
	Number = {10},
	Pages = {64--77},
	Title = {The {GemStone} Object Database Management Systems},
	Volume = {34},
	Year = {1991}}

@article{Otte77a,
	Author = {Karl J. Ottenstein},
	Journal = {SIGCSE Bulletin},
	Number = {4},
	Pages = {30--41},
	Title = {An Algorithmic Approach to the Detection and Prevention of Plagiarism},
	Volume = {8},
	Year = {1977}}

@book{Oust94a,
	Author = {John K. Ousterhout},
	Isbn = {0-201-63337-X},
	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},
	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},
	Month = apr,
	Number = {96},
	Title = {The Response Function method for Specifying Concurrent Systems},
	Type = {Research Report No.},
	Year = {1988}}

@inproceedings{Oxho92a,
	Address = {Utrecht, the Netherlands},
	Author = {Nicholas Oxh\/oj and Jens Palsberg and Michael I. Schwartzbach},
	Booktitle = {Proceedings ECOOP '92},
	Editor = {O. Lehrmann Madsen},
	Month = jun,
	Pages = {329--349},
	Publisher = {Springer-Verlag},
	Series = {LNCS},
	Title = {Making Type Inference Practical},
	Url = {http://www.cs.purdue.edu/homes/palsberg/publications.html},
	Volume = {615},
	Year = {1992},
	Bdsk-Url-1 = {http://www.cs.purdue.edu/homes/palsberg/publications.html}}

@misc{PHP,
	Key = {PHP},
	Note = {http://www.php.net/},
	Title = {{PHP}: Hypertext Preprocessor}}

@misc{PLHistory,
	Key = {PLHistory},
	Note = {http://en.wikipedia.org/wiki/History_of_programming_languages},
	Title = {History of programming languages},
	Url = {http://en.wikipedia.org/wiki/History_of_programming_languages},
	Bdsk-Url-1 = {http://en.wikipedia.org/wiki/History_of_programming_languages}}

@misc{PROMOL,
	Key = {PROMOL},
	Note = {http://www.elen.ktu.lt/~damarobe/promol/index.html},
	Title = {Open PROMOL Language}}

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

@inproceedings{Pach94a,
	Address = {Paris},
	Author = {F. Pachet and F. Wolinski and S. Giroux},
	Booktitle = {Calisce '94 (Computer Aided Learning in Science and Engineering},
	Month = aug,
	Pages = {167--174},
	Title = {{Plugglable Advisors as Epiphyte Systems}},
	Year = {1994}}

@inproceedings{Paci03a,
	Author = {Michael Pacione and Marc Roper and Murray Wood},
	Booktitle = {Proceedings of WCRE '03},
	Month = nov,
	Pages = {80--89},
	Publisher = {IEEE Computer Society},
	Title = {{A Comparative Evaluation of Dynamic Visualization Tools}},
	Year = {2003}}

@inproceedings{Paci04a,
	Author = {Michael Pacione and Marc Roper and Murray Wood},
	Booktitle = {Proceedings of the 11th Working Conference on Reverse Engineering},
	Doi = {10.1109/WCRE.2004.7},
	Month = nov,
	Pages = {70--79},
	Publisher = {IEEE Computer Society},
	Title = {A Novel Software visualisation Model to Support Software Comprehension},
	Year = {2004},
	Bdsk-Url-1 = {http://dx.doi.org/10.1109/WCRE.2004.7}}

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

@inproceedings{Paep88a,
	Address = {Oslo},
	Author = {Andreas Paepcke},
	Booktitle = {Proceedings ECOOP '88},
	Editor = {S. Gjessing and K. Nygaard},
	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},
	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},
	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},
	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},
	Month = oct,
	Title = {Proceedings {OOPSLA} '92},
	Volume = {27},
	Year = {1992}}

@proceedings{Paep93a,
	Editor = {Andreas Paepcke},
	Isbn = {0-201-58895-1},
	Publisher = {ACM SIGPLAN Notices},
	Title = {Proceedings of {OOPSLA} '93},
	Year = {1993}}

@incollection{Paep93b,
	Author = {Andreas Paepcke},
	Booktitle = {Object-Oriented Programming: the CLOS perspective},
	Pages = {66--99},
	Publisher = {MIT Press},
	Title = {User-Level Language Crafting},
	Year = {1993}}

@inproceedings{Page89a,
	Author = {Page, Jr., Thomas W. and Steven Berson and William Cheng and Richard R. Muntz},
	Booktitle = {Proceedings OOPSLA '89, ACM SIGPLAN Notices},
	Month = oct,
	Pages = {287--296},
	Title = {An Object-Oriented Modeling Environment},
	Volume = {24},
	Year = {1989}}

@article{Pagh03a,
	Address = {New York, NY, USA},
	Author = {Ulrik Pagh Schultz and Kim Burgaard and Flemming Gram Christensen and J\&\#248;rgen Lindskov Knudsen},
	Doi = {10.1145/780731.780739},
	Issn = {0362-1340},
	Journal = {SIGPLAN Notice},
	Number = {7},
	Pages = {42--50},
	Publisher = {ACM Press},
	Title = {Compiling {J}ava for low-end embedded systems},
	Volume = {38},
	Year = {2003},
	Bdsk-Url-1 = {http://dx.doi.org/10.1145/780731.780739}}

@inproceedings{Pahl01a,
	Author = {Claus Pahl},
	Booktitle = {Workshop on Specification and Verification of Component-Based Systems (OOPSLA 2001)},
	Title = {A Pi-Calculus based Framework for the Composition and Replacement of Components},
	Url = {http://www.cs.iastate.edu/~leavens/SAVCBS/2001/papers-2001/},
	Year = {2001},
	Bdsk-Url-1 = {http://www.cs.iastate.edu/~leavens/SAVCBS/2001/papers-2001/}}

@inproceedings{Pala97a,
	Address = {Paris, France},
	Author = {Catuscia Palamidessi},
	Booktitle = {Conference Record of {POPL}~'97},
	Month = jan,
	Pages = {256--265},
	Title = {Comparing the Expressive Power of the Synchronous and the Asynchronous {$\pi$}-calculus},
	Year = {1997}}

@techreport{Palix09b,
	Affiliation = {{D}epartement of {C}omputer {S}cience - {DIKU} - {U}niversity of {C}openhagen - {REGAL} - {INRIA} {R}ocquencourt - {INRIA} - {CNRS} : {UMR}7606 - {U}niversit{\'e} {P}ierre et {M}arie {C}urie - {P}aris {VI}},
	Author = {{P}alix, {N}icolas and {L}awall, {J}ulia and {M}uller, {G}illes},
	Date-Added = {2009-10-20 14:54:55 +0200},
	Date-Modified = {2009-10-20 15:04:35 +0200},
	Institution = {INRIA},
	Number = {{RR}-6984},
	Pages = {16},
	Title = {{H}erodotos: {A} {T}ool to {E}xpose {B}ugs' {L}ives},
	Type = {Research Report},
	Url = {http://hal.inria.fr/inria-00406306/en/},
	Year = {2009},
	Bdsk-Url-1 = {http://hal.inria.fr/inria-00406306/en/}}

@inproceedings{Pals90a,
	Author = {Jens Palsberg and Michael I. Schwartzbach},
	Booktitle = {Proceedings OOPSLA/ECOOP '90, ACM SIGPLAN Notices},
	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},
	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},
	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},
	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},
	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},
	Pages = {248--265},
	Publisher = {Springer-Verlag},
	Series = {LNCS},
	Title = {Integrating Objects with Constraint-Programming Languages},
	Volume = {858},
	Year = {1994}}

@inproceedings{Palt97a,
	Author = {S. Palthepu and J.E. Greer and G.I. McCalla},
	Booktitle = {Proceedings Fourth Working Conference on Reverse Engineering},
	Editor = {Ira Baxter and Alex Quilici and Chris Verhoef},
	Pages = {94--103},
	Publisher = {IEEE Computer Society},
	Title = {{Clich}\'e {Recognition} in {Legacy} {Software}: {A} {Scalable}, {Knowlegde}-{Based} {Approach}},
	Year = {1997}}

@inproceedings{Pana03a,
	Author = {Thomas Panas and Welf L{\"o}we and Uwe A{\ss}mann},
	Booktitle = {International Conference on Software Engineering Research and Practice (SERP'03)},
	Pages = {854--860},
	Publisher = {CSREA Press},
	Title = {Towards the Unified Recovery Architecture for Reverse Engineering},
	Year = {2003}}

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

@phdthesis{Pana05b,
	Author = {Thomas Panas},
	School = {Vajjo University, Sweden},
	Title = {A Framework for Reverse Engineering},
	Year = {2005}}

@inproceedings{Panc09a,
	Abstract = {Searching is an important activity in software
                  maintenance. Dedicated data structures have been
                  used to support either textual or structural queries
                  over source code. The goal of this ongoing research
                  is to elaborate a hybrid data storage that enables
                  simultaneous textual and structural search. The
                  naive adjacency list method has been combined with
                  the inverted index approach. The data model has been
                  enhanced with the use of data compression approaches
                  for column-oriented databases to allow no-loss
                  albeit compact storage of fine-grained structural
                  data. The graph indexing has enabled the proposed
                  data model to expeditiously answer fine-grained
                  structural queries. This paper describes the basics
                  of the proposed approach and estimates its
                  feasibility.},
	Author = {Panchenko, O.},
	Booktitle = {Search-Driven Development-Users, Infrastructure, Tools and Evaluation, 2009. SUITE '09. ICSE Workshop on},
	Citeulike-Article-Id = {5403383},
	Citeulike-Linkout-0 = {http://dx.doi.org/10.1109/SUITE.2009.5070019},
	Citeulike-Linkout-1 = {http://ieeexplore.ieee.org/xpls/abs\_all.jsp?arnumber=5070019},
	Doi = {10.1109/SUITE.2009.5070019},
	Journal = {Search-Driven Development-Users, Infrastructure, Tools and Evaluation, 2009. SUITE '09. ICSE Workshop on},
	Pages = {37--40},
	Posted-At = {2009-08-10 11:12:03},
	Priority = {0},
	Title = {Hybrid storage for enabling fully-featured text search and fine-grained structural search over source code},
	Url = {http://dx.doi.org/10.1109/SUITE.2009.5070019},
	Year = {2009},
	Bdsk-Url-1 = {http://dx.doi.org/10.1109/SUITE.2009.5070019}}

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

@inproceedings{Pang99a,
	Abstract = {Multiple Row Displacement (MRD) is a new dispatch
                  technique for multi-method languages. It is based on
                  compressing an n-dimensional table using an
                  extension of the single-receiver row displacement
                  mechanism. This paper presents the new algorithm and
                  provides experimental results that compare it with
                  implementations of existing techniques: compressed
                  n-dimensional tables, look-up automata and
                  single-receiver projection. MRD uses comparable
                  space to the other techniques, but has faster
                  dispatch performance.},
	Address = {Lisbon, Portugal},
	Author = {Candy Pang and Wade Holst and Yuri Leontiev and Duane Szafron},
	Booktitle = {Proceedings ECOOP '99},
	Editor = {R. Guerraoui},
	Month = jun,
	Pages = {304--328},
	Publisher = {Springer-Verlag},
	Series = {LNCS},
	Title = {Multi-Method Dispatch Using Multiple Row Displacement},
	Volume = 1628,
	Year = {1999}}

@inproceedings{Pank96a,
	Address = {Washington, DC, USA},
	Author = {Raymond R. Panko and Richard P. Halverson Jr},
	Booktitle = {HICSS '96: Proceedings of the 29th Hawaii International Conference on System Sciences (HICSS) Volume 2: Decision Support and Knowledge-Based Systems},
	Isbn = {0-8186-7327-3},
	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},
	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},
	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},
	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},
	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},
	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},
	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},
	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},
	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},
	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},
	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},
	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},
	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},
	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},
	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},
	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},
	Month = aug,
	Publisher = {Academic Press},
	Series = {Advances in Computers},
	Title = {{Coordination Models and Languages}},
	Url = {http://www.cwi.nl/ftp/manifold/AICbook.ps.Z},
	Volume = {46},
	Year = {1998},
	Bdsk-Url-1 = {http://www.cwi.nl/ftp/manifold/AICbook.ps.Z}}

@book{Papu95a,
	Author = {David M. Papurt},
	Isbn = {1-884842-05-4},
	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},
	Pages = {329--345},
	Publisher = {Springer-Verlag},
	Series = {LNCS},
	Title = {Reusing Object Oriented Design: An Algebraic Approach},
	Volume = {858},
	Year = {1994}}

@incollection{Park81a,
	Address = {Karlsruhe},
	Author = {David Park},
	Booktitle = {Theoretical Computer Science, 5th GI-Conf.},
	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}}

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

@article{Parn72a,
	Author = {David L. Parnas},
	Doi = {10.1145/361598.361623},
	Journal = {CACM},
	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},
	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},
	Month = mar,
	Number = {1},
	Pages = {1--9},
	Title = {On the Design and Development of Program Families},
	Volume = {2},
	Year = {1976}}

@inproceedings{Parn78a,
	Author = {David Lorge Parnas},
	Bibsource = {DBLP, http://dblp.uni-trier.de},
	Booktitle = {International Conference on Software Engineering (ICSE'78)},
	Pages = {264--277},
	Title = {Designing Software for Ease of Extension and Contraction},
	Year = {1978}}

@article{Parn86a,
	Author = {David L. Parnas and P.C. Clements},
	Journal = {IEEE Transactions on Software Engineering},
	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}}

@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},
	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},
	Month = may,
	Publisher = {Pragmatic Programmers},
	Title = {The Definitive {ANTLR} Reference: Building Domain-Specific Languages},
	Year = {2007}}

@inproceedings{Parr88a,
	Address = {Oslo},
	Author = {Graham D. Parrington and Santosh K. Shrivastava},
	Booktitle = {Proceedings ECOOP '88},
	Editor = {S. Gjessing and K. Nygaard},
	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},
	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},
	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},
	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}}

@inproceedings{Pasc86a,
	Author = {Geoffrey A. Pascoe},
	Booktitle = {Proceedings OOPSLA '86, ACM SIGPLAN Notices},
	Month = nov,
	Pages = {341--346},
	Title = {Encapsulators: {A} New Software Paradigm in {Smalltalk}-80},
	Volume = {21},
	Year = {1986}}

@inproceedings{Pash04a,
	Author = {Ilian Pashov and Matthias Riebisch},
	Booktitle = {Proceedings of the 11th IEEE International Conference and Workshop on the Engineering of Computer-Based Systems (ECBS'04)},
	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},
	Misc = {August 15-17},
	Month = apr,
	Pages = {177--190},
	Publisher = {Springer-Verlag},
	Series = {LNCS},
	Title = {Prototyping an Interactive Electronic Book System Using an Object-Oriented Approach},
	Volume = {322},
	Year = {1988}}

@inproceedings{Pate06a,
	Author = {Sandipkumar Patel and Yogesh Dandawate and John Kuriakose},
	Booktitle = {2nd Workshop on Empirical Studies in Reverse Engineering},
	Note = {http://softeng.polito.it/events/WESRE2006/},
	Publisher = {Politecnico di Torino},
	Title = {Architecture Recovery as first step in System Appreciation},
	Url = {http://softeng.polito.it/events/WESRE2006/03Dandawate.pdf},
	Year = {2006},
	Bdsk-Url-1 = {http://softeng.polito.it/events/WESRE2006/03Dandawate.pdf}}

@inproceedings{Pate92a,
	Author = {S. Patel, W. Chu, R. Baxter},
	Booktitle = {Proceedings of the 14th International Conference on Software Engineering},
	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{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}}

@inproceedings{Patt83a,
	Address = {Berkeley},
	Author = {David A. Patterson},
	Booktitle = {Proceedings of CS292R, Univ. of California},
	Month = apr,
	Title = {{Smalltalk} on {RISC}: Architectural Investigations},
	Year = {1983}}

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

@book{Paul91a,
	Author = {Lawrence Paulson},
	Isbn = {0-521-42225-6},
	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},
	Publisher = {Addison Wesley},
	Title = {The Capability Maturity Model: Guidelines for Improving the Software Process},
	Year = {1994}}

@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)},
	Month = sep,
	Publisher = {ACM Press},
	Title = {Execution Patterns for Visualizing Web Services},
	Year = {2006}}

@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},
	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},
	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{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},
	Month = jun,
	Pages = {116--134},
	Publisher = {Springer-Verlag},
	Series = {LNCS},
	Title = {Visualizing Reference Patterns for Solving Memory Leaks in {Java}},
	Volume = 1628,
	Year = {1999}}

@book{Pavl77a,
	Author = {T. Pavlidis},
	Publisher = {Springer-Verlag},
	Title = {Structural Pattern Recognition},
	Year = {1977}}

@inproceedings{Pawl01a,
	Author = {Renaud Pawlak and Lionel Seinturier and Laurence Duchien and Gerard Florin},
	Booktitle = {MetaLevel Architectures and Separation of Crosscutting Concerns},
	Editor = {Yonezawa, A. and Matsuoka, S.},
	Pages = {1--24},
	Publisher = {Springer-Verlag},
	Series = {Lecture Notes in Computer Science},
	Title = {{JAC}: {A} Flexible Solution for Aspect-Oriented Programming in {Java}},
	Volume = {2192},
	Year = {2001}}

@inproceedings{Pawl05a,
	Address = {New York, NY, USA},
	Author = {Renaud Pawlak},
	Booktitle = {AOMD '05: Proceedings of the 1st workshop on Aspect oriented middleware development},
	Doi = {10.1145/1101560.1101566},
	Location = {Grenoble, France},
	Publisher = {ACM Press},
	Title = {Spoon: annotation-driven program transformation --- the AOP case},
	Year = {2005},
	Bdsk-Url-1 = {http://dx.doi.org/10.1145/1101560.1101566}}

@book{Paws02a,
	Author = {Richard Pawson and Robert Matthews},
	Isbn = {0-470-84420-5},
	Publisher = {Wiley and Sons},
	Title = {Naked Objects},
	Year = {2002}}

@phdthesis{Paws04a,
	Author = {Richard Pawson},
	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},
	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},
	Publisher = {The MIT Press},
	Title = {The Implementation of Oaklisp},
	Year = {1991}}

@inproceedings{Pede89a,
	Author = {Claus H. Pedersen},
	Booktitle = {Proceedings OOPSLA '89, ACM SIGPLAN Notices},
	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},
	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},
	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},
	Publisher = {Wiley},
	Title = {Programming with VisiBroker},
	Year = {1998}}

@inproceedings{Pele90a,
	Address = {Warwick U.},
	Author = {Doron Peled and Amir Pnueli},
	Booktitle = {Proceedings ICALP '90},
	Editor = {M.S. Paterson},
	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},
	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},
	Month = jul,
	Pages = {513--534},
	Publisher = {Springer-Verlag},
	Series = {LNCS},
	Title = {Product Configurations --- An Application for Prototype Object Approach},
	Volume = {821},
	Year = {1994}}

@inproceedings{Penn87a,
	Author = {D. Jason Penney and Jacob Stein},
	Booktitle = {Proceedings OOPSLA '87, ACM SIGPLAN Notices},
	Month = dec,
	Pages = {111--117},
	Title = {Class Modification in the GemStone Object-Oriented {DBMS}},
	Volume = {22},
	Year = {1987}}

@inproceedings{Pente98a,
	Author = {R. Penteado and P.C. Masiero and A.F. do Prado and R.T.V. Braga},
	Booktitle = {Proceedings of WCRE '98},
	Note = {ISBN: 0-8186-89-67-6},
	Pages = {144--155},
	Publisher = {IEEE Computer Society},
	Title = {Reengineering of Legacy Systems Based on Transformation Using the Object-Oriented Paradigm},
	Year = {1998}}

@book{Pepp03a,
	Author = {K. Pepple and B. Down and D. Levy},
	Edition = {First},
	Isbn = {0-13-150263-8},
	Publisher = {Prentice Hall},
	Title = {Migrating to the Solaris Operating System},
	Year = {2003}}

@inproceedings{Peri09a,
	Abstract = {Enterprise Applications are complex software systems
                  that manipulate much persistent data and interact
                  with the user through a vast and complex user
                  interface. In particular applications written for
                  the Java 2 Platform, Enterprise Edition (J2EE) are
                  composed using various technologies such as
                  Enterprise Java Beans (EJB) or Java Server Pages
                  (JSP) that in turn rely on languages other than
                  Java, such as XML or SQL. In this heterogeneous
                  context applying existing reverse engineering and
                  quality assurance techniques developed for
                  object-oriented systems is not enough. Because those
                  techniques have been created to measure quality or
                  provide information about one aspect of J2EE
                  applications, they cannot properly measure the
                  quality of the entire system. We intend to devise
                  techniques and metrics to measure quality in J2EE
                  applications considering all their aspects and to
                  aid their evolution. Using software visualization we
                  also intend to inspect to structure of J2EE
                  applications and all other aspects that can be
                  investigate through this technique. In order to do
                  that we also need to create a unified meta-model
                  including all elements composing a J2EE
                  application.},
	Author = {Fabrizio Perin},
	Booktitle = {Proceedings of the PhD Symposium at the Working Conference on Reverse Engineering (WCRE 2009)},
	Location = {Lille, France},
	Medium = {2},
	Month = oct,
	Pages = {291-294},
	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.},
	Author = {Fabrizio Perin},
	Booktitle = {Proceedings of FAMOOSr at the Working Conference on Reverse Engineering (WCRE 2009)},
	Location = {Lille, France},
	Medium = {2},
	Month = oct,
	Pages = {20-24},
	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.},
	Author = {Fabrizio Perin and Tudor G\^{i}rba and Oscar Nierstrasz},
	Booktitle = {Proceedings of International Conference on Software Maintenance 2010},
	Location = {Timi\c{s}oara, Romania},
	Medium = {2},
	Month = sep,
	Note = {To appear},
	Title = {Recovery and Analysis of Transaction Scope from Scattered Information in Java Enterprise Applications},
	Year = {2010}}

@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.},
	Author = {Fabrizio Perin and Lukas Renggli and Jorge Ressia},
	Booktitle = {4th Workshop on FAMIX and Moose in Reengineering (FAMOOSr 2010)},
	Medium = {1},
	Note = {To appear},
	Title = {Ranking Software Artifacts},
	Year = {2010}}

@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.},
	Author = {Fabrizio Perin},
	Booktitle = {Proceedings of the 26th International Conference on Software Maintenance (ICSM 2010) (Tool Demonstration)},
	Location = {Timi\c{s}oara, Romania},
	Medium = {2},
	Month = sep,
	Note = {To appear},
	Title = {MooseJEE: A Moose Extension to Enable the assessment of JEAs},
	Year = {2010}}

@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.},
	Author = {Fabrizio Perin and Tudor G\^irba},
	Booktitle = {4th Workshop on FAMIX and Moose in Reengineering (FAMOOSr 2010)},
	Location = {Timi\c{s}oara, Romania},
	Medium = {1},
	Month = sep,
	Note = {To appear},
	Title = {Evaluating Code Duplication to Identify Rich Business Objects from Data Transfer Objects},
	Year = {2010}}

@inproceedings{Perk05a,
	Address = {New York, NY, USA},
	Author = {Perkins, Jeff H.},
	Booktitle = {PASTE '05: Proceedings of the 6th ACM SIGPLAN-SIGSOFT workshop on Program analysis for software tools and engineering},
	Doi = {10.1145/1108792.1108818},
	Isbn = {1-59593-239-9},
	Location = {Lisbon, Portugal},
	Pages = {111--114},
	Publisher = {ACM},
	Title = {Automatically generating refactorings to support API evolution},
	Year = {2005},
	Bdsk-Url-1 = {http://dx.doi.org/10.1145/1108792.1108818}}

@article{Perl82a,
	Author = {Alan J. Perlis},
	Journal = {ACM SIGPLAN Notices},
	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},
	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},
	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},
	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},
	Month = apr,
	Title = {Objects with Roles},
	Year = {1990},
	Bdsk-Url-1 = {http://dx.doi.org/10.1145/91474.91542}}

@inproceedings{Perr00,
	Address = {New York, NY, USA},
	Author = {Perry, Dewayne E. and Porter, Adam A. and Votta, Lawrence G.},
	Booktitle = {ICSE '00: Proceedings of the Conference on The Future of Software Engineering},
	Doi = {10.1145/336512.336586},
	Isbn = {1-58113-253-0},
	Location = {Limerick, Ireland},
	Pages = {345--355},
	Publisher = {ACM},
	Title = {Empirical studies of software engineering: a roadmap},
	Year = {2000},
	Bdsk-Url-1 = {http://dx.doi.org/10.1145/336512.336586}}

@inproceedings{Perr87a,
	Address = {Monterrey CA, USA},
	Author = {Dewayne E. Perry},
	Booktitle = {Proceedings of 9th ICSE '87},
	Month = mar,
	Pages = {61--69},
	Title = {Software Interconnection Models},
	Year = {1987}}

@book{Perr88a,
	Address = {Reading, Mass. Wokingham},
	Author = {Ronald H. Perrott},
	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},
	Pages = {2--12},
	Title = {The Inscape Environment},
	Year = {1989}}

@phdthesis{Perr91a,
	Address = {London},
	Author = {Nigel Perry},
	School = {Imperial College},
	Title = {The Implementation of Practical Functional Programming Languages},
	Type = {{Ph.D}. Thesis},
	Year = {1991}}

@unpublished{Perr91b,
	Author = {Nigel Perry},
	Note = {Massey University, Ngz},
	Title = {Non-Strict Fpm --- {A} High Performance Lazy Abstract Machine},
	Type = {Draft},
	Year = {1991}}

@unpublished{Perr91c,
	Author = {Nigel Perry},
	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},
	Month = oct,
	Number = {4},
	Pages = {40--52},
	Title = {Foundations for the Study of Software Architecture},
	Url = {http://www.bell-labs.com/user/dep/work/papers/swa-sen.ps},
	Volume = {17},
	Year = {1992},
	Bdsk-Url-1 = {http://www.bell-labs.com/user/dep/work/papers/swa-sen.ps}}

@book{Pers08a,
	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},
	Publisher = {Hasso Plattner Institut},
	Title = {An Introduction to {Seaside} --- Developing Web applications with {Squeak} and {Seaside}},
	Url = {http://www.hpi.uni-potsdam.de/hirschfeld/misc/seaside/index.html},
	Year = {2008},
	Bdsk-Url-1 = {http://www.hpi.uni-potsdam.de/hirschfeld/misc/seaside/index.html}}

@article{Pete77a,
	Author = {James L. Peterson},
	Doi = {10.1145/356698.356702},
	Journal = {ACM Computing Surveys},
	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},
	Publisher = {Prentice-Hall},
	Title = {Petri Nets Theory and the Modeling of Systems},
	Year = {1983}}

@inproceedings{Pete89a,
	Address = {New York, NY, USA},
	Author = {L. Peterson and N. Hutchinson and S. O'Malley and M. Abbott},
	Booktitle = {SOSP '89: Proceedings of the twelfth ACM symposium on Operating systems principles},
	Doi = {10.1145/74850.74860},
	Isbn = {0-89791-338-8},
	Pages = {91--101},
	Publisher = {ACM Press},
	Title = {RPC in the x-Kernel: evaluating new design techniques},
	Year = {1989},
	Bdsk-Url-1 = {http://dx.doi.org/10.1145/74850.74860}}

@article{Pete89b,
	Address = {New York, NY, USA},
	Author = {Larry L. Peterson and Nick C. Buchholz and Richard D. Schlichting},
	Doi = {10.1145/65000.65001},
	Issn = {0734-2071},
	Journal = {ACM Trans. Comput. Syst.},
	Number = {3},
	Pages = {217--246},
	Publisher = {ACM Press},
	Title = {Preserving and using context information in interprocess communication},
	Volume = {7},
	Year = {1989},
	Bdsk-Url-1 = {http://dx.doi.org/10.1145/65000.65001}}

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

@misc{PetitPetri,
	Abstract = {Petri nets are a well-known mathematical formalism
                  for modeling and reasoning about concurrency. This
                  web page provides an overview of a Squeak Etoys
                  implementation of a Petri net interpreter. First
                  download and install Etoys and download Petit Petri.
                  If you unzip the Petit Petri download you will find
                  several Etoys project files containing examples that
                  you can run. Simply start Etoys and drag and drop
                  any of these files onto the running Etoys images.},
	Author = {Oscar Nierstrasz and Markus Gaelli},
	Month = sep,
	Note = {http://scg.unibe.ch/download/petitpetri},
	Title = {Petit{Petri} --- A {Petri} Net Editor built with {Etoys}},
	Url = {http://scg.unibe.ch/download/petitpetri},
	Year = {2005},
	Bdsk-Url-1 = {http://scg.unibe.ch/download/petitpetri}}

@article{Petr95a,
	Author = {Marian Petre},
	Journal = {Communications of the ACM},
	Month = jun,
	Number = {6},
	Pages = {33--44},
	Title = {Why looking isn't always seeing: Readership skills and graphical programming},
	Volume = {38},
	Year = {1995}}

@book{Pfaf85a,
	Address = {New York},
	Editor = {G. Pfaff},
	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{Pfei06a,
	Address = {New York, NY, USA},
	Author = {Pfeiffer, J.-Hendrik and Gurd, John R.},
	Booktitle = {AOSD '06: Proceedings of the 5th international conference on Aspect-oriented software development},
	Doi = {10.1145/1119655.1119676},
	Isbn = {1-59593-300-X},
	Location = {Bonn, Germany},
	Pages = {146--157},
	Publisher = {ACM},
	Title = {Visualisation-based tool support for the development of aspect-oriented programs},
	Year = {2006},
	Bdsk-Url-1 = {http://dx.doi.org/10.1145/1119655.1119676}}

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

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

@inproceedings{Phil03a,
	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}}

@article{Phil87a,
	Author = {Iain Phillips},
	Journal = {Theoretical Computer Science},
	Pages = {241--284},
	Publisher = {North-Holland},
	Title = {Refusal Testing},
	Volume = {50},
	Year = {1987}}

@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{Pier00a,
	Author = {Benjamin C. Pierce and David N. Turner},
	Booktitle = {Proof, Language and Interaction: Essays in Honour of Robin Milner},
	Editor = {G. Plotkin and C. Stirling and M. Tofte},
	Isbn = {ISBN 0-262-16188-5},
	Month = may,
	Publisher = {{MIT} {Press}},
	Title = {Pict: {A} Programming Language Based on the Pi-Calculus},
	Year = {2000}}

@book{Pier02a,
	Author = {Benjamin Pierce},
	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{Pier86a,
	Author = {Kurt W. Piersol},
	Booktitle = {Proceedings OOPSLA '86, ACM SIGPLAN Notices},
	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},
	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},
	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},
	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},
	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},
	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},
	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},
	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},
	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},
	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},
	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},
	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},
	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},
	Publisher = {University of Glasgow},
	Title = {{PICT} User Manual Pict 3.6a},
	Year = {1995}}

@book{Pier95c,
	Author = {Benjamin Pierce},
	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},
	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},
	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}}

@misc{PierUnixSecurity,
	Author = {Lukas Renggli},
	Key = {PierUnixSecurity},
	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}}

@inproceedings{Piess09a,
	Author = {Dam, Mads and Jacobs, Bart and Lundblad, Andreas and Piessens, Frank},
	Booktitle = {ECOOP},
	Month = {jul},
	Publisher = {Springer-Verlag},
	Title = {Security Monitor Inlining for Multithreaded Java},
	Year = {2009}}

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

@book{Pilo05a,
	Author = {Dan Pilone},
	Publisher = {O'Reilly},
	Title = {UML 2.0},
	Year = {2005}}

@book{Pink97a,
	Author = {Steven Pinker},
	Publisher = {W. W. Norton},
	Title = {How the Mind Works},
	Year = {1997}}

@unpublished{Pinn92a,
	Author = {G. Michele Pinna and Axel Poign\'e},
	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,
	Author = {Toon Verwaest},
	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{Pins88a,
	Author = {Lewis J. Pinson and Richard S. Wiener},
	Publisher = {Addison Wesley},
	Title = {An Introduction to Object-Oriented Programming and {Smalltalk}},
	Year = {1988}}

@book{Pins91a,
	Author = {Lewis J. Pinson and Richard S. Wiener},
	Publisher = {Addison Wesley},
	Title = {Objective-C},
	Year = {1988}}

@techreport{Pint88a,
	Author = {Xavier Pintado and Dennis Tsichritzis},
	Editor = {D. Tsichritzis},
	Institution = {Centre Universitaire d'Informatique, University of Geneva},
	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},
	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},
	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},
	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},
	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},
	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},
	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},
	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},
	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},
	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},
	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},
	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},
	Pages = {321--349},
	Publisher = {Prentice-Hall},
	Title = {Gluons and the Cooperation between Software Components},
	Url = {http://scg.unibe.ch/archive/oosc/index.html},
	Year = {1995},
	Bdsk-Url-1 = {http://scg.unibe.ch/archive/oosc/index.html}}

@inproceedings{Pinz02a,
	Author = {Martin Pinzger and Michael Fischer and Harald Gall and Mehdi Jazayeri},
	Booktitle = {Proceedings of the 9th Working Conference on Reverse Engineering (WCRE 2002)},
	Doi = {10.1109/WCRE.2002.1173075},
	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},
	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)},
	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},
	Author = {Martin Pinzger and Harald Gall and Michael Fischer and Michele Lanza},
	Booktitle = {Proceedings of SoftVis 2005 (2nd ACM Symposium on Software Visualization)},
	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{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")},
	Month = jan,
	Number = {1},
	Pages = {43--53},
	Title = {Lessons Learned in Managing Object-Oriented Development},
	Volume = {10},
	Year = {1993}}

@techreport{Pium06a,
	Author = {Ian Piumarta},
	Institution = {Viewpoints Research Institute},
	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},
	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}}

@article{Plai08a,
	Author = {John Plaice and Blanca Mancilla and Gabriel Ditu},
	Doi = {10.1007/s11786-008-0043-9},
	Journal = {Mathematics in Computer Science},
	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}}

@article{Plai95a,
	Author = {Catherine Plaisant and David Carr and Ben Shneiderman},
	Journal = {IEEE Software},
	Month = mar,
	Pages = {21--32},
	Title = {Image-Browser Taxonomy and Guidelines for Designers},
	Year = {1995}}

@book{Plet96a,
	Author = {Jonathan Pletzke},
	Isbn = {0-471-16350-3},
	Publisher = {Wiley Computer Publishing},
	Title = {Advanced {Smalltalk}},
	Year = {1996}}

@inproceedings{Plev94a,
	Author = {John Pleviak and Andrew A. Chien},
	Booktitle = {Proceedings of OOPSLA '94},
	Pages = {324--340},
	Title = {Precise Concrete Type Inference for Object-Oriented Languages},
	Year = {1994}}

@inproceedings{Plos97a,
	Author = {R. Plosh},
	Booktitle = {IEEE Proceedings of the Joint Asia Pacific Software Engineering Conference (APSEC97/ICSC97)},
	Title = {Design by Contract for Python},
	Year = {1997}}

@book{Plot00a,
	Editor = {Gordon Plotkin, Colin Stirling and Mads Tofte},
	Publisher = {The MIT Press},
	Title = {Proof, Language and Interaction},
	Year = {2000}}

@techreport{Plot81a,
	Author = {Gordon Plotkin},
	Institution = {University of Aarhus, Denmark},
	Title = {A Structural Approach to Operational Semantics},
	Year = {1981}}

@inproceedings{Pluq06a,
	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,
	Author = {Fr\'ed\'eric Pluquet and Stefan Langerman and Antoine Marot and Roel Wuyts},
	Booktitle = {Proceedings of the Workshop on Algorithm Engineering and Experiments, ALENEX 2008, San Francisco, California, USA, January 19, 2008},
	Publisher = {ACM-SIAM},
	Title = {Implementing Partial Persistence in Object-Oriented Languages},
	Url = {http://www.siam.org/proceedings/alenex/2008/alx08_04pluquetf.pdf},
	Year = {2008},
	Bdsk-Url-1 = {http://www.siam.org/proceedings/alenex/2008/alx08_04pluquetf.pdf}}

@inproceedings{Pluq09a,
	Address = {New York, NY, USA},
	Author = {Pluquet, Fr\'{e}d\'{e}ric and Marot, Antoine and Wuyts, Roel},
	Booktitle = {DLS '09: Proceedings of the 5th symposium on Dynamic languages},
	Doi = {10.1145/1640134.1640145},
	Isbn = {978-1-60558-769-1},
	Location = {Orlando, Florida, USA},
	Pages = {69--78},
	Publisher = {ACM},
	Title = {Fast type reconstruction for dynamically typed programming languages},
	Year = {2009},
	Bdsk-Url-1 = {http://dx.doi.org/10.1145/1640134.1640145}}

@inproceedings{Pnue85a,
	Address = {Nafplion},
	Author = {Amir Pnueli},
	Booktitle = {Proceedings ICALP '85},
	Editor = {W. Brauer},
	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{Pomb94a,
	Author = {G. Pomberger and W. Pree},
	Booktitle = {Proceedings, Object-Oriented Methodologies and Systems},
	Editor = {E. Bertino and S. Urban},
	Pages = {96--107},
	Publisher = {Springer-Verlag},
	Series = {LNCS},
	Title = {Quantitative and Qualitative Aspects of Object-Oriented Software Development},
	Volume = {858},
	Year = {1994}}

@inproceedings{Poni06a,
	Abstract = {Successful software systems cope with complexity by
                  organizing classes into packages. However, a
                  particular organization may be neither
                  straightforward nor obvious for a given developer.
                  As a consequence, classes can be misplaced, leading
                  to duplicated code and ripple effects with minor
                  changes effecting multiple packages. We claim that
                  contextual information is the key to rearchitecture
                  a system. Exploiting contextual information, we
                  propose a technique to detect misplaced classes by
                  analyzing how client packages access the classes of
                  a given provider package. We define locality as a
                  measure of the degree to which classes reused by
                  common clients appear in the same package. We then
                  use locality to guide a simulated annealing
                  algorithm to obtain optimal placements of classes in
                  packages. The result is the identification of
                  classes that are candidates for relocation. We apply
                  the technique to three applications and validate the
                  usefulness of our approach via developer
                  interviews.},
	Author = {Laura Ponisio and Oscar Nierstrasz},
	Booktitle = {Proceedings of the 3rd Software Measurement European Forum 2006 (SMEF'06)},
	Cvs = {AlchemistSimulatedAnnealingSMEF06},
	Medium = {2},
	Pages = {91--103},
	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.},
	Author = {Laura Ponisio and Oscar Nierstrasz},
	Institution = {University of Bern, Institute of Applied Mathematics and Computer Sciences},
	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},
	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},
	Publisher = {ESPRIT},
	Title = {Reuse in Software Engineering},
	Year = {1991}}

@book{Pool99a,
	Author = {Rob Pooley and Perdita Stevens},
	Publisher = {Addison Wesley},
	Title = {Using UML, Software Engineering with Objects and Components},
	Year = {1999}}

@inproceedings{Pop05a,
	Address = {New York, NY, USA},
	Author = {Adrian Pop and Peter Fritzson},
	Booktitle = {AADEBUG'05: Proceedings of the sixth international symposium on Automated analysis-driven debugging},
	Doi = {10.1145/1085130.1085140},
	Isbn = {1-59593-050-7},
	Location = {Monterey, California, USA},
	Pages = {77--82},
	Publisher = {ACM Press},
	Title = {Debugging natural semantics specifications},
	Year = {2005},
	Bdsk-Url-1 = {http://dx.doi.org/10.1145/1085130.1085140}}

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

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

@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},
	Month = aug,
	Title = {Datenbank Impfstoffnebenwirkungen},
	Type = {Informatikprojekt},
	Url = {http://scg.unibe.ch/archive/projects/Port96a.pdf},
	Year = {1996},
	Bdsk-Url-1 = {http://scg.unibe.ch/archive/projects/Port96a.pdf}}

@inproceedings{Posh06a,
	Author = {Denys Poshyvanyk and Andrian Marcus and Giuliano Antoniol and Vaclav Rajlich},
	Booktitle = {Proceedings of the 2nd international conference on program comprehension (ICPC)},
	Location = {Athens, Greece},
	Publisher = {ACM Press},
	Title = {Combining Probabilistic Ranking and Latent Semantic Indexing for Feature Identification},
	Year = {2006}}

@inproceedings{Posh07a,
	Address = {Washington, DC, USA},
	Author = {Poshyvanyk, Denys and Marcus, Andrian},
	Booktitle = {ICPC '07: Proceedings of the 15th IEEE International Conference on Program Comprehension},
	Citeulike-Article-Id = {6609657},
	Doi = {10.1109/ICPC.2007.13},
	Isbn = {0-7695-2860-0},
	Pages = {37--48},
	Posted-At = {2010-02-01 02:27:22},
	Priority = {0},
	Publisher = {IEEE Computer Society},
	Title = {Combining Formal Concept Analysis with Information Retrieval for Concept Location in Source Code},
	Url = {http://dx.doi.org/10.1109/ICPC.2007.13},
	Year = {2007},
	Bdsk-Url-1 = {http://dx.doi.org/10.1109/ICPC.2007.13}}

@article{Posh09a,
	Author = {Poshyvanyk, Denys and Marcus, Andrian and Ferenc, Rudolf and Gyim\'{o}thy, Tibor},
	Journal = {Empirical Software Engineering},
	Month = feb,
	Number = 1,
	Pages = {5--32},
	Title = {Using Information Retrieval based Coupling Measures for Impact Analysis},
	Volume = 14,
	Year = {2009}}

@inproceedings{Pota04a,
	Address = {Washington, DC, USA},
	Author = {Alex Potanin and James Noble and Robert Biddle},
	Booktitle = {Proceedings of the 2004 Australian Software Engineering Conference (ASWEC'04)},
	Isbn = {0-7695-2089-8},
	Pages = {251},
	Publisher = {IEEE Computer Society},
	Title = {Snapshot Query-Based Debugging},
	Year = {2004}}

@article{Pota05a,
	Author = {Alex Potanin and James Noble and Marcus Frean and Robert Biddle},
	Doi = {10.1145/1060710.1060716},
	Issn_Isbn = {ISSN 0001-0782},
	Journal = {Communications of the ACM},
	Month = may,
	Number = {5},
	Pages = {99--103},
	Publisher = {ACM Press},
	Title = {Scale-free Geometry in {OO} Programs},
	Volume = {48},
	Year = {2005},
	Bdsk-Url-1 = {http://dx.doi.org/10.1145/1060710.1060716}}

@article{Poth07a,
	Address = {New York, NY, USA},
	Author = {Guillaume Pothier and \'Eric Tanter and Jos\'e Piquer},
	Doi = {10.1145/1297105.1297067},
	Issn = {0362-1340},
	Journal = {Proceedings of the 22nd Annual SCM SIGPLAN Conference on Object-Oriented Programming Systems, Languages and Applications (OOPSLA'07)},
	Number = {10},
	Pages = {535--552},
	Publisher = {ACM Press},
	Title = {Scalable Omniscient Debugging},
	Volume = {42},
	Year = {2007},
	Bdsk-Url-1 = {http://dx.doi.org/10.1145/1297105.1297067}}

@inproceedings{Poth08a,
	Address = {Fortaleza, Cear{\'a}, Brazil},
	Author = {Guillaume Pothier and {\'E}ric Tanter},
	Booktitle = {Proceedings of the 23rd {ACM} Symposium on Applied Computing (SAC'08)},
	Doi = {10.1145/1363686.1363753},
	Month = mar,
	Pages = {266--270},
	Software = {tod},
	Title = {Extending Omniscient Debugging to Support Aspect-Oriented Programming},
	Url = {http://pleiad.dcc.uchile.cl/papers/2008/pothierTanter-sac2008.pdf},
	Volume = 1,
	Year = {2008},
	Bdsk-Url-1 = {http://pleiad.dcc.uchile.cl/papers/2008/pothierTanter-sac2008.pdf},
	Bdsk-Url-2 = {http://dx.doi.org/10.1145/1363686.1363753}}

@article{Poth09a,
	Address = {Los Alamitos, CA, USA},
	Author = {Guillaume Pothier and {\'E}ric Tanter},
	Doi = {10.1109/MS.2009.169},
	Issn = {0740-7459},
	Journal = {IEEE Software},
	Number = {6},
	Pages = {78-85},
	Publisher = {IEEE Computer Society},
	Title = {Back to the Future: Omniscient Debugging},
	Volume = {26},
	Year = {2009},
	Bdsk-Url-1 = {http://dx.doi.org/10.1109/MS.2009.169}}

@article{Pott96a,
	Author = {Colin Potts},
	Journal = {IEEE Software},
	Month = sep,
	Number = {9},
	Pages = {19--28},
	Publisher = {IEEE Computer Society},
	Title = {{Software}-{Engineering} {Research} {Revisited}},
	Year = {1993}}

@inproceedings{Pott98a,
	Address = {Washington, DC, USA},
	Author = {J. Potter and J. Noble and D. Clarke},
	Booktitle = {Proceedings of the Australian Software Engineering Conference (ASWEC'98)},
	Isbn = {0-8186-9187-5},
	Pages = {80},
	Publisher = {IEEE Computer Society},
	Title = {The Ins and Outs of Objects},
	Year = {1998}}

@inproceedings{Pour07a,
	Author = {Frederic Pourraz and Herve Verjus},
	Booktitle = {International Conference on Software Engineering Advances (ICSEA 2007)},
	Publisher = {IEEE Computer Society},
	Title = {Diapason: an Engineering Environment for Designing, Enacting and Evolving Service-Oriented Architectures},
	Year = {2007}}

@inproceedings{Pour07b,
	Author = {Frederic Pourraz and Herve Verjus},
	Booktitle = {International Conference on Software Engineering Advances (ICSEA 2007)},
	Pages = {23-30},
	Publisher = {IEEE Computer Society},
	Title = {Diapason: an Engineering Environment for Designing, Enacting and Evolving Service-Oriented Architectures},
	Year = {2007}}

@inbook{Pour08a,
	Author = {Frederic Pourraz and Herve Verjus},
	Booktitle = {Enterprise Information Systems VIII},
	Pages = {269-280},
	Publisher = {Springer-Verlag},
	Title = {Managing Service-Based EAI Architectures Evolution Using a Formal Architecture-Centric Approach},
	Year = {2008}}

@book{Powe99a,
	Author = {Bruce Powel Douglass},
	Edition = {Second},
	Publisher = {Addison Wesley},
	Title = {Real-Time {UML}},
	Year = {1999}}

@inproceedings{Pras90a,
	Address = {Warwick U.},
	Author = {Sanjiv Prasad and Alessandro Giacalone and Prateek Mishra},
	Booktitle = {Proceedings ICALP '90},
	Editor = {M.S. Paterson},
	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},
	Pages = {338--358},
	Publisher = {Springer-Verlag},
	Series = {LNCS},
	Title = {A Calculus of Broadcasting Systems},
	Volume = {493},
	Year = {1991}}

@inproceedings{Prat04a,
	Address = {New York, NY, USA},
	Author = {Polyvios Pratikakis and Jaime Spacco and Michael Hicks},
	Booktitle = {OOPSLA '04: Proceedings of the 19th annual ACM SIGPLAN Conference on Object-oriented programming, systems, languages, and applications},
	Doi = {10.1145/1028976.1028994},
	Isbn = {1-58113-831-9},
	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}}

@techreport{Prec00a,
	Author = {Lutz Prechelt and Guido Malpohl and Michael Philippsen},
	Institution = {Universit{\"a}t Karlsruhe, Fakult{\"a}t f{\"u}r Informatik},
	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},
	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{Prec98a,
	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}}

@inproceedings{Pree94a,
	Address = {Bologna, Italy},
	Author = {Wolfgang Pree},
	Booktitle = {Proceedings ECOOP '94},
	Editor = {M. Tokoro and R. Pareschi},
	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},
	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},
	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},
	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},
	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},
	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},
	Publisher = {McGraw-Hill},
	Title = {Software Engineering: A Practitioner's Approach},
	Year = {1994}}

@book{Pres99a,
	Author = {W. Curtis Preston},
	Publisher = {O'Reilly},
	Title = {Unix Backup and Recovery},
	Year = {1999}}

@misc{Prev,
	Author = {Klaus Wuestefeld},
	Key = {Prev},
	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},
	Month = jul,
	Pages = {89--105},
	Title = {Versioning Issues for Hypertext Systems},
	Type = {Object Management},
	Year = {1990}}

@inproceedings{Pric90a,
	Author = {R.T. Price and R. Girardi},
	Booktitle = {Proceedings of TOOLS '90 on Technology on O.O. Languages and Systems},
	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},
	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},
	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},
	Month = may,
	Number = {5},
	Pages = {88--97},
	Title = {{Implementing Faceted Classification for Software Reuse}},
	Volume = {34},
	Year = {1991}}

@inproceedings{Priv05a,
	Author = {Jean Privat and Roland Ducournau},
	Booktitle = {Proceedings of LMO'05},
	Pages = {17--32},
	Publisher = {Hermes},
	Title = {Raffinement de classes dans les languages \`a objects statiquement typ\'es},
	Year = {2005}}

@techreport{Proe89a,
	Abstract = {The aim of the ITHACA project is to develop an
                  integrated application development and support
                  environment based on the object-oriented programming
                  approach. The object-oriented approach of the type
                  envisaged in this project incorporates a wide range
                  of features, such as data encapsulation, data
                  abstraction and inheritance, which promote high
                  application quality and reusability on a large
                  scale.},
	Author = {Anna-Kristin Pr{\"o}frock and Dennis Tsichritzis and Gerhard M{\"u}ller and Martin Ader},
	Editor = {D. Tsichritzis},
	Institution = {Centre Universitaire d'Informatique, University of Geneva},
	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},
	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},
	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},
	Month = apr,
	Number = {4},
	Title = {Workshop Proceedings},
	Volume = {24},
	Year = {1989}}

@misc{PrographCPX,
	Journal = {MACTECH},
	Key = {PrographCPX},
	Number = {11},
	Title = {Prograph {CPX} --- A Tutorial},
	Url = {http://www.mactech.com/articles/mactech/Vol.10/10.11/PrographCPXTutorial/},
	Volume = {10},
	Bdsk-Url-1 = {http://www.mactech.com/articles/mactech/Vol.10/10.11/PrographCPXTutorial/}}

@misc{Prothon,
	Key = {Prothon},
	Note = {http://www.prothon.org/},
	Title = {Prothon Home Page}}

@book{Puec96a,
	Address = {Grenoble, France},
	Editor = {Claude Peuch and Rudiger Reischuk},
	Isbn = {3-540-60922-9},
	Month = feb,
	Publisher = {Springer-Verlag},
	Series = {LNCS},
	Title = {Proceedings {STACS}'96},
	Volume = {1046},
	Year = {1996}}

@inproceedings{Pulv01a,
	Author = {E.Pulverm{\"u}ller and A. Speck and J.O.Coplien and M. D'Hondt and W.DeMeuter},
	Booktitle = {Proceedings of the European Conference on Object-Oriented Programming, ECOOP 2001},
	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},
	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},
	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},
	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},
	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},
	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},
	Month = jan,
	Number = {1},
	Pages = {27--47},
	Title = {Integrating an Object-Server with Other Worlds},
	Volume = {5},
	Year = {1987}}

@article{Purv83a,
	Author = {R. Purvy and J. Farrel and P. Klose},
	Journal = {ACM TOOIS},
	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},
	Number = {15},
	Pages = {4765--4782},
	Title = {A High Speed, High Capacity Homology Matrix: Zooming through {SV40} and Polyoma},
	Volume = {10},
	Year = {1982}}

@misc{PyPy,
	Key = {pypy},
	Title = {{PyPy}, an implementation of {Python} in {Python}},
	Url = {http://codespeak.net/pypy},
	Bdsk-Url-1 = {http://codespeak.net/pypy}}

@misc{Python,
	Key = {Python},
	Note = {http://www.python.org},
	Title = {Python}}

@inproceedings{Qian96a,
	Address = {Linz, Austria},
	Author = {Zhenyu Qian and Bernd Krieg-Br{\"u}ckner},
	Booktitle = {Proceedings ECOOP '96},
	Editor = {P. Cointe},
	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},
	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},
	Month = dec,
	Title = {Sourcetalk User Manual},
	Type = {Setup and User Guide},
	Url = {http://scg.unibe.ch/archive/projects/Quad08b.pdf},
	Year = {2008},
	Bdsk-Url-1 = {http://scg.unibe.ch/archive/projects/Quad08b.pdf}}

@inproceedings{Quan06a,
	Author = {Jochen Quante and Rainer Koschke},
	Booktitle = {Proceedings 10th European Conference on Software Maintenance and Reengineering (CSMR'06)},
	Doi = {10.1109/CSMR.2006.24},
	Pages = {81--90},
	Publisher = {IEEE Computer Society Press},
	Title = {Dynamic Object Process Graphs},
	Year = {2006},
	Bdsk-Url-1 = {http://dx.doi.org/10.1109/CSMR.2006.24}}

@inproceedings{Quan07a,
	Address = {Washington, DC, USA},
	Author = {Jochen Quante and Rainer Koschke},
	Booktitle = {Proceedings of the 14th Working Conference on Reverse Engineering (WCRE'07)},
	Doi = {10.1109/WCRE.2007.24},
	Isbn = {0-7695-3034-6},
	Pages = {219--228},
	Publisher = {IEEE Computer Society},
	Title = {Dynamic Protocol Recovery},
	Year = {2007},
	Bdsk-Url-1 = {http://dx.doi.org/10.1109/WCRE.2007.24}}

@article{Quan08a,
	Address = {New York, NY, USA},
	Author = {Jochen Quante and Rainer Koschke},
	Doi = {10.1016/j.jss.2007.06.005},
	Issn = {0164-1212},
	Journal = {Journal of Systems and Software},
	Number = {4},
	Pages = {481--501},
	Publisher = {Elsevier Science Inc.},
	Title = {Dynamic object process graphs},
	Volume = {81},
	Year = {2008},
	Bdsk-Url-1 = {http://dx.doi.org/10.1016/j.jss.2007.06.005}}

@inproceedings{Quan08b,
	Address = {Washington, DC, USA},
	Author = {Jochen Quante},
	Booktitle = {Proceedings of the 16th International Conference on Program Comprehension (ICPC'08)},
	Doi = {10.1109/ICPC.2008.15},
	Isbn = {978-0-7695-3176-2},
	Pages = {73--82},
	Publisher = {IEEE Computer Society},
	Title = {Do Dynamic Object Process Graphs Support Program Understanding? - A Controlled Experiment},
	Year = {2008},
	Bdsk-Url-1 = {http://dx.doi.org/10.1109/ICPC.2008.15}}

@article{Quar85a,
	Author = {J.S. Quarterman and A. Silberschatz and James L. Peterson},
	Journal = {ACM Computing Surveys},
	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},
	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{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},
	Month = sep,
	Publisher = {ESPRIT},
	Title = {Reuse},
	Year = {1991}}

@misc{RIFE,
	Key = {RIFE},
	Note = {https://rife.dev.java.net},
	Title = {{RIFE}}}

@misc{RUP,
	Author = {IBM},
	Key = {RUP},
	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)},
	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)},
	Pages = {635--647},
	Publisher = {Springer-Verlag},
	Series = {LNCS},
	Title = {What Do You Get From a Pi-calculus Semantics?},
	Url = {ftp://dse.doc.ic.ac.uk/dse-papers/darwin/parle94.ps.gz},
	Volume = 817,
	Year = {1994},
	Bdsk-Url-1 = {ftp://dse.doc.ic.ac.uk/dse-papers/darwin/parle94.ps.gz}}

@inproceedings{Rade99a,
	Author = {Ansgar Radermacher},
	Booktitle = {AGTIVE},
	Pages = {111--126},
	Title = {Support for Design Patterns Through Graph Transformation Tools},
	Url = {http://citeseer.nj.nec.com/radermacher98support.html},
	Year = {1999},
	Bdsk-Url-1 = {http://citeseer.nj.nec.com/radermacher98support.html}}

@article{Raed85a,
	Address = {Los Alamitos, CA, USA},
	Author = {G. Raeder},
	Doi = {10.1109/MC.1985.1662971},
	Issn = {0018-9162},
	Journal = {Computer},
	Number = {8},
	Pages = {11--25},
	Publisher = {IEEE Computer Society Press},
	Title = {A Survey of Current Graphical Programming Techniques},
	Volume = {18},
	Year = {1985},
	Bdsk-Url-1 = {http://dx.doi.org/10.1109/MC.1985.1662971}}

@misc{Rain99a,
	Key = {RC},
	Title = {RainCode},
	Url = {www.raincode.com},
	Bdsk-Url-1 = {www.raincode.com}}

@article{Raja03a,
	Address = {New York, NY, USA},
	Author = {Hridesh Rajan and Kevin Sullivan},
	Doi = {10.1145/949952.940111},
	Issn = {0163-5948},
	Journal = {SIGSOFT Softw. Eng. Notes},
	Number = {5},
	Pages = {297--306},
	Publisher = {ACM},
	Title = {Eos: instance-level aspects for integrated system design},
	Volume = {28},
	Year = {2003},
	Bdsk-Url-1 = {http://dx.doi.org/10.1145/949952.940111}}

@inproceedings{Raja05a,
	Author = {Hridesh Rajan and Kevin J. Sullivan},
	Booktitle = {Proceedings International Conference on Software Engineering (ICSE 2005)},
	Pages = {59--68},
	Title = {Classpects: Unifying Aspects- and Object-Oriented Language Design},
	Year = {2005}}

@inproceedings{Raje89a,
	Address = {Nottingham},
	Author = {Rajendra K. Raj and Henry M. Levy},
	Booktitle = {Proceedings ECOOP '89},
	Editor = {S. Cook},
	Misc = {July 10-14},
	Month = jul,
	Pages = {3--24},
	Publisher = {Cambridge University Press},
	Title = {A Compositional Model for Software Reuse},
	Year = {1989}}

@article{Rajl00a,
	Author = {Vaclav Rajlich and Keith Bennett},
	Journal = {IEEE Computer},
	Number = {7},
	Pages = {66--71},
	Title = {A Staged Model for the Software Life Cycle},
	Volume = {33},
	Year = {2000}}

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

@article{Rajl97a,
	Author = {Rajlich, V.},
	Doi = {10.1109/ICSM.1997.624234},
	Journal = {Software Maintenance, 1997. Proceedings., International Conference on},
	Month = {oct},
	Pages = {84-91},
	Title = {A model for change propagation based on graph rewriting},
	Year = {1997},
	Bdsk-Url-1 = {http://dx.doi.org/10.1109/ICSM.1997.624234}}

@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},
	Pages = {122--138},
	Publisher = {Springer-Verlag},
	Series = {LNCS},
	Title = {{DPL} to Express a Concurrency Control Using Transaction and Object Semantics},
	Volume = {791},
	Year = {1994}}

@inproceedings{Rama06a,
	Author = {Roshan Ramachandran and David J. Pearce and Ian Welch},
	Booktitle = {In Proceedings of the Workshop on Aspects, Components, and Patterns for Infrastructure Software (ACP4IS)},
	Title = {AspectJ for Multilevel Security},
	Year = {2006}}

@article{Rami00a,
	Address = {Los Alamitos, CA, USA},
	Author = {Juan F. Ramil and Meir M. Lehman},
	Doi = {10.1109/ICSM.2000.883036},
	Issn = {1063-6773},
	Journal = {Software Maintenance, IEEE International Conference on},
	Pages = {163},
	Publisher = {IEEE Computer Society},
	Title = {Metrics of Software Evolution as Effort Predictors - A Case Study},
	Volume = {0},
	Year = {2000},
	Bdsk-Url-1 = {http://dx.doi.org/10.1109/ICSM.2000.883036}}

@inproceedings{Rami01a,
	Address = {Los Alamitos CA},
	Author = {Juan Ramil and Manny Lehman},
	Booktitle = {Proceedings of the 7th International Symposium on Software Metrics (METRICS '01)},
	Pages = {199--209},
	Publisher = {IEEE Computer Society Press},
	Title = {Defining and Applying Metrics in the Context of Continuing Software Evolution},
	Year = {2001}}

@inproceedings{Rang02a,
	Author = {Ranganathan, Anand and Campbell, Roy H.},
	Booktitle = {WMC'02: Proceedings of the 2nd International workshop on Mobile commerce},
	Doi = {10.1145/570705.570708},
	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,
	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},
	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{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},
	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},
	Month = feb,
	Publisher = {Springer-Verlag},
	Series = {LNCS},
	Title = {Proceedings {CAAP}'92},
	Volume = {581},
	Year = {1992}}

@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,
	Address = {New York, NY, USA},
	Author = {Jef Raskin},
	Isbn = {0-201-37937-6},
	Publisher = {ACM Press/Addison-Wesley Publishing Co.},
	Title = {The humane interface: new directions for designing interactive systems},
	Year = {2000}}

@book{Rasm99a,
	Author = {Daniel W. Rasmus},
	Publisher = {Cambridge University Press},
	Title = {Rethinking Smart Objects},
	Year = {1999}}

@inproceedings{Rath93,
	Address = {New York, NY, USA},
	Author = {Elizabeth D. Rather and Donald R. Colburn and Charles H. Moore},
	Booktitle = {HOPL-II: The second ACM SIGPLAN conference on History of programming languages},
	Isbn = {0-89791-570-4},
	Location = {Cambridge, Massachusetts, United States},
	Pages = {177--199},
	Publisher = {ACM Press},
	Title = {The evolution of Forth},
	Year = {1993}}

@mastersthesis{Rati03a,
	Author = {Daniel Ra\c{t}iu},
	Month = sep,
	School = {Faculty of Automatics and Computer Science, "Politehnica" University of Timi\c{s}oara},
	Title = {Time-Based Detection Strategies},
	Year = {2003}}

@inproceedings{Rati06a,
	Address = {Los Alamitos CA},
	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},
	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,
	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},
	Author = {Daniel Ra\c{t}iu and Florian Deissenboeck},
	Booktitle = {Proceedings of the 15th International Conference on Program Comprehension, (ICPC 2007)},
	Pages = {91--102},
	Publisher = {IEEE Computer Society},
	Title = {From Reality to Programs and (Not Quite) Back Again},
	Year = {2007}}

@article{Rau00a,
	Author = {Andreas Rau},
	Journal = {``Business Briefing: Global Automotive Manufacturing and Technlogy'', World Market Research Center},
	Month = oct,
	Title = {Potential and Challenges for Model-based Development in the Automotive Industry},
	Year = {2000}}

@article{Raun07a,
	Author = {Allan Raundahl Gregersen and Bo N\o rregaard J\o rgensen},
	Journal = {Journal of Object Technology},
	Number = {6},
	Pages = {67--89},
	Title = {Extending eclipse RCP with dynamic update of active plug-ins},
	Volume = {6},
	Year = {2007}}

@book{Ravi03a,
	Address = {Boca Raton, FL, USA},
	Author = {C. Ravindranath Pandian},
	Isbn = {0849316618},
	Publisher = {CRC Press, Inc.},
	Title = {Software Metrics: A Guide to Planning, Analysis, and Application},
	Year = {2003}}

@book{Raym95a,
	Author = {Kerry Raymond},
	Publisher = {Center for Information Technology,University of Queesland, Australia},
	Title = {Reference model of Open Distributed Processing ({RM}-{ODP}):Introduction {RM}-{ODP} Tutorial},
	Url = {http://www.dstc.edu.au/papers/icodp95.ps.gz},
	Year = {1995},
	Bdsk-Url-1 = {http://www.dstc.edu.au/papers/icodp95.ps.gz}}

@inproceedings{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{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{Raz92a,
	Address = {Vancouver, BC},
	Author = {Yoav Raz},
	Booktitle = {Proceedings of the 18th VLDB Conference},
	Title = {The Principle of Commitment Ordering, or, Guaranteeing Serializability in a Heterogeneous Environment of Multiple Autonomous Resource Managers Using Atomic Commitment},
	Year = {1992}}

@article{Rebe06a,
	Author = {D. Rebernak and M. Mernik and P. R. Henriques and M. J. V. Pereira.},
	Journal = {Electr. Notes Theor. Comput. Sci.},
	Number = {2},
	Pages = {37--53},
	Title = {AspectLISA: An aspect-oriented compiler construction system based on attribute grammars},
	Volume = {164},
	Year = {2006}}

@article{Rech07a,
	Author = {J\"{o}rg Rech and Waldemar Sch\"{a}fer},
	Doi = {10.1145/1234741.1234766},
	Journal = {SIGSOFT Softw. Eng. Notes},
	Number = {2},
	Pages = {1--3},
	Publisher = {ACM},
	Title = {Visual support of software engineers during development and maintenance},
	Volume = {32},
	Year = {2007},
	Bdsk-Url-1 = {http://dx.doi.org/10.1145/1234741.1234766}}

@inproceedings{Redd88a,
	Address = {New York, NY, USA},
	Author = {Uday Reddy},
	Booktitle = {LFP '88: Proceedings of the 1988 ACM conference on LISP and functional programming},
	Doi = {10.1145/62678.62721},
	Isbn = {0-89791-273-X},
	Location = {Snowbird, Utah, United States},
	Pages = {289--297},
	Publisher = {ACM Press},
	Title = {Objects as closures: abstract semantics of object-oriented languages},
	Year = {1988},
	Bdsk-Url-1 = {http://dx.doi.org/10.1145/62678.62721}}

@inproceedings{Redm00a,
	Author = {Barry Redmond and Vinny Cahill},
	Booktitle = {Proceedings of European Conference on Object-Oriented Programming, workshop on Reflection and Meta-Level Architectures},
	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},
	Pages = {205--230},
	Publisher = {Springer-Verlag},
	Title = {Supporting Unanticipated Dynamic Adaptation of Application Behaviour},
	Volume = {2374},
	Year = {2002}}

@article{Reed88a,
	Author = {J. Reed and R.T. Yeh},
	Journal = {ACM TOPLAS},
	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},
	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},
	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},
	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}}

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

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

@article{Reic87a,
	Author = {J.G. Reich and W. Meiske},
	Journal = {Comput. Appl. Biosci.},
	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}}

@phdthesis{Reid80a,
	Author = {B.K. Reid},
	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},
	Publisher = {Addison Wesley},
	Title = {PostScript Language},
	Year = {1988}}

@inproceedings{Reil97a,
	Abstract = {Network and system maintenance personnel are
                  increasingly mobile. This creates a potential market
                  for a network, system and service management
                  terminal that is highly mobile, which would
                  supplement existing network and system management
                  solutions. This paper presents a generic
                  architectural solution for this problem based on a
                  highly scalable and network-centric approach to
                  development of network management applications.
                  Although the specific focus is on network management
                  solutions, the results are generally applicable to
                  many other types of applications as well. Some
                  details and experiences from an actual
                  implementation are described, using the Nokia 9000
                  Communicator and IBM Webbin' CMIP as the enabling
                  technologies. Areas for future research are also
                  explored.},
	Author = {James Reilly and Petri Niska and Luca Deri and Dieter Gantenbein},
	Booktitle = {6th International WWW Conference},
	Brokenurl = {http://www.zurich.ibm.com/~lde/MobilePaper/},
	Month = apr,
	Pages = {(To appear)},
	Title = {Enabling Mobile Network Managers},
	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{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},
	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}}

@article{Reis85a,
	Author = {S.P. Reiss},
	Journal = {IEEE Transactions on Software Engineering},
	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},
	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},
	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},
	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},
	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.},
	Pages = {395--402},
	Title = {The Use of various Properties of Amino Acids in Color and Monochrome Dot-Matrix Analyses for Protein Homologies},
	Volume = {4},
	Year = {1988}}

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

@book{Reis91a,
	Author = {Martin Reiser},
	Isbn = {0-201-54422-9},
	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},
	Publisher = {ACM Press},
	Title = {Programming in Oberon --- Steps beyond Pascal and Modula},
	Year = {1992}}

@article{Reis95a,
	Author = {Steven P. Reiss},
	Bibsource = {DBLP, http://dblp.uni-trier.de},
	Journal = {J. Vis. Lang. Comput.},
	Number = {3},
	Pages = {299-323},
	Title = {An Engine for the {3D} Visualization of Program Information},
	Volume = {6},
	Year = {1995}}

@proceedings{Reis97a,
	Address = {Lubeck, Germany},
	Booktitle = {Proceedings of the 14th Annual Symposium on Theoretical Aspects of Computer Science, STACS '97},
	Editor = {Rudiger Reischuck and Michel Morvan},
	Isbn = {3-540-62616-6},
	Month = feb,
	Publisher = {Springer-Verlag},
	Series = {LNCS},
	Title = {Theoretical aspects of Computer Science},
	Volume = {1200},
	Year = {1997}}

@inbook{Remy94a,
	Author = {Didier R{\'e}my},
	Booktitle = {Theoretical Aspects Of Object-Oriented Programming. Types, Semantics and Language Design},
	Chapter = 10,
	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,
	Address = {Vancouver, BC, Canada},
	Author = {Xiaoxia Ren and Fenil Shah and Frank Tip and Barbara Ryder	and Ophelia Chesley},
	Booktitle = {Object-Oriented Programming Systems, Languages, and	Applications (OOPSLA 2004)},
	Month = {oct},
	Pages = {432--448},
	Title = {Chianti: A tool for change impact analysis of {J}ava programs},
	Year = {2004}}

@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},
	Note = {http://smallwiki.unibe.ch/smallwiki},
	Title = {{SmallWiki}: Collaborative Content Management},
	Type = {Informatikprojekt},
	Url = {http://scg.unibe.ch/archive/projects/Reng03a.pdf},
	Year = {2003},
	Bdsk-Url-1 = {http://scg.unibe.ch/archive/projects/Reng03a.pdf}}

@mastersthesis{Reng06a,
	Abstract = {Developing applications that end users can customize
                  is a challenge, since end users are domain experts
                  but still have concrete requirements. In this master
                  thesis we present how we used a meta-driven approach
                  to support the end user customization of Web
                  applications. We present Magritte, a recursive
                  meta-data meta-model integrated into the Smalltalk
                  reflective meta-model. The adaptive model of
                  Magritte enables to not only describe existing
                  classes but also let end users build their own
                  meta-models on the fly. Further on we describe how
                  meta-interpreters automatically build views,
                  reports, validating editors and persistency
                  mechanisms. As a complete example of how we applied
                  a meta-model to a Web application we present Pier,
                  the second version of a fully object-oriented
                  implementation of a content management system and
                  Wiki engine. Pier is implemented with objects from
                  the top to the bottom and is designed to be
                  customizable to accommodate new needs. The
                  integration of a powerful meta-description layer
                  makes it a breeze to extend the running system with
                  new functionality without having to patch the core
                  engine. We describe the lessons learned from using
                  the Magritte meta-model to build applications. Both
                  projects described in this thesis are open source
                  and can be downloaded from the Web site of the
                  author.},
	Author = {Lukas Renggli},
	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{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.},
	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},
	Medium = {2},
	Pages = {207--221},
	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},
	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.},
	Author = {Lukas Renggli and Oscar Nierstrasz},
	Doi = {10.1016/j.cl.2008.06.001},
	Journal = {Journal of Computer Languages, Systems and Structures},
	Medium = {2},
	Misc = {was: Reng08a},
	Month = apr,
	Number = {1},
	Pages = {21--30},
	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},
	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},
	Location = {Brest, France},
	Medium = {2},
	Pages = {107--113},
	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{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.},
	Author = {Lukas Renggli and Tudor G\^irba and Oscar Nierstrasz},
	Booktitle = {Proceedings of the 24th European Conference on Object-Oriented Programming (ECOOP'10)},
	Doi = {10.1007/978-3-642-14107-2_19},
	Editor = {Theo D'Hondt},
	Isbn = {978-3-642-14106-5},
	Medium = {2},
	Pages = {380--404},
	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{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}}

@article{Repp04a,
	Author = {Tracy Reppert},
	Journal = {Better Software},
	Month = jul,
	Publisher = {Software Quality Engineering},
	Title = {Don\'t just break software. Make software.},
	Url = {http://www.industriallogic.com/papers/storytest.pdf},
	Year = {2004},
	Bdsk-Url-1 = {http://www.industriallogic.com/papers/storytest.pdf}}

@inproceedings{Repp06a,
	Author = {John Reppy and Aaron Turon},
	Booktitle = {International Workshop on Foundations and Developments of Object-Oriented Languages},
	Title = {A Foundation for Trait-based Metaprogramming},
	Year = {2006}}

@inproceedings{Repp07a,
	Author = {John Reppy and Aaron Turon},
	Booktitle = {Proceedings of European Conference on Object-Oriented Programming (ECOOP'2007)},
	Title = {Metaprogramming with Traits},
	Year = {2007}}

@inproceedings{Repp91a,
	Address = {Toronto},
	Author = {John H. Reppy},
	Booktitle = {ACM SIGPLAN '91 Conference on Programming Language Design and Implementation, SIGPLAN Notices},
	Month = jun,
	Number = 6,
	Pages = {293--305},
	Title = {{CML}: {A} Higher-Order Concurrent Language},
	Volume = 26,
	Year = {1991}}

@book{Repp99a,
	Author = {John H. Reppy},
	Publisher = {Cambridge University Press},
	Title = {Concurrent Programming in ML},
	Year = {1999}}

@inproceedings{Reps97a,
	Author = {Thomas Reps and Thomas Ball and Manuvir Das and James Larus},
	Booktitle = {Proceedings of ESEC/FSE '97, LNCS 1301},
	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},
	Publisher = {Addison-Wesley},
	Title = {SSL and TLS Designing and Building Secure Systems},
	Year = {2006}}

@book{Resn94a,
	Author = {Mitchel Resnick},
	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},
	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},
	Location = {Brest, France},
	Medium = {2},
	Pages = {101--106},
	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{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)},
	Pages = {117--125},
	Title = {Separating Parsing and Analysis in Reverse Engineering Tools},
	Url = {http://ieeexplore.ieee.org/xpl/abs_free.jsp?arNumber=287773},
	Year = {1993},
	Bdsk-Url-1 = {http://ieeexplore.ieee.org/xpl/abs_free.jsp?arNumber=287773}}

@inproceedings{Reyn85a,
	Author = {John C. Reynolds},
	Booktitle = {Proceedings TAPSOFT '85},
	Editor = {Ehrig and Floyd, Nivat and Thatcher},
	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},
	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},
	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},
	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},
	School = {University of Pennsylvania},
	Title = {Topic Segmentation: Algorithms and Applications},
	Year = {1998}}

@book{Rhei85a,
	Author = {Howard Rheingold},
	Publisher = {The MIT Press},
	Title = {Tools for Thought},
	Year = {1985}}

@inproceedings{Rho98a,
	Address = {Washington, DC, USA},
	Author = {Rho, Jungkyu and Wu, Chisu},
	Booktitle = {APSEC '98: Proceedings of the Fifth Asia Pacific Software Engineering Conference},
	Date-Added = {2009-10-21 10:58:43 +0200},
	Date-Modified = {2009-10-21 10:58:57 +0200},
	Isbn = {0-8186-9183-2},
	Pages = {236},
	Publisher = {IEEE Computer Society},
	Title = {An Efficient Version Model of Software Diagrams},
	Year = {1998}}

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

@article{Rice94a,
	Author = {M.D. Rice and S.B. Seidman},
	Journal = {IEEE Transactions on Software Engineering},
	Month = jan,
	Number = {1},
	Pages = {88--100},
	Title = {A Formal Model for Module Interconnection Languages},
	Volume = {20},
	Year = {1994}}

@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},
	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)},
	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)},
	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)},
	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)},
	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)},
	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{Rich71a,
	Author = {M. Richards},
	Journal = {Software --- Practice and Experience},
	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},
	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},
	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},
	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},
	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},
	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{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},
	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}}

@inbook{Rieb04a,
	Author = {Matthias Riebisch},
	Booktitle = {Modelling Variability for Object-Oriented Product lines},
	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)},
	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}}

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

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

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

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

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

@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},
	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},
	Pages = {400},
	Publisher = {Addison Wesley},
	Title = {Object-Oriented Design Heuristics},
	Year = {1996}}

@article{Rigg96a,
	Author = {Roger Riggs and Jim Waldo and Ann Wollrath and Krishna Bharat},
	Journal = {Computing Systems},
	Number = {4},
	Pages = {291--312},
	Title = {Pickling State in the {Java} System},
	Url = {http://citeseer.nj.nec.com/riggs96pickling.html},
	Volume = {9},
	Year = {1996},
	Bdsk-Url-1 = {http://citeseer.nj.nec.com/riggs96pickling.html}}

@misc{Rigi,
	Key = {rigi design-recovery},
	Note = {http://www.rigi.csc.uvic.ca/},
	Title = {Rigi Home Page},
	Url = {http://www.rigi.csc.uvic.ca/},
	Bdsk-Url-1 = {http://www.rigi.csc.uvic.ca/}}

@inproceedings{Rigo06a,
	Address = {New York, NY, USA},
	Author = {Armin Rigo and Samuele Pedroni},
	Booktitle = {Proceedings of the 2006 conference on Dynamic languages symposium, OOPSLA '06: Companion to the 21st ACM SIGPLAN conference on Object-oriented programming systems, languages, and applications},
	Doi = {10.1145/1176617.1176753},
	Isbn = {1-59593-491-X},
	Location = {Portland, Oregon, USA},
	Pages = {944--953},
	Publisher = {ACM},
	Title = {{PyPy}'s approach to virtual machine construction},
	Year = {2006},
	Bdsk-Url-1 = {http://dx.doi.org/10.1145/1176617.1176753}}

@techreport{Rigo08a,
	Author = {Armin Rigo},
	Institution = {PyPy Consortium},
	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},
	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{Rina02a,
	Address = {Malaga, Spain},
	Author = {Ran Rinat and Scott Smith},
	Booktitle = {Proceedings ECOOP 2002},
	Editor = {Boris Magnusson},
	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}}

@inproceedings{Rina96a,
	Address = {Linz, Austria},
	Author = {Ran Rinat and Menachem Magidor},
	Booktitle = {Proceedings ECOOP '96},
	Editor = {P. Cointe},
	Month = jul,
	Pages = {449--471},
	Publisher = {Springer-Verlag},
	Series = {LNCS},
	Title = {Metaphoric Polymorphism: Taking Code Reuse One Step Further},
	Volume = {1098},
	Year = {1996}}

@incollection{Risi00a,
	Author = {Linda Rising},
	Booktitle = {Pattern Languages of Program Design 4},
	Editor = {Neil Harrison and Brian Foote and Hans Rohnert},
	Pages = {585--609},
	Publisher = {Addison Wesley},
	Title = {Customer Interaction Patterns},
	Year = {2000}}

@book{Risi00b,
	Author = {Linda Rising},
	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},
	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}}

@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{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},
	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{Riva00a,
	Author = {Claudio Riva},
	Booktitle = {Proceedings WCRE 2000},
	Pages = {42--50},
	Publisher = {IEEE Computer Society},
	Title = {Reverse Architecting: an Industrial Experience Report},
	Year = {2000}}

@inproceedings{Riva02a,
	Address = {Washington, DC, USA},
	Author = {Claudio Riva and Jordi Vidal Rodriguez},
	Booktitle = {Proceedings of the Conference on Software Maintenance and Reengineering (CSMR'02)},
	Pages = {47},
	Publisher = {IEEE Computer Society},
	Title = {Combining Static and Dynamic Views for Architecture Reconstruction},
	Year = {2002}}

@phdthesis{Riva04a,
	Author = {Claudio Riva},
	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}}

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

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

@inproceedings{Rivi84a,
	Address = {New York, NY, USA},
	Author = {Jim des Rivi\`{e}res and Brian Cantwell Smith},
	Booktitle = {LFP '84: Proceedings of the 1984 ACM Symposium on LISP and functional programming},
	Doi = {10.1145/800055.802050},
	Isbn = {0-89791-142-3},
	Location = {Austin, Texas, United States},
	Pages = {331--347},
	Publisher = {ACM},
	Title = {The implementation of procedurally reflective languages},
	Year = {1984},
	Bdsk-Url-1 = {http://dx.doi.org/10.1145/800055.802050}}

@inproceedings{Roba00a,
	Author = {S\'ebastien Robitaille and Reinhard Schauer and Rudolf K. Keller},
	Booktitle = {Proceedings of the International Conference on Software Maintenance (ICSM'00)},
	Title = {Bridging Program Comprehension Tools by Design Navigation},
	Year = {2000}}

@inproceedings{Robb05a,
	Author = {Romain Robbes and Michele Lanza},
	Booktitle = {Proceedings of IWPSE 2005 (8th International Workshop on Principles of Software Evolution)},
	Pages = {155--164},
	Publisher = {IEEE Computer Society},
	Title = {Versioning Systems for Evolution Research},
	Year = {2005}}

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

@article{Robb07a,
	Author = {Romain Robbes and Michele Lanza},
	Journal = {Electronic Notes in Theoretical Computer Science (ENTCS)},
	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)},
	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)},
	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 (Switzerland)},
	Title = {Of Change and Software},
	Url = {http://www.inf.unisi.ch/phd/robbes/OfChangeAndSoftware.pdf},
	Year = {2008},
	Bdsk-Url-1 = {http://www.inf.unisi.ch/phd/robbes/OfChangeAndSoftware.pdf}}

@inproceedings{Robb09a,
	Abstract = {Recommender systems are integrated development
                  environment (IDE) extensions which assist developers
                  in the task of coding. However, since they assist
                  specific aspects of the general activity of
                  programming, their impact is hard to assess. In
                  previous work, we used with success an evaluation
                  strategy using automated benchmarks to automatically
                  and precisely evaluate several recommender systems,
                  based on recording and replaying developer
                  interactions. In this paper, we highlight the
                  challenges we expect to encounter while applying
                  this approach to other recommender systems.},
	Author = {Robbes, Romain},
	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},
	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}}

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

@techreport{Robe00a,
	Author = {Philippe C.D.Robert},
	Institution = {University of Bern},
	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}}

@misc{Robe09a,
	Author = {James Robertson},
	Note = {(Smalltalk Tidbits, Industry Rants -- http://bit.ly/Uu517)},
	Title = {Smalltalk: Our Death has been Exaggerated},
	Url = {http://bit.ly/Uu517},
	Bdsk-Url-1 = {http://bit.ly/Uu517}}

@inproceedings{Robe96a,
	Author = {Don Roberts and John Brant and Ralph E. Johnson and Bill Opdyke},
	Booktitle = {Proceedings of ICAST '96, Chicago, IL},
	Month = apr,
	Title = {An Automated Refactoring Tool},
	Year = {1996}}

@article{Robe97a,
	Author = {Don Roberts and John Brant and Ralph E. Johnson},
	Journal = {Theory and Practice of Object Systems (TAPOS)},
	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},
	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},
	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}}

@inproceedings{Robi02a,
	Address = {New York, NY, USA},
	Author = {Martin P. Robillard and Gail C. Murphy},
	Booktitle = {ICSE'02: Proceedings of the 24th International Conference on Software Engineering},
	Doi = {10.1145/581339.581390},
	Isbn = {1-58113-472-X},
	Location = {Orlando, Florida},
	Pages = {406--416},
	Publisher = {ACM Press},
	Title = {Concern graphs: finding and describing concerns using structural program dependencies},
	Year = {2002},
	Bdsk-Url-1 = {http://dx.doi.org/10.1145/581339.581390}}

@inproceedings{Robi03a,
	Author = {Martin P. Robillard and Gail C. Murphy},
	Booktitle = {Proceedings of 25th International Conference on Software Engineering},
	Month = may,
	Pages = {822--823},
	Title = {FEAT: A tool for locating, describing, and analyzing concerns in source code},
	Year = {2003}}

@inproceedings{Robi03b,
	Author = {Martin P. Robillard and Gail C. Murphy},
	Booktitle = {Proceedings of the 18th International Conference on Automated Software Engineering},
	Doi = {10.1109/ASE.2003.1240310},
	Month = oct,
	Pages = {225--234},
	Title = {Automatically inferring concern code from program investigation activities},
	Year = {2003},
	Bdsk-Url-1 = {http://dx.doi.org/10.1109/ASE.2003.1240310}}

@article{Robi07a,
	Address = {New York, NY, USA},
	Author = {Martin P. Robillard and Gail C. Murphy},
	Doi = {10.1145/1189748.1189751},
	Issn = {1049-331X},
	Journal = {ACM Transactions on Software Engineering and Methodology (TOSEM)},
	Number = {1},
	Pages = {3},
	Publisher = {ACM},
	Title = {Representing Concerns in Source Code},
	Volume = {16},
	Year = {2007},
	Bdsk-Url-1 = {http://dx.doi.org/10.1145/1189748.1189751}}

@inproceedings{Robi08a,
	Author = {Martin P. Robillard and Barth\'el\'emy Dagenais},
	Booktitle = {Proceedings of the 15th Working Conference on Reverse Engineering},
	Doi = {10.1109/WCRE.2008.15},
	Month = oct,
	Pages = {17--26},
	Title = {Retrieving Task-Related Clusters from Change History},
	Year = {2008},
	Bdsk-Url-1 = {http://dx.doi.org/10.1109/WCRE.2008.15}}

@article{Robi85a,
	Author = {K. Robinson},
	Journal = {Computer Systems Equipment Design},
	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},
	Publisher = {Prentice-Hall},
	Title = {{HOOD}: Hierarchical Object-Oriented Design},
	Year = {1992}}

@article{Robs91a,
	Author = {D.J. Robson and K. H. Bennet and B. J. Cornelius and M. Munro},
	Journal = {Journal of Systems and Software},
	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},
	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},
	Pages = {239--253},
	Publisher = {Springer-Verlag},
	Title = {Ein {TOSCANA} --- Erkundungsystem zur Literatursuche},
	Year = {2000}}

@inproceedings{Rodr04a,
	Address = {Arica, Chile},
	Author = {Leonardo Rodr{\'{i}}guez and {\'E}ric Tanter and Jacques Noy\'e},
	Booktitle = {Proceedings of the XXIV International Conference of the Chilean Computer Science Society (SCCC 2004)},
	Month = nov,
	Publisher = {IEEE},
	Title = {Supporting Dynamic Crosscutting with Partial Behavioral Reflection: a Case Study},
	Year = {2004}}

@misc{RoelTyper,
	Author = {Roel Wuyts},
	Key = {RoelTyper},
	Note = {\url{http://decomp.ulb.ac.be/roelwuyts/smalltalk/roeltyper/}},
	Title = {{RoelTyper}, a fast type reconstructor for {Smalltalk}},
	Url = {http://decomp.ulb.ac.be/roelwuyts/smalltalk/roeltyper/},
	Year = {2005},
	Bdsk-Url-1 = {http://decomp.ulb.ac.be/roelwuyts/smalltalk/roeltyper/}}

@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},
	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},
	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{Roet07c,
	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)},
	Medium = {2},
	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,
	Author = {David R{\"o}thlisberger and Oscar Nierstrasz},
	Booktitle = {Proceedings of FAMOOSr 2007 (Ist International Workshop on FAMIX and Moose in Reengineering)},
	Medium = {2},
	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.},
	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},
	Medium = {2},
	Pages = {79--100},
	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}}

@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},
	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},
	Medium = {2},
	Pages = {63--72},
	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.},
	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)},
	Medium = {2},
	Pages = {n4},
	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.},
	Author = {David R{\"o}thlisberger},
	Howpublished = {European Smalltalk User Group Innovation Technology Award},
	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},
	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},
	Medium = {2},
	Pages = {74--78},
	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.},
	Author = {David R{\"o}thlisberger and Orla Greevy},
	Booktitle = {Proceedings of the 4th International Workshop on Program Comprehension through Dynamic Analysis (PCODA 2008)},
	Medium = {2},
	Pages = {27--31},
	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.},
	Author = {David R{\"o}thlisberger},
	Booktitle = {FAMOOSr, 2nd Workshop on FAMIX and Moose in Reengineering},
	Medium = {2},
	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{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},
	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},
	Medium = {2},
	Pages = {253--262},
	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},
	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},
	Medium = {2},
	Note = {Tool demo},
	Pages = {383--384},
	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}}

@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.},
	Author = {David R{\"o}thlisberger},
	Booktitle = {FAMOOSr, 3rd Workshop on FAMIX and Moose in Reengineering},
	Medium = {2},
	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}}

@article{Roet10X,
	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},
	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},
	Journal = {Transactions on Software Engineering},
	Note = {To appear},
	Publisher = {IEEE Press},
	Title = {Exploiting Dynamic Information in IDEs Improves Speed and Correctness of Software Maintenance Tasks},
	Year = {2010}}

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

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

@inproceedings{Roge04a,
	Author = {P. Rogers and A.J. Wellings},
	Booktitle = {Reliable Software Technologies - Ada Europe},
	Publisher = {Springer},
	Series = {LNCS},
	Title = {OpenAda: Compile-Time Reflection for Ada 95},
	Volume = {3063},
	Year = {2004}}

@book{Roge67a,
	Author = {Rogers, Jr., H.},
	Publisher = {McGraw-Hill},
	Title = {Theory of Recursive Functions and Effective Computability},
	Year = {1967}}

@article{Roge71a,
	Author = {J. H. Roger},
	Journal = {Applied Statistics},
	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},
	Publisher = {Microsoft Press},
	Title = {Inside {COM}: Microsoft's Component Object Model},
	Year = {1997}}

@article{Roll98a,
	Author = {C. Rolland and C. Ben Achour and C. Cauvet and J. Ralyt and A. Sutcliffe and N.A.M. Maiden and M. Jarke and P. Haumer and K. Pohl and E. Dubois and P. Heymans},
	Journal = {Requirements Engineering Journal},
	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},
	Publisher = {Springer},
	Title = {Advances in Exception Handling Techniques},
	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},
	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{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{Romp06a,
	Address = {Los Alamitos, CA, USA},
	Author = {Bart Van Rompaey and Bart Du Bois and Serge Demeyer},
	Doi = {10.1109/ICSM.2006.18},
	Issn = {1063-6773},
	Journal = {icsm},
	Pages = {391--400},
	Publisher = {IEEE Computer Society},
	Title = {Characterizing the Relative Significance of a Test Smell},
	Volume = {0},
	Year = {2006},
	Bdsk-Url-1 = {http://dx.doi.org/10.1109/ICSM.2006.18}}

@techreport{Romp06b,
	Author = {Bart Van Rompaey and Bart Du Bois and Serge Demeyer},
	Date-Added = {2007-01-31 10:27:08 +0100},
	Date-Modified = {2007-01-31 10:27:08 +0100},
	Institution = {Lab On Re-Engineering, University Of Antwerp},
	Title = {Improving Test Code Reviews with Metrics: a Pilot Study},
	Year = {2006}}

@article{Romp07a,
	Address = {Piscataway, NJ, USA},
	Author = {Bart {Van Rompaey} and Bart {Du Bois} and Serge Demeyer and Matthias Rieger},
	Doi = {10.1109/TSE.2007.70745},
	Issn = {0098-5589},
	Journal = {Transactions on Software Engineering},
	Number = {12},
	Pages = {800--817},
	Publisher = {IEEE Press},
	Title = {On The Detection of Test Smells: A Metrics-Based Approach for General Fixture and Eager Test},
	Volume = {33},
	Year = {2007},
	Bdsk-Url-1 = {http://dx.doi.org/10.1109/TSE.2007.70745}}

@inproceedings{Rooc02a,
	Author = {Stefan Roock and Andreas Havenstein},
	Booktitle = {Proceedings of Extreme Programming Conference'02},
	Pages = {182-185},
	Title = {Refactoring Tags for Automatic Refactoring of Framework-Dependent Applications},
	Year = {2002}}

@article{Rook87a,
	Author = {Rook, P.},
	Journal = {Software Engineering Journal},
	Month = jan,
	Number = 1,
	Pages = {7--16},
	Title = {Controlling Software Projects},
	Volume = 1,
	Year = {1996}}

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

@inproceedings{Rose88a,
	Author = {John R. Rose},
	Booktitle = {Proceedings OOPSLA '88, ACM SIGPLAN Notices},
	Month = nov,
	Pages = {27--35},
	Title = {Fast Dispatch Mechanisms for Stock Hardware},
	Volume = {23},
	Year = {1988}}

@inproceedings{Rose89a,
	Author = {William R. Rosenblatt and Jack C. Wileden and Alexander L. Wolf},
	Booktitle = {Proceedings OOPSLA '89, ACM SIGPLAN Notices},
	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},
	Publisher = {O'Reilly},
	Title = {Understanding {DCE}},
	Year = {1992}}

@book{Rose92b,
	Author = {Hal F. Rosenbluth},
	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},
	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,
	Organization = {Rational Software Corporation},
	Title = {Rational Rose 98: Roundtrip Engineering with C++},
	Year = {1998}}

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

@book{Ross02a,
	Address = {San Francisco, USA},
	Author = {Mary Beth Rosson and John M. Carroll},
	Isbn = {1-55860-712-9},
	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/}}

@article{Ross69a,
	Author = {G. J. S. Ross},
	Journal = {Applied Statistics},
	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},
	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},
	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},
	Month = jul,
	Pages = {248--274},
	Publisher = {Springer-Verlag},
	Series = {LNCS},
	Title = {Modeling Subobject-Based Inheritance},
	Volume = {1098},
	Year = {1996}}

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

@inproceedings{Roth93a,
	Author = {Gregg Rothermel and Mary Jean Harrold},
	Booktitle = {Proceedings of the International Conference on Software Maintenance (ICSM '93)},
	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},
	Number = {MR-376-ARPA},
	Title = {The Rand Advanced Simulation Language Project's Declarative Modeling Formalism ({DMOD})},
	Type = {Technical Report},
	Year = {1994}}

@article{Roth96a,
	Author = {Gregg Rothermel and Mary Jean Harrold},
	Journal = {IEEE Transactions on Software Engineering},
	Number = {8},
	Pages = {529--551},
	Title = {Analyzing Regression Test Selection Techniques},
	Volume = {22},
	Year = {1996}}

@inproceedings{Roth99a,
	Author = {Gregg Rothermel and Roland H. Untch and Chengyun Chu and Mary Jean Harrold},
	Booktitle = {Proceedings ICSM 1999},
	Month = sep,
	Pages = {179--188},
	Title = {Test Case Prioritization: An Empirical Study},
	Year = {1999}}

@article{Roum02a,
	Author = {Cyrill Roume},
	Journal = {L'Objet},
	Number = {1-2},
	Pages = {151--166},
	Title = {\'{Evaluation} {Structurelle} de la {Factorisation} et la {G}\'{e}n\'{e}ralisation au sein des {Hi}\'{e}rarchies de {Classes}: Introduction de {M}\'{e}triques},
	Volume = {8},
	Year = {2002}}

@article{Roun01a,
	Address = {New York, NY, USA},
	Author = {Atanas Rountev and Ana Milanova and Barbara G. Ryder},
	Doi = {10.1145/504311.504286},
	Issn = {0362-1340},
	Journal = {SIGPLAN Notice},
	Number = {11},
	Pages = {43--55},
	Publisher = {ACM},
	Title = {Points-to analysis for Java using annotated constraints},
	Volume = {36},
	Year = {2001},
	Bdsk-Url-1 = {http://dx.doi.org/10.1145/504311.504286}}

@inproceedings{Roun03a,
	Address = {Los Alamitos, CA, USA},
	Author = {Atanas Rountev and Ana Milanova and Barbara G. Ryder},
	Booktitle = {ICSE '03: Proceedings of the 25th IEEE International Conference on Software Engineering},
	Pages = {210--220},
	Publisher = {IEEE Computer Society Press},
	Title = {Fragment Class Analysis for Testing of Polymorphism in Java Software},
	Year = {2003}}

@inproceedings{Roun04a,
	Address = {Washington, DC, USA},
	Author = {Atanas Rountev},
	Booktitle = {ICSM '04: Proceedings of the 20th IEEE International Conference on Software Maintenance},
	Isbn = {0-7695-2213-0},
	Pages = {82--91},
	Publisher = {IEEE Computer Society},
	Title = {Precise Identification of Side-Effect-Free Methods in {Java}},
	Year = {2004}}

@inproceedings{Roun04b,
	Address = {New York, NY, USA},
	Author = {Atanas Rountev and Scott Kagan and Michael Gibas},
	Booktitle = {PASTE '04: Proceedings of the 5th ACM SIGPLAN-SIGSOFT workshop on Program analysis for software tools and engineering},
	Isbn = {1-58113-910-1},
	Pages = {14--16},
	Publisher = {ACM},
	Title = {Evaluating the imprecision of static analysis},
	Year = {2004}}

@inproceedings{Roun05a,
	Address = {New York, NY, USA},
	Author = {David Roundy},
	Booktitle = {Haskell '05: Proceedings of the 2005 ACM SIGPLAN workshop on Haskell},
	Doi = {10.1145/1088348.1088349},
	Isbn = {1-59593-071-X},
	Location = {Tallinn, Estonia},
	Pages = {1--4},
	Publisher = {ACM Press},
	Title = {Darcs: Distributed Version Management in Haskell},
	Year = {2005},
	Bdsk-Url-1 = {http://dx.doi.org/10.1145/1088348.1088349}}

@inproceedings{Roux94a,
	Author = {C. Rouxel and J. P. Velu and M. Texier and D. Leroy},
	Booktitle = {Proceedings, Object-Oriented Methodologies and Systems},
	Editor = {E. Bertino and S. Urban},
	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},
	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},
	Month = mar,
	Note = {\url{http://blogs.msdn.com/kaelr/archive/2009/03/26/code-canvas.aspx}, archived at \url{http://www.webcitation.org/5mceC6NVX}},
	Posted-At = {2010-01-08 06:51:26},
	Priority = {2},
	Title = {Code Canvas},
	Year = {2009}}

@incollection{Royc87a,
	Address = {Washington},
	Author = {Royce, W. W.},
	Booktitle = {Tutorial: Software Engineering Project Management},
	Editor = {Thayer, R.H.},
	Note = {fca},
	Pages = {118--127},
	Publisher = {IEEE Computer Society},
	Title = {Managing the Development of Large Software Systems},
	Year = {1987}}

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

@article{Rubi86a,
	Author = {R.V. Rubin},
	Journal = {3rd ACM-SIGOIS Conf on Office Information Systems, also SIGOIS Bulletin},
	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},
	Month = nov,
	Pages = {234--247},
	Title = {A {Smalltalk} Implementation of an Intelligent Operator's Associate},
	Volume = {23},
	Year = {1988}}

@inproceedings{Ruep94a,
	Author = {Andreas R{\"u}ping},
	Booktitle = {Proceedings of TOOLS '94},
	Month = jun,
	Publisher = {Prentice Hall},
	Title = {Modules in Object-Oriented Systems},
	Year = {1994}}

@article{Ruga98a,
	Author = {Spencer Rugaber and Jim White},
	Journal = {IEEE Software},
	Month = jul,
	Number = {4},
	Pages = {28--33},
	Publisher = {IEEE},
	Title = {Restoring a Legacy: Lessons Learned},
	Volume = {15},
	Year = {1998}}

@inproceedings{Rumb87a,
	Author = {James Rumbaugh},
	Booktitle = {Proceedings OOPSLA '87, ACM SIGPLAN Notices},
	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},
	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},
	Publisher = {Prentice-Hall},
	Title = {Object-Oriented Modeling and Design},
	Year = {1991}}

@book{Rumb99a,
	Author = {James Rumbaugh and Ivar Jacobson and Grady Booch},
	Publisher = {Addison Wesley},
	Title = {The Unified Modeling Language Reference Manual},
	Year = {1999}}

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

@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{Russ88a,
	Author = {Vincent Russo and Gary Johnston and Roy Campbell},
	Booktitle = {Proceedings OOPSLA '88, ACM SIGPLAN Notices},
	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},
	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},
	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},
	Publisher = {USENIX},
	Title = {{USENIX} Conference on Object Oriented Technologies},
	Year = {1995}}

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

@techreport{Rutt87a,
	Address = {Amsterdam},
	Author = {Jan Rutten and Jeffrey I. Zucker},
	Institution = {CWI},
	Number = {CS-R8759},
	Title = {A Semantic Approach to Fairness},
	Type = {Report},
	Year = {1987}}

@book{Ryan97a,
	Author = {Timothy W. Ryan},
	Publisher = {Hewlett-Packard Professional Books},
	Title = {Distributed Object Technology},
	Year = {1997}}

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

@book{Ryde88a,
	Address = {New York},
	Author = {David E. Rydeheard and Rod M. Burstall},
	Publisher = {Prentice-Hall},
	Series = {Prentice Hall international series in computer science},
	Title = {Computational Category Theory},
	Year = {1988}}

@unpublished{Ryde88b,
	Author = {D.E. Rydeheard},
	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{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)},
	Month = sep,
	Pages = {328--337},
	Publisher = {IEEE Computer Society Press},
	Title = {Studying Software Evolution Information By Visualizing the Change History},
	Url = {http://www.win.ua.ac.be/~fvrys/publications/},
	Year = {2004},
	Bdsk-Url-1 = {http://www.win.ua.ac.be/~fvrys/publications/}}

@inproceedings{Ryss04b,
	Author = {Filip van Rysselberghe and Serge Demeyer},
	Booktitle = {Proc. 19. Intl. Conference on Automated Software Engineering (ASE'04)},
	Month = sep,
	Organization = {IEEE},
	Title = {Evaluating Clone detection Techniques from a Refactoring Perspective},
	Year = {2004}}

@misc{SAX,
	Key = {Simple API for XML},
	Note = {http://www.saxproject.org/},
	Title = {{Simple API for XML}}}

@manual{SICS95,
	Address = {Sweden},
	Organization = {Programming Systems Group, Swedish Institute of Computer Science},
	Title = {SICStus Prolog User's Manual},
	Year = {1995}}

@techreport{STSC97a,
	Author = {STSC},
	Institution = {STSC, U.S. Department of Defense},
	Month = mar,
	Title = {{Software} {Reengineering} {Assessment} {Handbook} v3.0},
	Url = {http://stsc.hill.af.mil/RENG},
	Year = {1997},
	Bdsk-Url-1 = {http://stsc.hill.af.mil/RENG}}

@misc{SUnit,
	Author = {Kent Beck},
	Note = {\url{www.xprogramming.com/testfram.htm}},
	Title = {Simple {Smalltalk} Testing: With Patterns},
	Url = {http://www.xprogramming.com/testfram.htm},
	Bdsk-Url-1 = {http://www.xprogramming.com/testfram.htm}}

@inproceedings{Saff03a,
	Author = {David Saff and Michael D. Ernst},
	Booktitle = {Fourteenth International Symposium on Software Reliability Engineering ISSRE 2003},
	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},
	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},
	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{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},
	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{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)},
	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}}

@article{Sakk88a,
	Author = {Markku Sakkinen},
	Journal = {ACM SIGPLAN Notices},
	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},
	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},
	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},
	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},
	Number = {4},
	Pages = {155--177},
	Publisher = {Springer International},
	Title = {The Darker Side of {C}++ Revisited},
	Volume = {13},
	Year = {1992}}

@phdthesis{Sakk92c,
	Author = {Markku Sakkinen},
	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},
	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,
	Author = {Maher Salah and Trip Denton and Spiros Mancoridis and Ali Shokoufandeh and Filippos I. Vokolos},
	Booktitle = {Proceedings of 21th International Conference on Software Maintenance (ICSM'05)},
	Doi = {10.1109/ICSM.2005.78},
	Month = sep,
	Pages = {155--164},
	Publisher = {IEEE Computer Society Press},
	Title = {Scenariographer: A Tool for Reverse Engineering Class Usage Scenarios from Method Invocation Sequences},
	Year = {2005},
	Bdsk-Url-1 = {http://dx.doi.org/10.1109/ICSM.2005.78}}

@inproceedings{Salci05a,
	Author = {Alexandru Salcianu and Martin C. Rinard},
	Booktitle = {VMCAI},
	Ee = {http://springerlink.metapress.com/openurl.asp?genre=article{\&}issn=0302-9743{\&}volume=3385{\&}spage=199},
	Pages = {199--215},
	Title = {Purity and Side Effect Analysis for {Java} Programs.},
	Year = {2005}}

@inproceedings{Sale92a,
	Author = {Hayssam Saleh and Philippe Gautron},
	Booktitle = {Proceedings of the ECOOP '91 Workshop on Object-Based Concurrent Computing},
	Editor = {Mario Tokoro and Oscar Nierstrasz and Peter Wegner},
	Pages = {195--210},
	Publisher = {Springer-Verlag},
	Series = {LNCS},
	Title = {A Concurrency Control Mechanism for {C}++ Objects},
	Volume = 612,
	Year = {1992}}

@inproceedings{Salt75a,
	Author = {Jerome H. Saltzer and Michael D. Schoroeder},
	Booktitle = {Fourth ACM Symposium on Operating System Principles},
	Month = sep,
	Pages = {1278--1308},
	Publisher = {IEEE},
	Title = {The Protection of Information in Computer Systems},
	Volume = {63},
	Year = {1975}}

@book{Same97a,
	Author = {Johannes Sametinger},
	Isbn = {3-540-62695-6},
	Publisher = {Springer-Verlag},
	Title = {Software Engineering with Reusable Components},
	Year = {1997}}

@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)},
	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{Samp86a,
	Author = {A. Dain Samples and David Ungar and Paul Hilfinger},
	Booktitle = {Proceedings OOPSLA '86, ACM SIGPLAN Notices},
	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},
	Pages = {291--306},
	Series = {LNCS},
	Title = {{CLAM}: Composition Language for Autonomous Megamodules},
	Volume = 1594,
	Year = {1999}}

@inproceedings{Sand86a,
	Author = {David Sandberg},
	Booktitle = {Proceedings OOPSLA '86, ACM SIGPLAN Notices},
	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.},
	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},
	Month = mar,
	Number = {3},
	Pages = {330--343},
	Title = {An Entity-Life Modeling Approach to the Design of Concurrent Systems},
	Volume = {32},
	Year = {1989}}

@techreport{Sand96a,
	Author = {Georg Sander},
	Institution = {Universitaet des Saarlandes},
	Month = feb,
	Title = {Graph Layout for Applications in Compiler Construction},
	Year = {1996}}

@incollection{Sand98a,
	Author = {David Sands},
	Booktitle = {Second Workshop on Higher-Order Operational Techniques in Semantics (HOOTS II)},
	Editor = {A. D. Gordon and A. M. Pitts and C. L. Talcott},
	Publisher = {Elsevier Science Publishers B.V.},
	Series = {Electronic Notes in Theoretical Computer Science},
	Title = {Computing with Contexts: {A} simple approach},
	Volume = {10},
	Year = {1998}}

@inproceedings{Sanen06a,
	Address = {Bonn, Germany},
	Author = {Sanen, Frans and Truyen, Eddy and Joosen, Wouter and Jackson, Andrew and Nedos, Andronikos and Clarke, Siobh\'{a}n and Loughran, Neil and Rashid, Awais},
	Booktitle = {Proceedings of the Fifth AOSD Workshop on Aspects, Components, and Patterns for Infrastructure Software},
	Pages = {23--26},
	Title = {Classifying And Documenting Aspect Interactions},
	Year = {2006}}

@inproceedings{Sanen08a,
	Author = {Sanen, Frans and Mehner, Katharina and Chitchyan, Ruzanna and Bergmans, Lodewijk and Fabry, Johan and S{\"u}dholt, Mario},
	Booktitle = {ECOOP Workshops},
	Editor = {Patrick Eugster},
	Pages = {51-62},
	Publisher = {Springer},
	Series = {LNCS},
	Title = {Aspects, Dependencies and Interactions},
	Volume = {5475},
	Year = {2008}}

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

@techreport{Sang91a,
	Author = {Davide Sangiorgi},
	Institution = {Computer Science Dept., University of Edinburgh},
	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},
	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},
	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},
	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},
	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},
	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},
	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}}

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

@techreport{Sang96a,
	Author = {Davide Sangiorgi},
	Institution = {INRIA Sophia-Antipolis},
	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}}

@proceedings{Sang98a,
	Address = {Nice, France},
	Booktitle = {Proceedings of the 9th International, CONCUR '98},
	Editor = {Davide Sangiorgi},
	Isbn = {3-540-64896-0},
	Month = sep,
	Publisher = {Springer-Verlag},
	Series = {LNCS},
	Title = {Concurrency Theory},
	Volume = {1466},
	Year = {1998}}

@techreport{Sang99a,
	Author = {Davide Sangiorgi},
	Institution = {INRIA Sophia-Antipolis, France},
	Month = feb,
	Number = {3470},
	Title = {Interpreting functions as pi-calculus processes: a tutorial},
	Type = {RR},
	Year = {1999}}

@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},
	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},
	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},
	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},
	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},
	Month = apr,
	Pages = {48--62},
	Title = {{UFO}: Language Evolution and Consequences of State},
	Url = {ftp://sisal.llnl.gov/pub/hpfc/papers95.html},
	Year = {1995},
	Bdsk-Url-1 = {ftp://sisal.llnl.gov/pub/hpfc/papers95.html}}

@inproceedings{Sari04a,
	Author = {Titos Saridakis},
	Booktitle = {Workshop on Component Models for Dependable Systems},
	Month = aug,
	Note = {To appear},
	Title = {Managing Unsolicited Events in Component-Based Software},
	Year = {2004}}

@inproceedings{Sark92a,
	Author = {Manojit Sarkar and Marc H. Brown},
	Booktitle = {Proceedings of ACM CHI'92 Conference on Human Factors in Computing Systems},
	Pages = {83--91},
	Title = {Graphical Fisheye Views of Graphs: Visualizing Objects, Graphs, and Video},
	Year = {1992}}

@article{Sark07a,
	Address = {Piscataway, NJ, USA},
	Author = {Sarkar, Santonu and Rama, Girish Maskeri and Kak, Avinash C.},
	Doi = {10.1109/TSE.2007.4},
	Issn = {0098-5589},
	Journal = {IEEE Trans. Softw. Eng.},
	Number = {1},
	Pages = {14--32},
	Publisher = {IEEE Press},
	Title = {API-Based and Information-Theoretic Metrics for Measuring the Quality of Software Modularization},
	Volume = {33},
	Year = {2007},
	Bdsk-Url-1 = {http://dx.doi.org/10.1109/TSE.2007.4}}

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

@article{Sato01a,
	Author = {Masahiko Sato and Takafumi Sakurai and Rod M. Burstall},
	Journal = {Fundamenta Informaticae},
	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}}

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

@article{Sato02a,
	Author = {Masahiko Sato and Takafumi Sakurai and Yukiyoshi Kameyama},
	Journal = {Journal of Functional and Logic Programming},
	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},
	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{Sato92a,
	Author = {Ichiro Satoh and Mario Tokoro},
	Booktitle = {Proceedings OOPSLA '92, ACM SIGPLAN Notices},
	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},
	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},
	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},
	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},
	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},
	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{Sawa07a,
	Address = {Los Alamitos, CA, USA},
	Author = {Amit P. Sawant and Naveen Bali},
	Doi = {10.1109/VISSOF.2007.4290710},
	Isbn = {1-4244-0599-8},
	Journal = {vissoft},
	Pages = {121--128},
	Publisher = {IEEE Computer Society},
	Title = {{DiffArchViz}: A Tool to Visualize Correspondence Between Multiple Representations of a Software Architecture},
	Url = {http://sequoia.csc.ncsu.edu/~apsawant/pdfs/VISSOFT_2007_paper.pdf},
	Volume = {0},
	Year = {2007},
	Bdsk-Url-1 = {http://sequoia.csc.ncsu.edu/~apsawant/pdfs/VISSOFT_2007_paper.pdf},
	Bdsk-Url-2 = {http://dx.doi.org/10.1109/VISSOF.2007.4290710}}

@inproceedings{Sayy03a,
	Author = {Jelber Sayyad Shirabad and Timothy C. Lethbridge and Stan Matwin},
	Booktitle = {International Conference on Software Maintenance (ICSM 2003)},
	Pages = {95--104},
	Title = {Mining the Maintenance History of a Legacy Software System},
	Year = {2003}}

@inproceedings{Scal88a,
	Author = {C.A. Scaletti and Ralph E. Johnson},
	Booktitle = {Proceedings OOPSLA '88, ACM SIGPLAN Notices},
	Month = nov,
	Pages = {222--233},
	Title = {An Interactive Environment for Object-Oriented Music Composition and Sound Synthesis},
	Volume = {23},
	Year = {1988}}

@misc{Scala,
	Key = {scala},
	Note = {http://lamp.epfl.ch/scala/},
	Title = {The Scala Programming Language},
	Url = {http://lamp.epfl.ch/scala/},
	Bdsk-Url-1 = {http://lamp.epfl.ch/scala/}}

@article{Sced90a,
	Author = {A. Scedrov},
	Journal = {Bulletin of the EATCS},
	Month = jun,
	Pages = {154--165},
	Title = {A Brief Guide to Linear Logic},
	Volume = {41},
	Year = {1990}}

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

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

@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},
	Author = {Nathanael Sch\"arli and Andrew P. Black},
	Cvs = {TraitsBrowserESUG2003},
	Institution = {OGI School of Science \& Engineering},
	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}}

@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},
	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},
	Month = feb,
	School = {University of Bern},
	Title = {Traits --- Composing Classes from Behavioral Building Blocks},
	Url = {http://scg.unibe.ch/archive/phd/schaerli-phd.pdf},
	Year = {2005},
	Bdsk-Url-1 = {http://scg.unibe.ch/archive/phd/schaerli-phd.pdf}}

@inproceedings{Scha86a,
	Author = {Craig Schaffert and Topher Cooper and Bruce Bullis and Mike Killian and Carrie Wilpolt},
	Booktitle = {Proceedings OOPSLA '86, ACM SIGPLAN Notices},
	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)},
	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},
	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}}

@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},
	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{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},
	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},
	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},
	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},
	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},
	Month = dec,
	Title = {The {KIDS} Data Model Specification Language},
	Type = {preliminary report},
	Year = {1992}}

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

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

@article{Schi82a,
	Author = {P. Schicker},
	Journal = {IEEE Trans on Communications},
	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},
	Month = oct,
	Page = {10},
	Title = {Fun with Exception-Handling Part I},
	Year = {1989}}

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

@book{Schm00a,
	Author = {Douglas C. Schmidt and Michael Stal and Hans Rohnert and Frank Buschmann},
	Publisher = {John Wiley and Sons},
	Title = {Pattern-Oriented Software Architecture Volume 2 --- Networked and Concurrent Objects},
	Year = {2000}}

@article{Schm06a,
	Address = {Los Alamitos, CA, USA},
	Author = {Douglas C. Schmidt},
	Doi = {10.1109/MC.2006.58},
	Issn = {0018-9162},
	Journal = {Computer},
	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,
	Author = {Schmidt, Albrecht and Terrenghi, Lucia},
	Booktitle = {SAC'06: Proceedings of the 21th Symposium on Applied Computing},
	Doi = {10.1145/1141277.1141733},
	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}}

@article{Schm76a,
	Author = {H.A. Schmidt},
	Journal = {Acta Informatica},
	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},
	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},
	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},
	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},
	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},
	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},
	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},
	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},
	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},
	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},
	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.},
	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},
	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},
	Publisher = {ASQC Quality Press},
	Title = {{ISO} 9000 for Software Developers},
	Year = {1995}}

@article{Schm96a,
	Author = {Douglas C. Schmidt},
	Journal = {{C}++ Report, SIGS},
	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},
	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)},
	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},
	Pages = {177--185},
	Publisher = {Kluwer Academic Publishers},
	Title = {Restructuring Object-Oriented Database Schemata by Concept Analysis},
	Year = {1999}}

@inproceedings{Schm99b,
	Address = {London, UK},
	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},
	Location = {Karlsruhe, Germany},
	Pages = {89--101},
	Publisher = {Springer-Verlag},
	Title = {Advanced Interaction in Context},
	Year = {1999}}

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

@unpublished{Schn91a,
	Author = {Hans-J{\"u}rgen Schneider},
	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},
	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},
	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},
	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},
	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},
	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{Scho64a,
	Address = {New York, NY, USA},
	Author = {D. V. Schorre},
	Booktitle = {Proceedings of the 1964 19th ACM national conference},
	Doi = {10.1145/800257.808896},
	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}}

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

@techreport{Schr92a,
	Address = {Sankt Augustin},
	Author = {Wolfgang Schr{\"o}der-Preikschat},
	Institution = {GMD},
	Month = may,
	Number = {646},
	Title = {{PEACE} --- The Evolution of a Parallel Operating System},
	Type = {Working Paper},
	Year = {1992}}

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

@misc{Schu01a,
	Author = {Peter Schuh and Stephanie Punke},
	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.},
	Pages = {74--91},
	Publisher = {Bulgarian Academy of Sciences},
	Title = {The ``{Right}'' {Level} of {Abstraction} --- {Assessing} {Reusable} {Software} with {Formal} {Concept} {Analysis}},
	Year = {2002}}

@article{Schu03a,
	Author = {Peter Schuh},
	Journal = {IEEE Computer},
	Number = {6},
	Pages = {34--41},
	Title = {Recovery, Redemption and {Extreme} {Programming}},
	Volume = {18},
	Year = {2001}}

@inproceedings{Schu08a,
	Address = {New York, NY, USA},
	Author = {Schuler, David and Zimmermann, Thomas},
	Booktitle = {MSR '08: Proceedings of the 2008 international working conference on Mining software repositories},
	Doi = {10.1145/1370750.1370779},
	Isbn = {978-1-60558-024-1},
	Location = {Leipzig, Germany},
	Pages = {121--124},
	Publisher = {ACM},
	Title = {Mining usage expertise from version archives},
	Year = {2008},
	Bdsk-Url-1 = {http://dx.doi.org/10.1145/1370750.1370779}}

@inproceedings{Schu98a,
	Author = {Benedikt Schulz and Thomas Genssler and Berthold Mohr and Walter Zimmer},
	Booktitle = {Proceedings of the TOOLS 27 Conference (Asia '98)},
	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},
	Month = jun,
	Pages = {367--390},
	Publisher = {Springer-Verlag},
	Series = {LNCS},
	Title = {Towards Automatic Specialization of {Java} Programs},
	Volume = 1628,
	Year = {1999}}

@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},
	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},
	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},
	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},
	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},
	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},
	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},
	Location = {Cape Town, South Africa},
	Month = apr,
	Pages = {81--82},
	Publisher = {ACM},
	Title = {Hot Clones, Maintaining a Link Between Software Clones Across Repositories},
	Url = {http://scg.unibe.ch/staff/Schwarz/HotClones-position-paper},
	Year = {2010},
	Bdsk-Url-1 = {http://scg.unibe.ch/staff/Schwarz/HotClones-position-paper}}

@inproceedings{Schw89a,
	Author = {Robert W. Schwanke and Rita Z. Altucher and Michael A. Platoff},
	Booktitle = {Proceedings of International Workshop on Software Specification and Design},
	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},
	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},
	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},
	Pages = {4663--4667},
	Title = {Software Tools for Analyzing Pairwise Alignments of Long Sequences},
	Volume = {19},
	Year = {1991}}

@article{Scot76a,
	Author = {Dana Scott},
	Journal = {SIAM J. Comput.},
	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},
	Month = jul,
	Pages = {577--613},
	Publisher = {Springer-Verlag},
	Series = {LNCS},
	Title = {Domains for Denotational Semantics},
	Volume = {140},
	Year = {1982}}

@misc{Seaside,
	Key = {Seaside},
	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},
	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},
	Publisher = {Benjamin Cummings},
	Title = {Concepts of Programming Languages},
	Year = {1992}}

@inproceedings{Seco00a,
	Address = {London, United Kingdom},
	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},
	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{Sedg92a,
	Author = {Robert Sedgewick},
	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},
	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{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},
	Location = {Lake Buena Vista, Florida, United States},
	Pages = {10--16},
	Publisher = {ACM Press},
	Title = {Pattern-{Based} {Design} {Recovery} of {JAVA} {Software}},
	Year = {1998},
	Bdsk-Url-1 = {http://dx.doi.org/10.1145/288195.288207}}

@phdthesis{Sefi96a,
	Author = {Mohlalefi Sefika},
	School = {University of Illinois},
	Title = {Design Conformance Management of Software Systems: an Architecture-Oriented Approach},
	Year = {1996}}

@inproceedings{Sefi96b,
	Author = {Mohlalefi Sefika and Aamod Sane and Roy H. Campbell},
	Booktitle = {Proceedings ICSE-18},
	Month = mar,
	Pages = {387--396},
	Title = {Monitoring Complicance of a Software System with Its High-Level Design Models},
	Year = {1996}}

@inproceedings{Sefi96c,
	Author = {Mohlalefi Sefika and Aamod Sane and Roy H. Campbell},
	Booktitle = {Proceedings ICSE-18},
	Month = mar,
	Pages = {387--396},
	Title = {Monitoring Complicance of a Software System with Its High-Level Design Models},
	Year = {1996}}

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

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

@article{Seid03a,
	Author = {Ed Seidewitz},
	Issue = {5},
	Journal = {IEEE Software},
	Month = sep,
	Number = {5},
	Pages = {26--32},
	Title = {What Models Mean},
	Volume = {20},
	Year = {2003}}

@inproceedings{Seid87a,
	Author = {Ed Seidewitz},
	Booktitle = {Proceedings OOPSLA '87, ACM SIGPLAN Notices},
	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},
	Month = apr,
	Pages = {251--265},
	Publisher = {Springer-Verlag},
	Series = {LNCS},
	Title = {When is a Functional Tree Transduction Deterministic ?},
	Volume = {668},
	Year = {1993}}

@article{Seit98a,
	Author = {Linda M. Seiter and Jens Palsberg and Karl J. Lieberherr},
	Doi = {10.1109/32.663999},
	Journal = {IEEE Transactions on Software Engineering},
	Month = jan,
	Number = {1},
	Pages = {79--92},
	Title = {Evolution of Object Behavior Using Context Relations},
	Volume = {24},
	Year = {1998},
	Bdsk-Url-1 = {http://dx.doi.org/10.1109/32.663999}}

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

@inproceedings{Sekh02a,
	Address = {London, UK},
	Author = {K. Chandra Sekharaiah and D. Janaki Ram},
	Booktitle = {OOIS '02: Proceedings of the 8th International Conference on Object-Oriented Information Systems},
	Isbn = {3-540-44087-9},
	Pages = {494--506},
	Publisher = {Springer-Verlag},
	Title = {Object Schizophrenia Problem in Object Role System Design},
	Volume = {2425/2002},
	Year = {2002}}

@inproceedings{Seli92a,
	Address = {Montreal},
	Author = {Bran Selic and Garth Gullekson and Jim McGee and Ian Engelberg},
	Booktitle = {Proceedings CASE 92 Fifth International Workshop on Computer-Aided Software Engineering},
	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},
	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},
	Month = aug,
	Pages = {235--252},
	Publisher = {Springer-Verlag},
	Series = {LNCS},
	Title = {Incremental Mature Garbage Collection Using the Train Algorithm},
	Volume = {952},
	Year = {1995}}

@inproceedings{Sell98a,
	Author = {A. Sellink and C. Verkoef},
	Booktitle = {Proceedings of WCRE '98},
	Note = {ISBN: 0-8186-89-67-6},
	Pages = {89--99},
	Publisher = {IEEE Computer Society},
	Title = {Native Patterns},
	Year = {1998}}

@inproceedings{Seng05,
	Address = {New York, NY, USA},
	Author = {Seng, Olaf and Bauer, Markus and Biehl, Matthias and Pache, Gert},
	Booktitle = {GECCO '05: Proceedings of the 2005 conference on Genetic and evolutionary computation},
	Doi = {10.1145/1068009.1068186},
	Isbn = {1-59593-010-8},
	Location = {Washington DC, USA},
	Pages = {1045--1051},
	Publisher = {ACM},
	Title = {Search-based improvement of subsystem decompositions},
	Year = {2005},
	Bdsk-Url-1 = {http://dx.doi.org/10.1145/1068009.1068186}}

@inproceedings{Seng06,
	Address = {New York, NY, USA},
	Author = {Seng, Olaf and Stammel, Johannes and Burkhart, David},
	Booktitle = {GECCO '06: Proceedings of the 8th annual conference on Genetic and evolutionary computation},
	Doi = {10.1145/1143997.1144315},
	Isbn = {1-59593-186-4},
	Location = {Seattle, Washington, USA},
	Pages = {1909--1916},
	Publisher = {ACM},
	Title = {Search-based determination of refactorings for improving the class structure of object-oriented systems},
	Year = {2006},
	Bdsk-Url-1 = {http://dx.doi.org/10.1145/1143997.1144315}}

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

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

@book{Sess98a,
	Address = {New York, NY, USA},
	Author = {Roger Sessions},
	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},
	Publisher = {Addison Wesley},
	Title = {Programming Languages: Concepts and Constructs},
	Year = {1989}}

@article{Seve74a,
	Author = {D.G. Severance},
	Journal = {ACM Computing Surveys},
	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},
	Number = {6},
	Pages = {314--326},
	Title = {A Practitioner's Guide to Addressing Algorithms},
	Volume = {19},
	Year = {1976}}

@techreport{Sewe99a,
	Author = {Peter Sewell and Pawel Wojciechowski and Benjamin Pierce},
	Institution = {University of Cambridge},
	Title = {Location-Independent Communication for Mobile Agents: a Two-Level Architecture},
	Type = {technical report},
	Url = {http://www.cl.cam.ac.uk/users/pes20/nomadicpict.html},
	Year = {1999},
	Bdsk-Url-1 = {http://www.cl.cam.ac.uk/users/pes20/nomadicpict.html}}

@book{Shaf91a,
	Author = {Dan Shafer and Dean A. Ritz},
	Isbn = {0-387-97394-X},
	Publisher = {Springer-Verlag},
	Title = {Practical {Smalltalk}},
	Year = {1991}}

@book{Shaf95a,
	Address = {Kaiserslautern, Germany},
	Editor = {Wilhelm Schafer and Pere Botella},
	Isbn = {3-540-60406-5},
	Month = sep,
	Publisher = {Springer-Verlag},
	Series = {LNCS},
	Title = {Proceedings {ESEC}'95},
	Volume = {989},
	Year = {1995}}

@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{Shah89a,
	Author = {Ashwin V. Shah and Jung H. Hamel and Renee E. Borsari and James E. Rumbaugh},
	Booktitle = {Proceedings OOPSLA '89, ACM SIGPLAN Notices},
	Month = oct,
	Pages = {191--202},
	Title = {{DSM}: An Object-Relationship Modeling Language},
	Volume = {24},
	Year = {1989}}

@inproceedings{Sham77a,
	Author = {A. Shamir and W. Wadge},
	Booktitle = {Proceedings, ICALP '77},
	Editor = {Salomaa and Steinby},
	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},
	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},
	Month = oct,
	Pages = {258--268},
	Title = {MoDE: {A} {UIMS} for {Smalltalk}},
	Volume = {25},
	Year = {1990}}

@unpublished{Shan92a,
	Author = {Lujun Shang},
	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},
	Note = {Software Systems Research Laboratory, Motorola Inc.},
	Title = {Covariant Deep Subtyping Reconsidered},
	Type = {Draft},
	Year = {1994}}

@inproceedings{Shao93a,
	Author = {Zhong Shao and Andrew W. Appel},
	Booktitle = {Principles of Programming Languages},
	Publisher = {ACM},
	Title = {Smartest recompilation},
	Url = {ftp://ftp.cs.princeton.edu/techreports/1992/395.ps.gz},
	Year = {1993},
	Bdsk-Url-1 = {ftp://ftp.cs.princeton.edu/techreports/1992/395.ps.gz}}

@article{Shap83a,
	Author = {E. Shapiro and A. Takeuchi},
	Journal = {New Generation Computing},
	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},
	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},
	Month = nov,
	Number = {2399},
	Title = {Larchant-{RDOSS}: {A} Distributed Shared Persistent Memory and Its Garbage Collector},
	Type = {Technical Report},
	Url = {ftp.inria.fr},
	Year = {1994},
	Bdsk-Url-1 = {ftp.inria.fr}}

@inproceedings{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{Shar91a,
	Author = {Ravi Sharma and Mary Lou Soffa},
	Booktitle = {Proceedings OOPSLA '91, ACM SIGPLAN Notices},
	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},
	Publisher = {John Wiley},
	Title = {Applied Multivariate Techniques},
	Year = {1996}}

@book{Shar97a,
	Author = {Alec Sharp},
	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/}}

@misc{SharpSmalltalk,
	Author = {John Brant and Don Roberts},
	Key = {SharpSmalltalk},
	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{Shaw06a,
	Address = {Los Alamitos, CA, USA},
	Author = {Shaw, Mary and Clements, Paul},
	Doi = {10.1109/MS.2006.58},
	Journal = {IEEE Software},
	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}}

@article{Shaw77a,
	Author = {M. Shaw and W. Wulf},
	Journal = {CACM},
	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},
	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},
	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},
	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}}

@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},
	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},
	Month = jun,
	Title = {Static Dependent Types for First Class Modules},
	Year = {1990}}

@inproceedings{Shen04a,
	Address = {Washington, DC, USA},
	Author = {Shen, Haifeng and Sun, Chengzheng},
	Booktitle = {COMPSAC '04: Proceedings of the 28th Annual International Computer Software and Applications Conference},
	Date-Added = {2009-10-21 13:17:39 +0200},
	Date-Modified = {2009-10-21 13:17:49 +0200},
	Isbn = {0-7695-2209-2-1},
	Pages = {293--298},
	Publisher = {IEEE Computer Society},
	Title = {A Complete Textual Merging Algorithm for Software Configuration Management Systems},
	Year = {2004}}

@article{Shet90a,
	Author = {Amit P. Sheth and James A. Larson},
	Journal = {ACM Computing Surveys},
	Month = sep,
	Number = {3},
	Pages = {183--236},
	Title = {Federated Database Systems for Managing Distributed Heterogeneous, and Autonomous Databases},
	Volume = {22},
	Year = {1990}}

@inproceedings{Shib88a,
	Author = {Etsuya Shibayama},
	Booktitle = {Proceedings OOPSLA '88, ACM SIGPLAN Notices},
	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},
	Pages = {99--117},
	Publisher = {Springer-Verlag},
	Series = {LNCS},
	Title = {Semantic Layers of Object-Based Concurrent Computing},
	Volume = 612,
	Year = {1992}}

@inproceedings{Shil89a,
	Author = {John J. Shilling and Peter F. Sweeney},
	Booktitle = {ACM SIGPLAN Notices, Proceedings OOPSLA '89},
	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},
	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},
	Month = nov,
	Number = {6},
	Pages = {692--700},
	Title = {Evaluation of Error Recovery Blocks Used for Cooperating Processes},
	Volume = {SE-10},
	Year = {1984}}

@inproceedings{Shiv95a,
	Author = {Narayanan Shivakumar and H\'ector Garc\'{\i}a-Molina},
	Booktitle = {Proceedings of the Second Annual Conference on the Theory and Practice of Digital Libraries},
	Title = {{SCAM}: A Copy Detection Mechanism for Digital Documents},
	Url = {citeseer.ist.psu.edu/shivakumar95scam.html},
	Year = {1995},
	Bdsk-Url-1 = {citeseer.ist.psu.edu/shivakumar95scam.html}}

@incollection{Shiv96a,
	Author = {Olin Shivers},
	Booktitle = {Concurrency and Parallelism: Programming, Networking and Security},
	Editor = {J. Jaffer and R.H.C. Yap},
	Pages = {254--265},
	Publisher = {Springer-Verlag},
	Title = {A universal scripting framework or, {Lambda}: the ultimate little language},
	Year = {1996}}

@inproceedings{Shiv96b,
	Author = {Narayanan Shivakumar and H\'ector Garc\'{\i}a-Molina},
	Booktitle = {Proceedings of the First ACM Conference on Digital Libraries (DL'96)},
	Month = mar,
	Publishr = {ACM},
	Title = {Building a Scalable and Accurate Copy Detection Mechanism},
	Year = {1996}}

@book{Shne80a,
	Author = {Shneiderman},
	Publisher = {Winthrop Publishers},
	Title = {Software Psychology: Human Factors in Computer and Information Systems},
	Year = {1980}}

@article{Shne83a,
	Author = {B. Shneiderman},
	Journal = {IEEE Computer},
	Number = {8},
	Pages = {57--69},
	Title = {Direct Manipulation: {A} Step Beyond Programming Languages},
	Volume = {16},
	Year = {1983}}

@book{Shne98a,
	Author = {Ben Shneiderman},
	Edition = {Third},
	Publisher = {Addison Wesley Longman},
	Title = {Designing the User Interface},
	Year = {1998}}

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

@article{Shoc82a,
	Author = {J. Shoch and J. Hupp},
	Journal = {CACM},
	Month = mar,
	Number = {3},
	Pages = {172--180},
	Title = {The Worm Programs --- Early Experience with a Distributed Computation},
	Volume = {25},
	Year = {1982}}

@inproceedings{Shon04a,
	Author = {Shonle, Macneil and Neddenriep, Jonathan and Griswold, William},
	Booktitle = {OOPSLA Work. on eclipse technology eXchange},
	Pages = {78--82},
	Title = {AspectBrowser for Eclipse: a case study in plug-in retargeting},
	Year = {2004}}

@inproceedings{Shor82a,
	Author = {J. Short and R. Kilgour and M. Dodani},
	Booktitle = {IFIP '82 Working Conference on Involving Micros in Education},
	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},
	Pages = {221--231},
	Publisher = {Springer-Verlag},
	Series = {LNCS},
	Title = {An Ambiguity Resolution Algorithm},
	Volume = {858},
	Year = {1994}}

@book{Shu88a,
	Author = {Nan C. Shu},
	Publisher = {Van Nostrand Reinhold company},
	Title = {Visual Programming},
	Year = {1988}}

@techreport{Shul96a,
	Author = {Forrest Shull and Walcelio L. Melo and Victor R. Basili},
	Institution = {University of Maryland Computer Science Department},
	Number = {CS-TR-3597},
	Title = {An inductive method for discovering design patterns from object-oriented software systems},
	Url = {http://citeseer.nj.nec.com/shull96inductive.html},
	Year = {1996},
	Bdsk-Url-1 = {http://citeseer.nj.nec.com/shull96inductive.html}}

@inproceedings{Si97a,
	Author = {Antonio Si and Hong Va Leong and Rynson W. H. Lau},
	Booktitle = {Proceedings of the ACM Symposion for Applied Computing},
	Month = feb,
	Pages = {70--77},
	Publisher = {ACM},
	Title = {{CHECK}: A Document Plagiarism Detection System},
	Year = {1997}}

@book{Sieg96a,
	Author = {Jon Siegel},
	Isbn = {0-471-12148-7},
	Publisher = {John Wiley % Sons},
	Title = {{CORBA} Fundamentals and Programming},
	Year = {1996}}

@inproceedings{Siek00a,
	Address = {Erfurt, Germany},
	Author = {Jeremy Siek and Andrew Lumsdaine},
	Booktitle = {Proceedings First Workshop on C++ Template Programming},
	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},
	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)},
	Pages = {170--179},
	Publisher = {IEEE Computer Society Press},
	Title = {Identifying {Modules} via {Concept} {Analysis}},
	Url = {http://citeseer.nj.nec.com/siff97identifying.html},
	Year = {1997},
	Bdsk-Url-1 = {http://citeseer.nj.nec.com/siff97identifying.html}}

@article{Siff99a,
	Abstract = {We describe a general technique for identifying
                  modules in legacy code. The method is based on
                  concept analysis---a branch of lattice theory that
                  can be used to identify similarities among a set of
                  objects based on their attributes. We discuss how
                  concept analysis can identify potential modules
                  using both "positive" and "negative" information. We
                  present an algorithmic framework to construct a
                  lattice of concepts from a program, where each
                  concept represents a potential module. We define the
                  notion of a concept partition, present an algorithm
                  for discovering all concept partitions of a given
                  concept lattice, and prove the algorithm correct.},
	Author = {Michael Siff and Thomas Reps},
	Journal = {Transactions on Software Engineering},
	Month = nov,
	Number = {6},
	Pages = {749--768},
	Publisher = {IEEE Press},
	Title = {Identifying Modules via Concept Analysis},
	Volume = {25},
	Year = {1999}}

@book{Sigf96a,
	Author = {Stefan Sigfried},
	Isbn = {0-7803-1095-0},
	Publisher = {IEEE Press},
	Title = {Understanding Object-Oriented Software Enginnering},
	Year = {1996}}

@article{Silb84a,
	Author = {A. Silberschatz},
	Journal = {IEEE Transactions on Software Engineering},
	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},
	Publisher = {WCB/McGraw-Hill},
	Title = {Database System Concepts},
	Year = {1997}}

@article{Sill08a,
	Author = {Sillito, J. and Murphy, G.C. and De Volder, K.},
	Doi = {10.1109/TSE.2008.26},
	Issn = {0098-5589},
	Journal = {Software Engineering, IEEE Transactions on},
	Month = {jul},
	Number = {4},
	Pages = {434-451},
	Title = {Asking and Answering Questions during a Programming Change Task},
	Volume = {34},
	Year = {2008},
	Bdsk-Url-1 = {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},
	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{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{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}}

@misc{Simm02a,
	Author = {Dave Simmons},
	Key = {SS},
	Note = {http://www.smallscript.com},
	Title = {SmallScript},
	Year = {2002}}

@inproceedings{Simm91a,
	Author = {Sergui S. Simmel and Ivan Godard},
	Booktitle = {Proceedings OOPSLA '91, ACM SIGPLAN Notices},
	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},
	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},
	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}}

@book{Simo01,
	Author = {Herbert A. Simon},
	Edition = {3rd},
	Isbn = {0-262-19374-4},
	Publisher = {MIT Press},
	Title = {The Sciences of the Artificial},
	Year = {2001}}

@article{Simo02a,
	Author = {Anthony J. H. Simons},
	Journal = {Journal of Object Technology},
	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},
	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},
	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},
	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},
	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},
	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},
	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},
	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},
	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{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},
	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},
	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}}

@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{Sind07a,
	Address = {Washington, DC, USA},
	Author = {Sindhgatta, Renuka and Pooloth, Krishnakumar},
	Booktitle = {COMPSAC '07: Proceedings of the 31st Annual International Computer Software and Applications Conference},
	Doi = {10.1109/COMPSAC.2007.126},
	Isbn = {0-7695-2870-8},
	Pages = {317--326},
	Publisher = {IEEE Computer Society},
	Title = {Identifying Software Decompositions by Applying Transaction Clustering on Source Code},
	Year = {2007},
	Bdsk-Url-1 = {http://dx.doi.org/10.1109/COMPSAC.2007.126}}

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

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

@book{Siob05,
	Author = {Siobh\'{a}n Clarke and Elisa Baniassad},
	Isbn = {0-321-24674-8},
	Publisher = {Addison-Wesley},
	Title = {Aspect-Oriented Analysis and Design. The Theme Approach.},
	Year = {2005}}

@article{Sita94a,
	Author = {Murali Sitaraman and Bruce Weide},
	Doi = {10.1145/190679.199221},
	Issn = {0163-5948},
	Journal = {SIGSOFT Softw. Eng. Notes},
	Number = {4},
	Pages = {21--22},
	Publisher = {ACM Press},
	Title = {Component-based software using {RESOLVE}},
	Volume = {19},
	Year = {1994},
	Bdsk-Url-1 = {http://dx.doi.org/10.1145/190679.199221}}

@proceedings{Sita96a,
	Address = {Orlando, Florida},
	Booktitle = {Fourth International Conference on Software Reuse},
	Editor = {Murali Sitarama},
	Isbn = {0-8186-7301-X},
	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},
	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},
	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},
	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},
	Note = {\url{http://slate.tunes.org}},
	Title = {Slate}}

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

@book{Sloc05a,
	Address = {Upper Saddle River, New Jersey},
	Author = {Terry A. Slocum and Robert B. McMaster and Fritz C. Kessler and Hugh H. Howard},
	Isbn = {0-13-035123-7},
	Publisher = {Pearson Prentice Hall},
	Title = {Thematic Carthography and Geographic Visualization},
	Year = {2005}}

@inproceedings{Slom01a,
	Author = {A. Slominski and M. Govindaraju and D. Gannon and R. Bramley},
	Booktitle = {In Proceedings of PDPTA'01},
	Month = jun,
	Pages = {1661--1667},
	Title = {Design of an XML based Interoperable RMI System: SoapRMI C++/Java 1.1},
	Year = {2001}}

@inproceedings{SmLP06a,
	Address = {New York, NY, USA},
	Author = {Padioleau, Yoann and Lawall, Julia L. and Muller, Gilles},
	Booktitle = {EuroSys '06: Proceedings of the 1st ACM SIGOPS/EuroSys European Conference on Computer Systems 2006},
	Date-Added = {2009-10-20 14:54:29 +0200},
	Date-Modified = {2009-10-20 14:54:29 +0200},
	Doi = {/10.1145/1217935.1217942},
	Isbn = {1-59593-322-0},
	Location = {Leuven, Belgium},
	Pages = {59--71},
	Publisher = {ACM},
	Title = {Understanding collateral evolution in Linux device drivers},
	Year = {2006},
	Bdsk-Url-1 = {/10.1145/1217935.1217942}}

@inproceedings{SmLP06b,
	Address = {New York, NY, USA},
	Author = {Padioleau, Yoann and Hansen, Ren\'{e} Rydhof and Lawall, Julia L. and Muller, Gilles},
	Booktitle = {PLOS '06: Proceedings of the 3rd workshop on Programming languages and operating systems},
	Date-Added = {2009-10-20 14:54:42 +0200},
	Date-Modified = {2009-10-20 14:54:42 +0200},
	Doi = {/10.1145/1215995.1216005},
	Isbn = {1-59593-577-0},
	Location = {San Jose, California},
	Pages = {10},
	Publisher = {ACM},
	Title = {Semantic patches for documenting and automating collateral evolutions in Linux device drivers},
	Year = {2006},
	Bdsk-Url-1 = {/10.1145/1215995.1216005}}

@misc{SmaCC,
	Author = {John Brant and Don Roberts},
	Key = {SmaCC},
	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{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},
	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}}

@inproceedings{Smar98a,
	Address = {Brussels, Belgium},
	Author = {Yannis Smaragdakis and Don Batory},
	Booktitle = {Proceedings ECOOP '98},
	Editor = {Eric Jul},
	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}}

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

@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},
	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},
	Publisher = {Kluwer Academic Publishers},
	Title = {The Object-Z Specification Language},
	Year = {2000}}

@inproceedings{Smit02a,
	Author = {Michael P. Smith and Malcolm Munro},
	Booktitle = {Proceedings of the 1st International Workshop on Visualizing Software for Understanding and Analysis},
	Isbn = {0-7695-1662-9},
	Pages = {81},
	Publisher = {IEEE Computer Society},
	Title = {Runtime Visualisation of Object Oriented Software},
	Year = {2002}}

@inproceedings{Smit03,
	Author = {Smith, David A. and Alan Kay and Andreas Raab and David P. Reed},
	Booktitle = {Proceedings of the First Conference on Creating, Connecting and Collaborating through Computing},
	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},
	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{Smit77a,
	Author = {J.M. Smith and D.C.P. Smith},
	Journal = {CACM},
	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},
	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},
	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},
	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},
	Month = aug,
	Pages = {855--858},
	Title = {Strobe: Support for Structured Object Knowledge Representation},
	Volume = {2},
	Year = {1983}}

@inproceedings{Smit84a,
	Author = {Brian Cantwell Smith},
	Booktitle = {Proceedings of POPL '84},
	Pages = {23--3},
	Title = {Reflection and Semantics in Lisp},
	Year = {1984}}

@inproceedings{Smit86a,
	Author = {Reid G. Smith and Rick Dinitz and Paul Barth},
	Booktitle = {Proceedings OOPSLA '86, ACM SIGPLAN Notices},
	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},
	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.},
	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},
	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},
	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},
	Publisher = {Benjamin/Cummings Publishing},
	Title = {{Smalltalk} the Language},
	Year = {1995}}

@inproceedings{Smit95c,
	Author = {W.R. Smith},
	Booktitle = {Proceedings of OOPSLA '95},
	Month = oct,
	Organization = {ACM},
	Pages = {61--73},
	Title = {Using a Prototype-based Language for User Interface: The Newton Project's Experience},
	Year = {1995}}

@article{Smit96a,
	Author = {Randall B. Smith and Dave Ungar},
	Doi = {10.1002/(SICI)1096-9942(1996)2:3%3C161::AID-TAPO3%3E3.0.CO;2-Z},
	Journal = {TAPOS special issue on Subjectivity in Object-Oriented Systems},
	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}}

@phdthesis{Smit97a,
	Address = {Stanford, CA, USA},
	Author = {David Canfield Smith},
	Order_No = {AAI7525608},
	School = {Stanford University},
	Title = {Pygmalion: a creative programming environment},
	Year = {1975}}

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

@techreport{Smol89a,
	Address = {Stuttgart},
	Author = {Gert Smolka},
	Institution = {IBM Germany},
	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},
	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},
	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},
	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/}}

@book{Smul82a,
	Author = {Raymond Smullyan},
	Publisher = {Oxford},
	Title = {The Lady or the Tiger? and other Logic Puzzles},
	Year = {1982}}

@book{Snea73a,
	Address = {San Francisco},
	Author = {P.H.A. Sneath and R.R. Sokal},
	Publisher = {W. H. Freeman and Company},
	Title = {Numerical Taxonomy: The Principles and Practice of Numerical Classification},
	Year = {1973}}

@inproceedings{Snee04a,
	Author = {Sneed, H.M.},
	Booktitle = {Software Maintenance, 2004. Proceedings. 20th IEEE International Conference on},
	Doi = {10.1109/ICSM.2004.1357810},
	Issn = {1063-6773},
	Month = {sep},
	Pages = {264-273},
	Title = {A cost model for software maintenance \& evolution},
	Year = {2004},
	Bdsk-Url-1 = {http://dx.doi.org/10.1109/ICSM.2004.1357810}}

@inproceedings{Snee99a,
	Author = {Harry M. Sneed},
	Booktitle = {Proceedings of the 6th Working Conference on Reverse Engineering (WCRE)},
	Publisher = {IEEE},
	Title = {Risks Involved in Reengineering Projects},
	Year = {1999}}

@inproceedings{Snel00a,
	Author = {Gregor Snelting},
	Booktitle = {Proceedings 4th European Conference on Software Maintenance and Reengineeering},
	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},
	Month = may,
	Pages = {540--582},
	Title = {Understanding {Class} {Hierarchies} {Using} {Concept} {Analysis}},
	Year = {2000}}

@article{Snel96a,
	Author = {Gregor Snelting},
	Journal = {ACM Transactions on Software Engineering and Methodology},
	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},
	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},
	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)},
	Month = jun,
	Pages = {1--10},
	Publisher = {ACM Press},
	Title = {Concept {Analysis} --- A {New} {Framework} for {Program} {Understanding}},
	Year = {1998}}

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

@manual{Sniff96a,
	Organization = {TakeFive Software GmbH},
	Title = {SNiFF+},
	Year = {1996}}

@article{Snod83a,
	Author = {R. Snodgrass},
	Journal = {IEEE Transactions on Software Engineering},
	Month = jan,
	Number = {1},
	Pages = {1--8},
	Title = {An Object-Oriented Command Language},
	Volume = {SE-9},
	Year = {1983}}

@book{Snyd03a,
	Author = {Carolyn Snyder},
	Isbn = {1558608702},
	Publisher = {Morgan Kaufmann},
	Title = {Paper Prototyping},
	Year = {2003}}

@phdthesis{Snyd79a,
	Author = {Alan Snyder},
	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},
	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},
	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},
	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},
	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},
	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")},
	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},
	Month = apr,
	Pages = {67--68},
	Title = {Open Systems for Software: An Object-Oriented Solution},
	Volume = {5},
	Year = {1994}}

@book{Soan01a,
	Editor = {Catherine Soanes},
	Month = jul,
	Publisher = {Oxford University Press},
	Title = {Oxford Dictionary of Current English},
	Year = {2001}}

@inproceedings{Sobe96a,
	Address = {San Francisco, USA},
	Author = {J.M. Sobel and Daniel P. Friedman},
	Booktitle = {Proceedings of the 1st International Conference on Metalevel Architectures and Reflection (Reflection 96)},
	Editor = {Gregor Kiczales},
	Month = apr,
	Title = {An Introduction to Reflection-Oriented Programming},
	Year = {1996}}

@inproceedings{Sobr08a,
	Author = {Victor Sobreira and Marcelo de Almeida Maia},
	Booktitle = {Proceedings of the 15th Working Conference on Reverse Engineering (WCRE 2008)},
	Title = {A Visual Trace Analysis Tool for Understanding Feature Scattering},
	Year = {2008}}

@inproceedings{Soch06a,
	Author = {Periklis Sochos and Matthias Riebisch and Ilka Philippow},
	Booktitle = {Proceedings of International Symposium on Engineering of Computer Based Systems (ECBS'06)},
	Pages = {308--318},
	Publisher = {IEEE Computer Society},
	Title = {The Feature-Architecture Mapping (FArM) Method for Feature-Oriented Development of Software Product Lines},
	Year = {2006}}

@book{Sole90a,
	Address = {Frameington, MA},
	Editor = {Richard Soley},
	Month = jun,
	Publisher = {Object Management Group},
	Title = {Object Management Architecture Guide: Revision 3.0},
	Year = {1995}}

@phdthesis{Solm05a,
	Author = {Riccardo Solmi},
	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{Somm00a,
	Author = {Ian Sommerville},
	Edition = {Sixth},
	Publisher = {Addison Wesley},
	Title = {Software Engineering},
	Year = {2000}}

@book{Somm92a,
	Author = {Ian Sommerville},
	Edition = {Fourth},
	Isbn = {0-201-56529-3},
	Publisher = {Addison Wesley},
	Title = {Software Engineering},
	Year = {1992}}

@proceedings{Somm93a,
	Editor = {Ian Sommerville and Manfred Paul},
	Isbn = {3-540-57209-0},
	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},
	Publisher = {Addison Wesley},
	Title = {Software Engineering},
	Year = {1996}}

@inproceedings{Song06a,
	Address = {Washington, DC, USA},
	Author = {Haitao Song and Yingyu Yin and Shixiong Zheng},
	Booktitle = {ISDA '06: Proceedings of the Sixth International Conference on Intelligent Systems Design and Applications (ISDA'06)},
	Doi = {10.1109/ISDA.2006.137},
	Isbn = {0-7695-2528-8},
	Pages = {1003--1008},
	Publisher = {IEEE Computer Society},
	Title = {Dynamic Aspects Weaving in Service Composition},
	Year = {2006},
	Bdsk-Url-1 = {http://dx.doi.org/10.1109/ISDA.2006.137}}

@inproceedings{Soni95a,
	Address = {Seattle},
	Author = {Dilip Soni and Robert L. Nord and Christine Hofmeister},
	Booktitle = {Proceedings ICSE '95},
	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},
	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{Sorg88a,
	Address = {Oslo},
	Author = {P\o{a}l S{\/o}rgaard},
	Booktitle = {Proceedings ECOOP '88},
	Editor = {S. Gjessing and K. Nygaard},
	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},
	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},
	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},
	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},
	Publisher = {Addison Wesley},
	Title = {Objects, Components and Frameworks with {UML}: The Catalysis Approach},
	Year = {1999}}

@inproceedings{Spah88a,
	Author = {Stephane Spahni and J{\"u}rgen Harms},
	Booktitle = {Proceedings 1988 International Zurich Seminar on Digital Communications},
	Misc = {March 8-10},
	Month = mar,
	Pages = {239--246},
	Publisher = {IEEE Cat. No. 88TH0202-2},
	Title = {A Local Name Server for Organizational Message Handling Systems},
	Year = {1988}}

@techreport{Spec04a,
	Abstract = {Piccola is a language to compose software
                  components. It is designed to support different
                  composition styles. Furthermore, mixins and mixin
                  layers are a powerfull composition style. So it was
                  an interesting question if mixins and mixin layers
                  could be implemented with Piccola. To prove this I
                  first simulated the structure for mixins and then
                  implemented a small mixin layer library for graph
                  manipulation.},
	Author = {Daria Spescha},
	Institution = {University of Bern},
	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},
	Publisher = {Adisson-Wesley},
	Title = {Information Visualization},
	Year = {2001}}

@misc{Spielverderber,
	Author = {Roland Pl\"uss and Philippe Marschall},
	Key = {Spielverderber},
	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},
	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},
	Publisher = {Addison-Wesley},
	Title = {{Code Reading} The Open Source Perspective},
	Year = {2003}}

@inproceedings{Spin06a,
	Address = {Portland, OR, USA},
	Author = {Olaf Spinczyk Daniel Lohmann and Wolfgang Schr\"{o}der-Preikschat},
	Booktitle = {Proceedings of the 1st Workshop on Aspect-oriented Product Line Engineering (AOPLE' 06)},
	Note = {In conjunction with GPCE'06},
	Title = {Concern Hierarchies},
	Year = {2006}}

@book{Spiv89a,
	Author = {J. Spivey},
	Isbn = {13-978529-9},
	Publisher = {Prentice-Hall},
	Title = {The {Z} Notation: {A} Reference Manual},
	Year = {1989}}

@misc{Spoo00a,
	Author = {Lex Spoon},
	Title = {Objects as Capabilities in Squeak},
	Year = {2000}}

@inproceedings{Spoo04a,
	Author = {S. Alexander Spoon and Olin Shivers},
	Booktitle = {Proceedings of the Dynamic Languages Symposium'05},
	Editor = {Roel Wuyts},
	Pages = {35--48},
	Publisher = {ACM Digital Library},
	Title = {Dynamic Data Polyvariance Using Source-Tagged Classes},
	Year = {2005}}

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

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

@article{Spoo84a,
	Author = {David L. Spooner and E. Gudes},
	Journal = {IEEE Transactions on Software Engineering},
	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}}

@book{Spri89a,
	Author = {George Springer and Daniel P. Friedman},
	Isbn = {0-262-19288-8},
	Publisher = {MIT Press},
	Series = {MIT electrical engineering and computer science series.},
	Title = {Scheme and the art of programming.},
	Year = {1989}}

@misc{Squawk,
	Key = {Squawk},
	Note = {http://research.sun.com/projects/squawk},
	Title = {The Squawk Project}}

@misc{Squeak,
	Author = {Squeak},
	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.},
	Author = {Oscar Nierstrasz},
	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},
	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 = {New York, NY, USA},
	Author = {Sreedhar, Vugranam C.},
	Booktitle = {ICSE'02: Proceedings of the 24th International Conference on Software Engineering},
	Doi = {10.1145/581339.581366},
	Location = {Orlando, FL, USA},
	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},
	Month = nov,
	Pages = {95--104},
	Title = {Configuring Stand-Alone {Smalltalk}-80 Applications},
	Volume = {23},
	Year = {1988}}

@inproceedings{Srin08a,
	Author = {Sriram Srinivasan and Alan Mycroft},
	Bibsource = {DBLP, http://dblp.uni-trier.de},
	Booktitle = {22nd European Conference on Object-Oriented Programming (ECOOP)},
	Ee = {10.1007/978-3-540-70592-5_6},
	Pages = {104-128},
	Publisher = {Springer},
	Series = {Lecture Notes in Computer Science},
	Title = {Kilim: Isolation-Typed Actors for Java},
	Volume = {5142},
	Year = {2008}}

@article{Stad82a,
	Author = {R. Staden},
	Journal = {Nucleic Acids Research},
	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},
	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},
	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},
	Month = jun,
	Pages = {57--71},
	Title = {TeamWorks: Towards a Framework for Reuse},
	Type = {Object Composition},
	Year = {1991}}

@misc{Star00X,
	Author = {Roel Wuyts},
	Key = {StarBrowser},
	Note = {http://www.iam.unibe.ch/$\sim$wuyts/StarBrowser/},
	Title = {{Star} {Browser}}}

@inproceedings{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},
	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{Star93a,
	Author = {Mike Stark},
	Booktitle = {Proceedings OOPSLA '93, ACM SIGPLAN Notices},
	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},
	Publisher = {Prentice-Hall},
	Title = {How to Build Shlaer-Mellor Object Models},
	Year = {1996}}

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

@article{Stas90a,
	Author = {John T. Stasko},
	Journal = {IEEE Computer},
	Month = sep,
	Number = {9},
	Pages = {27--39},
	Title = {TANGO: A Framework and System for Algorithm Animation},
	Volume = {23},
	Year = {1990}}

@book{Stas98a,
	Author = {John T. Stasko and John Domingue and Marc H. Brown and Blaine A. Price},
	Publisher = {The MIT Press},
	Title = {Software Visualization --- Programming as a Multimedia Experience},
	Year = {1998}}

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

@phdthesis{Stee80a,
	Author = {G.L. Steele},
	School = {MIT},
	Title = {The definition and implementation of a computer programming language based on constraints},
	Year = {1980}}

@phdthesis{Stee88a,
	Author = {Maarten van Steen},
	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},
	Month = jul,
	Pages = {1--11},
	Publisher = {Springer-Verlag},
	Series = {LNCS},
	Title = {Beyond Objects},
	Volume = {821},
	Year = {1994}}

@article{Stee99a,
	Address = {(Hingham, MA)},
	Author = {Guy Steele},
	Doi = {10.1023/A:1010085415024},
	Issn = {1388-3690},
	Journal = {Higher-Order and Symbolic Computation},
	Month = oct,
	Number = {3},
	Pages = {221--236},
	Publisher = {Kluwer Academic Publishers},
	Title = {Growing a Language},
	Url = {http://homepages.inf.ed.ac.uk/wadler/steele-oopsla98.pdf},
	Volume = {12},
	Year = {1999},
	Bdsk-Url-1 = {http://homepages.inf.ed.ac.uk/wadler/steele-oopsla98.pdf},
	Bdsk-Url-2 = {http://dx.doi.org/10.1023/A:1010085415024}}

@inproceedings{Steel88a,
	Author = {Luc Steels},
	Booktitle = {Meta-level Architectures and Reflection},
	Editor = {North-Holland, P. Maes and D. Nardi},
	Pages = {51--59},
	Title = {Meaning in knowledge representation},
	Year = {1988}}

@article{Stef83a,
	Author = {Mark Stefik and Daniel G. Bobrow and Sanja Mittal and L. Conway},
	Journal = {The AI Magazine},
	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},
	Month = dec,
	Title = {Object-Oriented Programming: Themes and Variations},
	Year = {1985}}

@article{Stef86a,
	Author = {M. Stefik and Daniel G. Bobrow and K. Kahn},
	Journal = {IEEE Software (USA)},
	Month = jan,
	Number = {1},
	Pages = {10--18},
	Title = {Integrating Access-Oriented Programming into a Multiparadigm Environment},
	Volume = {3},
	Year = {1986}}

@phdthesis{Steg92a,
	Author = {Robert A. Stegwee},
	School = {University of Groningen, Groningen, The Netherlands},
	Title = {Division for {Conquest} --- {Decision} {Support} for {Information} {Architecture} {Specification}},
	Type = {{Ph.D}. Thesis},
	Year = {1992}}

@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},
	Month = jun,
	School = {University of Bern},
	Title = {Recovering the Evolution of Object Oriented Software Systems Using a Flexible Query Engine},
	Type = {Diploma thesis},
	Url = {http://scg.unibe.ch/archive/masters/Stei01a.pdf},
	Year = {2001},
	Bdsk-Url-1 = {http://scg.unibe.ch/archive/masters/Stei01a.pdf}}

@article{Stei06a,
	Address = {New York, NY, USA},
	Author = {Friedrich Steimann},
	Doi = {10.1145/1167515.1167514},
	Issn = {0362-1340},
	Journal = {SIGPLAN Not.},
	Number = {10},
	Pages = {481--497},
	Publisher = {ACM},
	Title = {The paradoxical success of aspect-oriented programming},
	Volume = {41},
	Year = {2006},
	Bdsk-Url-1 = {http://dx.doi.org/10.1145/1167515.1167514}}

@article{Stei06b,
	Author = {Cara Stein and Letha Etzkorn and Sampson Gholston and Phillip Farrington and Julie Fortune},
	Journal = {INFOCOMP Journal of Computer Science},
	Number = {4},
	Pages = {44--53},
	Title = {A Knowledge-Based Cohesion Metric for Object-Oriented Software},
	Volume = {5},
	Year = {2006}}

@inproceedings{Stei87a,
	Author = {Lynn Andrea Stein},
	Booktitle = {Proceedings OOPSLA '87, ACM SIGPLAN Notices},
	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},
	Pages = {31--48},
	Publisher = {ACM Press, Addison Wesley},
	Title = {A Shared View of Sharing: The Treaty of Orlando},
	Year = {1989}}

@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},
	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},
	Location = {Brest, France},
	Medium = {2},
	Pages = {50--57},
	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},
	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},
	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}}

@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},
	Publisher = {Prentice-Hall},
	Title = {Unix Network Programming},
	Year = {1990}}

@inproceedings{Stev98a,
	Author = {Perdita Stevens and Rob Pooley},
	Booktitle = {Proceedings of FSE-6},
	Publisher = {ACM-SIGSOFT},
	Title = {System Reengineering Patterns},
	Year = {1998}}

@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{Stew81a,
	Author = {Steward, D.},
	Journal = {IEEE Transactions on Engineering Management},
	Number = {3},
	Pages = {71--74},
	Title = {The design structure matrix: A method for managing the design of complex systems},
	Volume = {28},
	Year = {1981}}

@article{Stew96a,
	Author = {Steward, Donald V.},
	Journal = {IEEE Transactions on Engineering Management},
	Number = {3},
	Pages = {71-74},
	Title = {The Design structure system: A method for managing the design of complex systems},
	Url = {http://www.scopus.com/inward/record.url?eid=2-s2.0-0019597497&partnerID=40},
	Volume = {EM-28},
	Year = {1981},
	Bdsk-Url-1 = {http://www.scopus.com/inward/record.url?eid=2-s2.0-0019597497&partnerID=40}}

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

@inproceedings{Stir89a,
	Author = {Colin Stirling and David Walker},
	Booktitle = {Proceedings TAPSOFT '89},
	Editor = {D\'iaz and Orejas},
	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},
	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/}}

@misc{Stor00a,
	Author = {C. Stork and V. Haldar and M. Franz},
	Text = {C. H. Stork, V. Haldar, and M. Franz. Generic adaptive syntax-directed compression for mobile code. Technical Report 00-42, Department of Information and Computer Science, University of California, Irvine, Nov. 2000.},
	Title = {Generic adaptive syntax-directed compression for mobile code},
	Year = {2000}}

@inproceedings{Stor01a,
	Author = {Margaret-Anne Storey and Casey Best and Jeff Michaud},
	Booktitle = {Proceedings of International Workshop on Program Comprehension (IWPC '2001)},
	Title = {{SHriMP Views}: An Interactive and Customizable Environment for Software Exploration},
	Year = {2001}}

@article{Stor02a,
	Author = {Margaret-Anne D. Storey and Susan Elliott Sim and Kenny Wong},
	Journal = {ACM SIGAPP Applied Computing Review},
	Number = {1},
	Pages = {18--25},
	Publisher = {ACM},
	Title = {A Collaborative Demonstration of Reverse Engineering Tools},
	Volume = {10},
	Year = {2002}}

@inproceedings{Stor05a,
	Author = {Storey, Margaret-Anne D. and \v{C}ubrani\'c, Davor and German, Daniel M.},
	Booktitle = {SoftVis'05: Proceedings of the 2005 ACM symposium on software visualization},
	Doi = {10.1145/1056018.1056045},
	Isbn = {1595930736},
	Pages = {193--202},
	Publisher = {ACM Press},
	Title = {On the use of visualization to support awareness of human activities in software development: a survey and a framework},
	Url = {http://portal.acm.org/citation.cfm?id=1056018.1056045},
	Year = {2005},
	Bdsk-Url-1 = {http://portal.acm.org/citation.cfm?id=1056018.1056045},
	Bdsk-Url-2 = {http://dx.doi.org/10.1145/1056018.1056045}}

@inproceedings{Stor05b,
	Author = {Margaret-Anne D. Storey},
	Booktitle = {13th International Workshop on Program Comprehension (IWPC)},
	Pages = {181-191},
	Title = {Theories, Methods and Tools in Program Comprehension: Past, Present and Future},
	Year = {2005}}

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

@book{Stoy77a,
	Author = {Joseph E. Stoy},
	Isbn = {0-262-69076-4},
	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},
	Title = {What is an `Object-Oriented' Programming Language?},
	Year = {1984}}

@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},
	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},
	Month = may,
	Title = {Stamp --- A Mailing List Manager for Squeak},
	Type = {Informatikprojekt},
	Url = {http://scg.unibe.ch/archive/projects/Stra07a.pdf},
	Year = {2007},
	Bdsk-Url-1 = {http://scg.unibe.ch/archive/projects/Stra07a.pdf}}

@mastersthesis{Stra08a,
	Abstract = {Cross-cutting concerns in OOP lead to scattered and
                  tangled code that reduces transparency and
                  maintainability of a program, and produces
                  duplicated code. Common examples of cross-cutting
                  concerns are logging, caching or database
                  transactions in an application. Rather than trying
                  to break down such concerns into classes and
                  objects, the entity of modularization in
                  aspect-oriented programming (AOP) are aspects. An
                  aspect in AOP is the pendant of an object in OOP.
                  With aspects such problems can be solved much easier
                  and can be isolated into single entities. AOP can be
                  seen as programming paradigm that builds on top of
                  an existing paradigm and language. Today most AOP is
                  done on top of OOP. Dynamic Aspects is a lightweight
                  AOP implementation for Squeak Smalltalk that profits
                  from the advanced reflection tools developed by the
                  Software Composition Group. Sub-method level
                  reflection allows to select single statements within
                  methods. Annotation of such statements allows
                  extrinsic addition of behavior at any location in
                  code. Finally, the idea of partial behavioral
                  reflection gives the system great flexibility. All
                  those tools are the core Dynamic Aspects builds
                  upon. Beyond the basic AOP implementation, Dynamic
                  Aspects links to the field of context-oriented
                  programming and shows how contexts can be used in
                  aspects. Furthermore, the idea of control flow is
                  generalized and generic flow is implemented with
                  contexts.},
	Author = {Anselm Strauss},
	Month = nov,
	School = {University of Bern},
	Title = {Dynamic Aspects --- An {AOP} Implementation for {Squeak}},
	Type = {Master's thesis},
	Url = {http://scg.unibe.ch/archive/masters/Strau08a.pdf},
	Year = {2008},
	Bdsk-Url-1 = {http://scg.unibe.ch/archive/masters/Strau08a.pdf}}

@inproceedings{Stra90a,
	Author = {Dave D. Straube and M. Tamer Oezsu},
	Booktitle = {Proceedings OOPSLA/ECOOP '90, ACM SIGPLAN Notices},
	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},
	Month = oct,
	Pages = {192--200},
	Title = {{IRIS} Inventor, {A} 3D Graphics Toolkit},
	Volume = {28},
	Year = {1993}}

@inproceedings{Stre04a,
	Address = {New York, NY, USA},
	Author = {Mirko Streckenbach and Gregor Snelting},
	Booktitle = {OOPSLA '04: Proceedings of the 19th annual ACM SIGPLAN Conference on Object-oriented programming, systems, languages, and applications},
	Doi = {10.1145/1028976.1029003},
	Isbn = {1-58113-831-9},
	Location = {Vancouver, BC, Canada},
	Pages = {315--330},
	Publisher = {ACM Press},
	Title = {Refactoring Class Hierarchies with {KABA}},
	Year = {2004},
	Bdsk-Url-1 = {http://dx.doi.org/10.1145/1028976.1029003}}

@techreport{Stre07a,
	Abstract = {Several graphics file formats exist today, each with
                  its own strengths and weaknesses. However, most of
                  them are static formats. Adobe's Flash File Format
                  (SWF) takes another approach. It is a vector
                  graphics format which comes with a built-in script
                  language, allowing the user to directly interact
                  with the graphics. Furthermore, SWF has other
                  interesting aspects like its popularity and
                  availability, support for alpha blending or the
                  possibility to include video and sound. The goal of
                  this thesis is to provide a solution to create SWF
                  files directly from Smalltalk. We present our
                  implementation named Basil and as a validation we
                  show how to use it for visualization purposes.},
	Author = {Lucas Streit},
	Institution = {University of Bern},
	Month = oct,
	Title = {Basil --- Scripting {Flash} from {Smalltalk}},
	Type = {Bachelor's thesis},
	Url = {http://scg.unibe.ch/archive/projects/Stre07a.pdf},
	Year = {2007},
	Bdsk-Url-1 = {http://scg.unibe.ch/archive/projects/Stre07a.pdf}}

@inproceedings{Stre94a,
	Address = {Bologna, Italy},
	Author = {Norbert A. Streitz},
	Booktitle = {Proceedings ECOOP '94},
	Editor = {M. Tokoro and R. Pareschi},
	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{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)},
	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},
	Pages = {625--633},
	Publisher = {Springer},
	Series = {Lecture Notes in Computer Science},
	Title = {High-Throughput Multi-dimensional Scaling {(HiT-MDS)} for {cDNA-Array} Expression Data},
	Url = {http://dblp.uni-trier.de/db/conf/icann/icann2005-1.html#StrickertTSS05},
	Volume = {3696},
	Year = {2005},
	Bdsk-Url-1 = {http://dblp.uni-trier.de/db/conf/icann/icann2005-1.html#StrickertTSS05}}

@inproceedings{Strn07a,
	Address = {New York, NY, USA},
	Author = {Rok Strni\v{s}a and Peter Sewell and Matthew Parkinson},
	Booktitle = {OOPSLA '07: Proceedings of the 22nd annual ACM SIGPLAN conference on Object oriented programming systems and applications},
	Doi = {10.1145/1297027.1297064},
	Isbn = {978-1-59593-786-5},
	Location = {Montreal, Quebec, Canada},
	Pages = {499--514},
	Publisher = {ACM},
	Title = {The java module system: core design and semantic definition},
	Year = {2007},
	Bdsk-Url-1 = {http://dx.doi.org/10.1145/1297027.1297064}}

@article{Stro02a,
	Author = {E. Stroulia and T. Syst\"a},
	Institution = {ACM},
	Journal = {SIGAPP. Applied Computing Review},
	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}}

@techreport{Stro84a,
	Address = {Murray Hill, New Jersey 07974},
	Author = {Bjarne Stroustrup},
	Institution = {AT\&T Bell Laboratories},
	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},
	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},
	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},
	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},
	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},
	Publisher = {Addison Wesley},
	Title = {The {C}++ Programming Language},
	Year = {1986}}

@article{Stro86c,
	Author = {Bjarne Stroustrup},
	Journal = {ACM SIGPLAN Notices},
	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},
	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},
	Publisher = {Addison Wesley},
	Title = {The Annotated {C}++ Reference Manual},
	Year = {1990}}

@book{Stro94a,
	Address = {Reading, Mass.},
	Author = {Bjarne Stroustrup},
	Isbn = {0-201-54330-3},
	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},
	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},
	Publisher = {Addison Wesley},
	Title = {The {C}++ Programming Language},
	Year = {1997}}

@misc{Strongtalk,
	Key = {Strongtalk},
	Note = {http://bracha.org/nwst.html},
	Title = {The Strongtalk Type System for Smalltalk},
	Url = {http://bracha.org/nwst.html},
	Bdsk-Url-1 = {http://bracha.org/nwst.html}}

@misc{StrongtalkVm,
	Key = {StrongtalkVm},
	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},
	Publisher = {Allyn and Bacon},
	Title = {The Elements of Style},
	Year = {2000}}

@mastersthesis{Stua08a,
	Address = {Denmark},
	Author = {Henrik Stuart},
	Date-Added = {2009-10-20 14:56:10 +0200},
	Date-Modified = {2009-10-20 15:08:08 +0200},
	Month = {aug},
	School = {University of Copenhagen},
	Title = {Hunting bugs with Coccinelle},
	Year = {2008}}

@book{Stud02,
	Author = {Studio 7.5},
	Isbn = {2-88479-011-X},
	Publisher = {Ava Publishing SA},
	Title = {Navigation for the Internet and other Digital Media},
	Year = {2002}}

@unpublished{Stur94a,
	Author = {Daniel C. Sturman and Gul A. Agha},
	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},
	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}}

@misc{Subtext,
	Key = {Subtext},
	Note = {http://subtextual.org/},
	Title = {Subtext programming language home page},
	Url = {http://subtextual.org/},
	Bdsk-Url-1 = {http://subtextual.org/}}

@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.},
	Author = {Mathieu Suen},
	School = {Universit\'e de Savoie},
	Title = {Package blueprints},
	Url = {http://scg.unibe.ch/archive/masters/Suen07b.pdf},
	Year = {2007},
	Bdsk-Url-1 = {http://scg.unibe.ch/archive/masters/Suen07b.pdf}}

@article{Sugi81a,
	Author = {K. Sugiyama and S. Tagawa and M. Toda},
	Journal = {IEEE Transactions on Systems, Man and Cybernetics},
	Month = feb,
	Number = {2},
	Title = {Methods for Visual Understanding of Hierarchical System Structures},
	Volume = {SMC-11},
	Year = {1981}}

@inproceedings{Sull01a,
	Author = {Kevin J. Sullivan and William G. Griswold and Yuanfang Cai and Ben Hallen},
	Booktitle = {ESEC/FSE 2001},
	Title = {The Structure and Value of Modularity in SOftware Design},
	Year = {2001}}

@article{Sull01b,
	Address = {New York, NY, USA},
	Author = {Gregory T. Sullivan},
	Doi = {10.1145/383845.383865},
	Issn = {0001-0782},
	Journal = {Commun. ACM},
	Number = {10},
	Pages = {95--97},
	Publisher = {ACM},
	Title = {Aspect-oriented programming using reflection and metaobject protocols},
	Volume = {44},
	Year = {2001},
	Bdsk-Url-1 = {http://dx.doi.org/10.1145/383845.383865}}

@inproceedings{Sull05a,
	Author = {Kevin J. Sullivan and William G. Griswold and Yuanyuan Song and Yuanfang Cai and Macneil Shonle and Nishit Tewari and Hridesh Rajan},
	Booktitle = {Proceedings of the ESEC/SIGSOFT FSE 2005},
	Pages = {166--175},
	Title = {Information hiding interfaces for aspect-oriented design},
	Year = {2005}}

@inproceedings{Sull05b,
	Author = {Kevin J. Sullivan and Hridesh Rajan},
	Booktitle = {27th International Conference on Software Engineering (ICSE'05)},
	Journal = {ICSE},
	Pages = {59--68},
	Title = {Classpects: unifying aspect- and object-oriented language design},
	Year = {2005}}

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

@article{Summ77a,
	Address = {New York, NY, USA},
	Author = {Phillip D. Summers},
	Doi = {10.1145/321992.322002},
	Issn = {0004-5411},
	Journal = {J. ACM},
	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{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},
	Pages = {725--734},
	Publisher = {ACM},
	Title = {Object-{Z} Web Environment and Projections to {UML}},
	Year = {2001}}

@techreport{Sun88a,
	Author = {{Sun Microsystem}},
	Institution = {Sun Microsystem},
	Title = {{RPC}: Remote Procedure Call protocol specification, version 2},
	Year = {1988}}

@misc{SunJ2EEPatterns,
	Key = {SunJ2EEPatterns},
	Note = {http://java.sun.com\-/blue\-prints\-/core\-j2ee\-patterns\-/Patterns\-/index.html},
	Title = {Sun J2EE Patterns Catalogue},
	Url = {http://java.sun.com/blueprints/corej2eepatterns/Patterns/index.html},
	Bdsk-Url-1 = {http://java.sun.com/blueprints/corej2eepatterns/Patterns/index.html}}

@inproceedings{Sund04a,
	Address = {Los Alamitos, CA, USA},
	Author = {Sundresh, Sameer and Kim, Wooyoung and Agha, Gul},
	Booktitle = {Proceedings of the 37th Annual Simulation Symposium},
	Doi = {10.1109/SIMSYM.2004.1299486},
	Issn = {1080-241X},
	Journal = {Simulation Symposium, Annual},
	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}}

@misc{Sunm96a,
	Author = {Sun Microsystems},
	Institution = {Sun Microsystems},
	Title = {The {Java} Native Code API},
	Year = {1996}}

@article{Suss80a,
	Author = {G. Sussman and G. Steele},
	Journal = {Artificial Intelligence},
	Number = {1},
	Pages = {1--39},
	Title = {CONSTRAINTS: a language for expressing almost-hierarchical descriptions},
	Volume = {14},
	Year = {1980}}

@phdthesis{Suth63a,
	Author = {Ivan Edward Sutherland},
	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{Suzu81a,
	Address = {New York, NY, USA},
	Author = {Norihisa Suzuki},
	Booktitle = {POPL '81: Proceedings of the 8th ACM SIGPLAN-SIGACT symposium on Principles of programming languages},
	Doi = {10.1145/567532.567553},
	Isbn = {0-89791-029-X},
	Location = {Williamsburg, Virginia},
	Pages = {187--199},
	Publisher = {ACM Press},
	Title = {Inferring types in Smalltalk},
	Year = {1981},
	Bdsk-Url-1 = {http://dx.doi.org/10.1145/567532.567553}}

@inproceedings{Svet01a,
	Author = {Davor Svetinovic and Michael Godfrey},
	Booktitle = {Proceedings Eight Working Conference on Reverse Engineering (WCRE'01)},
	Month = oct,
	Title = {A Lightweight Architecture Recovery Process},
	Year = {2001}}

@misc{Svn00a,
	Key = {Subversion},
	Title = {Subversion},
	Url = {http://subversion.tigris.org},
	Bdsk-Url-1 = {http://subversion.tigris.org}}

@article{Svob84a,
	Author = {L. Svobodova},
	Journal = {IEEE Transactions on Software Engineering},
	Month = may,
	Number = {3},
	Pages = {257--268},
	Title = {Resilient Distributed Computing},
	Volume = {SE-10},
	Year = {1984}}

@article{Swar82a,
	Author = {W. Swartout and R. Balzer},
	Journal = {CACM},
	Pages = {438--440},
	Title = {On the Inevitable Intertwining of Specification and Implementation},
	Volume = {25},
	Year = {1982}}

@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.},
	Pages = {98--107},
	Publisher = {ACM Press},
	Title = {Extracting Library-Based Object-Orientated Applications},
	Year = {2000}}

@inproceedings{Swee85a,
	Author = {R.E. Sweet},
	Booktitle = {Proceedings ACM SIGPLAN 85 Symposium on Language Issues in Programming Environments, ACM SIGPLAN Notices},
	Month = jul,
	Pages = {216--229},
	Title = {The Mesa Programming Environment},
	Volume = {20},
	Year = {1985}}

@inproceedings{Swee99a,
	Author = {Peter F. Sweeney and Joseph (Yossi) Gil},
	Booktitle = {Proceedings OOPSLA '99},
	Doi = {10.1145/320384.320408},
	Isbn = {1-58113-238-7},
	Location = {Denver, Colorado, United States},
	Pages = {256--275},
	Publisher = {ACM Press},
	Title = {Space and time-efficient memory layout for multiple inheritance},
	Year = {1999},
	Bdsk-Url-1 = {http://dx.doi.org/10.1145/320384.320408}}

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

@phdthesis{Syst00a,
	Author = {Tarja Syst{\"a}},
	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{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}}

@inproceedings{Szcz88a,
	Author = {Martha R. Szczur and Philip Miller},
	Booktitle = {Proceedings OOPSLA '88, ACM SIGPLAN Notices},
	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},
	Month = nov,
	Pages = {36--45},
	Title = {A User Interface Toolkit Based on Graphical Objects and Constraints},
	Volume = {23},
	Year = {1988}}

@book{Szyp02a,
	Author = {Clemens A. Szyperski},
	Edition = {Second Edition},
	Isbn = {0-201-74572-0},
	Publisher = {Addison Wesley},
	Title = {Component Software --- Beyond Object-Oriented Programming},
	Year = {2002}}

@inproceedings{Szyp92a,
	Address = {Utrecht, the Netherlands},
	Author = {Clemens A. Szyperski},
	Booktitle = {Proceedings ECOOP '92},
	Editor = {O. Lehrmann Madsen},
	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},
	Publisher = {Addison Wesley},
	Title = {Component Software},
	Year = {1998}}

@inproceedings{Taen89a,
	Address = {Nottingham},
	Author = {David Taenzer and Murthy Ganti and Sunil Podar},
	Booktitle = {Proceedings ECOOP '89},
	Editor = {S. Cook},
	Misc = {July 10-14},
	Month = jul,
	Pages = {25--38},
	Publisher = {Cambridge University Press},
	Title = {Problems in Object-Oriented Software Reuse},
	Year = {1989}}

@inproceedings{Taft93a,
	Author = {S. Tucker Taft},
	Booktitle = {Proceedings OOPSLA '93},
	Month = oct,
	Pages = {127--143},
	Title = {Ada 9X: From Abstraction-Oriented to Object-Oriented},
	Volume = {28},
	Year = {1993}}

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

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

@article{Taiv95a,
	Author = {Antero Taivalsaari},
	Journal = {OOPS Messenger},
	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},
	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)},
	Number = {7},
	Pages = {44--50},
	Title = {Classes Versus Prototypes: Some Philosophical and Historical Observations},
	Volume = {10},
	Year = {1997}}

@inproceedings{Taka92a,
	Author = {Kazunori Takashio and Mario Tokoro},
	Booktitle = {Proceedings OOPSLA '92, ACM SIGPLAN Notices},
	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,
	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},
	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},
	Publisher = {Addison Wesley},
	Title = {Taligent's Guide to Designing Programs: Well Mannered Object-Oriented Design in {C}++},
	Year = {1994}}

@article{Talp92a,
	Author = {J.-P. Talpin and Pierre Jouvelot},
	Journal = {Journal of Functional Programming},
	Pages = {245--271},
	Title = {Polymorphic type, region and effect inference},
	Volume = {2},
	Year = {1992}}

@inproceedings{Tam00a,
	Address = {BC, Canada},
	Author = {Tam, J. and Greenberg, S. and Maurer, F.},
	Booktitle = {Proceedings of the Western Computer Graphics Symposium 2000},
	Publisher = {Panorama Mountain Village},
	Title = {Change Management},
	Year = {2000}}

@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{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},
	Pages = {241--258},
	Publisher = {North-Holland},
	Title = {Meta Operations for Type Management in Object-oriented Databases --- a Lazy Mechanism for Schema Evolution},
	Year = {1989}}

@article{Tane85a,
	Author = {A.S. Tanenbaum and R. Van Renesse},
	Journal = {ACM Computing Surveys},
	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},
	Publisher = {Prentice-Hall},
	Title = {Operating Systems Design Implemtations},
	Year = {1987}}

@inproceedings{Tann83a,
	Address = {Seeheim, Federal Republic of Germany},
	Author = {P.P. Tanner and W.A.S. Buxton},
	Booktitle = {IFIP WG 5.2, Workshop on User Interface Management},
	Month = nov,
	Title = {Some Issues in Future Interface Management System Development},
	Year = {1983}}

@inproceedings{Tans08a,
	Address = {New York, NY, USA},
	Author = {Tansey, Wesley and Tilevich, Eli},
	Booktitle = {OOPSLA '08: Proceedings of the 23rd ACM SIGPLAN conference on Object-oriented programming systems languages and applications},
	Doi = {10.1145/1449764.1449788},
	Isbn = {978-1-60558-215-3},
	Location = {Nashville, TN, USA},
	Pages = {295--312},
	Publisher = {ACM},
	Title = {Annotation refactoring: inferring upgrade transformations for legacy applications},
	Year = {2008},
	Bdsk-Url-1 = {http://dx.doi.org/10.1145/1449764.1449788}}

@inproceedings{Tant01a,
	Author = {{\'E}ric Tanter and Noury Bouraqadi and Jacques Noy\'e},
	Booktitle = {Proceedings of the Third International Conference on Metalevel Architectures and Separation of Crosscutting Concerns},
	Pages = {25--43},
	Publisher = {Springer-Verlag},
	Series = {LNCS},
	Title = {Reflex --- Towards an open reflective extension of {Java}},
	Volume = {2192},
	Year = {2001}}

@misc{Tant01b,
	Author = {{\'E}ric Tanter and Jose Piquer},
	Month = {jan},
	Note = {In: Proceedings of the XXI International Conference of the Chilean Computer Science Society (SCCC 2001)},
	Title = {Managing References upon Object Migration: Applying Separation of Concerns},
	Year = {2001}}

@inproceedings{Tant02,
	Author = {{\'E}ric Tanter and Marc S{\'e}gura-Devillechaise and Jacques Noy{\'e} and Jos{\'e} Piquer},
	Booktitle = {Proceedings of GPCE'02},
	Pages = {283--89},
	Publisher = {Springer-Verlag},
	Series = {LNCS},
	Title = {Altering {Java} Semantics via Bytecode Manipulation},
	Volume = {2487},
	Year = {2002}}

@inproceedings{Tant03a,
	Author = {{\'E}ric Tanter and Jacques Noy\'e and Denis Caromel and Pierre Cointe},
	Booktitle = {Proceedings of OOPSLA '03, ACM SIGPLAN Notices},
	Month = {nov},
	Pages = {27--46},
	Title = {Partial Behavioral Reflection: Spatial and Temporal Selection of Reification},
	Url = {http://www.dcc.uchile.cl/~etanter/research/publi/2003/tanter-oopsla03.pdf},
	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}}

@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{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,
	Address = {New York, NY, USA},
	Author = {Tanter, \'{E}ric},
	Booktitle = {DLS '08: Proceedings of the 2008 symposium on Dynamic languages},
	Doi = {10.1145/1408681.1408684},
	Isbn = {978-1-60558-270-2},
	Location = {Paphos, Cyprus},
	Pages = {1--10},
	Publisher = {ACM},
	Title = {Contextual values},
	Year = {2008},
	Bdsk-Url-1 = {http://dx.doi.org/10.1145/1408681.1408684}}

@inproceedings{Tant09a,
	Address = {Charlottesville, Virginia, USA},
	Author = {{\'E}ric Tanter and Johan Fabry and R{\'e}mi Douence and Jacques Noy{\'e} and Mario S{\"u}dholt},
	Booktitle = {Proceedings of the 8th ACM International Conference on Aspect-Oriented Software Development (AOSD 2009)},
	Doi = {10.1145/1509239.1509245},
	Key = {AOSD 2009},
	Month = mar,
	Pages = {27--38},
	Publisher = {ACM Press},
	Title = {Expressive Scoping of Distributed Aspects},
	Url = {http://pleiad.dcc.uchile.cl/papers/2009/tanterAl-aosd2009.pdf},
	Year = {2009},
	Bdsk-Url-1 = {http://pleiad.dcc.uchile.cl/papers/2009/tanterAl-aosd2009.pdf},
	Bdsk-Url-2 = {http://dx.doi.org/10.1145/1509239.1509245}}

@techreport{Tant09b,
	Author = {{\'E}ric Tanter},
	Institution = {University of Chile},
	Month = nov,
	Number = {TR/DCC-2009-13},
	Title = {Reflection and Open Implementations},
	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}}

@article{Tanz95a,
	Author = {C. Tanzer},
	Journal = {JOOP},
	Month = feb,
	Pages = {43--46},
	Title = {Remarks on object-oriented modeling of associations},
	Year = {1995}}

@article{Tarj72a,
	Author = {Robert Endre Tarjan},
	Bibsource = {DBLP, http://dblp.uni-trier.de},
	Journal = {SIAM J. Comput.},
	Number = {2},
	Pages = {146--160},
	Title = {Depth-First Search and Linear Graph Algorithms},
	Volume = {1},
	Year = {1972}}

@article{Tarj73a,
	Author = {Robert Endre Tarjan},
	Bibsource = {DBLP, http://dblp.uni-trier.de},
	Journal = {SIAM J. Comput.},
	Number = {3},
	Pages = {211--216},
	Title = {Enumeration of the Elementary Circuits of a Directed Graph},
	Volume = {2},
	Year = {1973}}

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

@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},
	Pages = {107--119},
	Title = {{N Degrees of Separation: Multi-dimensional Separation of Concerns}},
	Year = {1999}}

@article{Tarv09a,
	Author = {Alexander Tarvo},
	Doi = {10.1109/MS.2009.15},
	Journal = {IEEE Software},
	Month = jan,
	Number = 1,
	Pages = {34--40},
	Publisher = {IEEE Computer Society},
	Title = {Mining Software History to Improve Software Maintenance Quality: A Case Study},
	Volume = 26,
	Year = {2009},
	Bdsk-Url-1 = {http://dx.doi.org/10.1109/MS.2009.15}}

@book{Tath03a,
	Author = {Eric Tatham},
	Publisher = {Mixed Reality Publication},
	Title = {Smalltalk bytes book},
	Year = {2003}}

@incollection{Tayl00a,
	Author = {Paul Taylor},
	Booktitle = {Pattern Languages of Program Design},
	Editor = {N. Harrison and B. Foote and H. Rohnert},
	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,
	Author = {R. N. Taylor and N. Medvidovic and E. M. Dashofy},
	Publisher = {Wiley},
	Title = {Software Architecture: Foundations, Theory, and Practice},
	Year = {2009}}

@article{Teit81a,
	Author = {W. Teitelman and Larry Masinter},
	Journal = {IEEE Computer},
	Month = apr,
	Number = {4},
	Pages = {25--34},
	Title = {The Interlisp Programming Environment},
	Volume = {14},
	Year = {1981}}

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

@book{Tel94a,
	Author = {Gerard Tel},
	Publisher = {Cambridge Press},
	Title = {Introduction to Distibuted Algorithms},
	Year = {1994}}

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

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

@article{Tele08a,
	Author = {Alexandru Telea and David Auber},
	Bibsource = {DBLP, http://dblp.uni-trier.de},
	Ee = {10.1111/j.1467-8659.2008.01214.x},
	Journal = {Comput. Graph. Forum},
	Number = {3},
	Pages = {831-838},
	Title = {Code Flows: Visualizing Structural Evolution of Source Code},
	Volume = {27},
	Year = {2008}}

@article{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},
	Month = dec,
	Number = {5500},
	Pages = {2319--2323},
	Posted-At = {2009-11-02 14:47:35},
	Priority = {2},
	Title = {A Global Geometric Framework for Nonlinear Dimensionality Reduction},
	Url = {http://dx.doi.org/10.1126/science.290.5500.2319},
	Volume = {290},
	Year = {2000},
	Bdsk-Url-1 = {http://dx.doi.org/10.1126/science.290.5500.2319}}

@article{Tenn76a,
	Author = {R.D. Tennent},
	Journal = {Communications of the ACM},
	Month = aug,
	Number = {8},
	Pages = {437--453},
	Title = {The Denotational Semantics of Programming Languages},
	Volume = {19},
	Year = {1976}}

@article{Term05a,
	Address = {Los Alamitos, CA, USA},
	Author = {Maurice Termeer and Christian F.J. Lange and Alexandru Telea and Michel R.V. Chaudron},
	Doi = {10.1109/VISSOF.2005.1684298},
	Isbn = {0-7803-9540-9},
	Journal = {VISSOFT 2005. 3rd IEEE International Workshop on Volume},
	Pages = {11},
	Publisher = {IEEE Computer Society},
	Title = {Visual Exploration of Combined Architectural and Metric Information},
	Volume = {0},
	Year = {2005},
	Bdsk-Url-1 = {http://dx.doi.org/10.1109/VISSOF.2005.1684298}}

@book{Terr90a,
	Author = {Peter Terrel},
	Isbn = {3-411-02075-X},
	Publisher = {DudenVerlag},
	Title = {Duden Oxford English},
	Year = {1990}}

@book{Terr91a,
	Author = {Peter Terrel},
	Isbn = {0--00-470678-3},
	Publisher = {HarperCollins Publishers},
	Title = {Collins English Dictionary},
	Year = {1991}}

@article{Tesl81a,
	Author = {Larry Tesler},
	Journal = {Byte},
	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},
	Month = nov,
	Title = {Datenbank f{\"u}r ``Clinical Study Notification Forms'' ({BAG})},
	Type = {Informatikprojekt},
	Url = {http://scg.unibe.ch/archive/projects/Teti97a.pdf},
	Year = {1997},
	Bdsk-Url-1 = {http://scg.unibe.ch/archive/projects/Teti97a.pdf}}

@inproceedings{Thal06a,
	Abstract = {We propose a music generation software that allows
                  large numbers of users to collaborate. In a virtual
                  world, groups of users generate music simultaneously
                  at different places in a room. This can be realized
                  using OpenAL sound sources. The generated musical
                  pieces have to be modifiable while they are playing
                  and all collaborating users should immediately see
                  and hear the results of such modifications. We are
                  testing these concepts within Croquet by
                  implementing a software called Jam Tomorrow.},
	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},
	Medium = {2},
	Misc = {gaelli},
	Month = jan,
	Pages = {73--78},
	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},
	Month = mar,
	School = {University of Bern},
	Title = {Musical Composition with Grid Diagrams of Transformations},
	Type = {Master's thesis},
	Url = {http://scg.unibe.ch/archive/masters/Thal07a.pdf},
	Year = {2007},
	Bdsk-Url-1 = {http://scg.unibe.ch/archive/masters/Thal07a.pdf}}

@inproceedings{That95a,
	Address = {Aarhus, Denmark},
	Author = {Satish R. Thatt\'e},
	Booktitle = {Proceedings ECOOP '95},
	Editor = {W. Olthoff},
	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},
	Month = jun,
	Number = {#728},
	School = {MIT AI Lab},
	Title = {Issues in the Design and Implementation of Act2},
	Type = {M.Sc. thesis, TR},
	Year = {1983}}

@book{Thom01a,
	Author = {David Thomas and Andrew Hunt},
	Publisher = {Addison Wesley},
	Title = {Programming Ruby},
	Year = {2001}}

@article{Thom04a,
	Author = {Dave Thomas},
	Journal = {Journal of Object Technology},
	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}}

@book{Thom05a,
	Author = {David Thomas and Andy Hunt},
	Edition = {2nd},
	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}}

@article{Thom84a,
	Author = {Ken Thompson},
	Journal = {CACM},
	Month = aug,
	Number = {8},
	Pages = {761--763},
	Title = {Reflection on Trusting Trust},
	Volume = {27},
	Year = {1984}}

@inproceedings{Thom88a,
	Author = {Dave Thomas and Kent Johnson},
	Booktitle = {Proceedings OOPSLA '88, ACM SIGPLAN Notices},
	Month = nov,
	Pages = {135--141},
	Title = {Orwell --- {A} Configuration Management System for Team Programming},
	Volume = {23},
	Year = {1988}}

@inproceedings{Thom89a,
	Address = {Austin, Texas},
	Author = {Bent Thomsen},
	Booktitle = {Proceedings POPL '89},
	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},
	Month = may,
	Pages = {60--63},
	Title = {In Search of an Object-Oriented Development Process},
	Year = {1989}}

@phdthesis{Thom90a,
	Address = {London},
	Author = {Bent Thomsen},
	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},
	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},
	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},
	Month = jun,
	Pages = {261--275},
	Publisher = {Springer-Verlag},
	Series = {LNCS},
	Title = {Extensibility and Reuse of Object-Oriented Synchronization Components},
	Url = {ftp://camille.is.s.u-tokyo.ac.jp/pub/members/thomas/parle92.ps},
	Volume = {605},
	Year = {1992},
	Bdsk-Url-1 = {ftp://camille.is.s.u-tokyo.ac.jp/pub/members/thomas/parle92.ps}}

@techreport{Thom93a,
	Address = {Munich},
	Author = {Bent Thomsen},
	Institution = {ECRC},
	Title = {Polymorphic Sorts and Types for Concurrent Functional Programs},
	Type = {ECRC-93-10},
	Year = {1993}}

@inproceedings{Thom94a,
	Author = {Laurent Thomas},
	Booktitle = {IEEE TENCON '94},
	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},
	Publisher = {Addison Wesley},
	Title = {Object-Oriented Programming in Eiffel},
	Year = {1995}}

@article{Thom98a,
	Author = {Rob Thomsett},
	Journal = {IEEE Software},
	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}}

@inproceedings{Thor87a,
	Author = {Lars-Erik Thorelli},
	Booktitle = {Proceedings OOPSLA '87, ACM SIGPLAN Notices},
	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},
	Month = jun,
	Pages = {186--204},
	Publisher = {Springer-Verlag},
	Series = {LNCS},
	Title = {Unifying Genericity: Combining the benefits of virtual types and parameterized classes},
	Volume = 1628,
	Year = {1999}}

@inproceedings{Thur89a,
	Author = {M.B. Thuraisingham},
	Booktitle = {Proceedings OOPSLA '89, ACM SIGPLAN Notices},
	Month = oct,
	Pages = {203--210},
	Title = {Mandatory Security in Object-Oriented Database Systems},
	Volume = {24},
	Year = {1989}}

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

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

@article{Tich85a,
	Address = {New York, NY, USA},
	Author = {Tichy, Walter F.},
	Date-Added = {2009-10-21 16:20:04 +0200},
	Date-Modified = {2009-10-21 16:20:19 +0200},
	Doi = {10.1002/spe.4380150703},
	Issn = {0038-0644},
	Journal = {Software Practice and Experience},
	Month = jul,
	Number = {7},
	Pages = {637--654},
	Publisher = {John Wiley \& Sons, Inc.},
	Title = {RCS---a system for version control},
	Volume = {15},
	Year = {1985},
	Bdsk-Url-1 = {http://dx.doi.org/10.1002/spe.4380150703}}

@inproceedings{Tich88a,
	Author = {Walter Tichy},
	Booktitle = {Proceedings of the International Workshop on Software Version and Configuration Control},
	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},
	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}}

@techreport{Tich97c,
	Author = {Sander Tichelaar},
	Institution = {University of Bern},
	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},
	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},
	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},
	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},
	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{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},
	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},
	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}}

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

@article{Tino71a,
	Author = {Tinoco, jun., Ignacio and Olke C. Uhlenbeck and Mark D. Levine},
	Journal = {Nature},
	Month = apr,
	Pages = {362--367},
	Title = {Estimation of Secondary Structure in Ribonucleic Acids},
	Volume = {230},
	Year = {1971}}

@misc{TinyOS,
	Key = {TinyOS},
	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}}

@book{Tiso94a,
	Editor = {Sophie Tison},
	Isbn = {3-540-57879-X},
	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}}

@article{Toft04a,
	Author = {Mads Tofte and Lars Birkedal and Martin Elsman and Niels Hallenberg},
	Journal = {Higher-Order and Symbolic Computation},
	Month = {sep},
	Number = {3},
	Title = {A Retrospective on Region-based Memory Management},
	Volume = {17},
	Year = {2004}}

@incollection{Toft90a,
	Author = {C. Tofts},
	Booktitle = {Semantics for Concurrency},
	Editor = {M.Z. Kwiatkowska and M.W. Shields and R.M. Thomas},
	Pages = {281--294},
	Publisher = {Springer-Verlag},
	Series = {Workshops in Computing},
	Title = {Timed Concurrent Processes},
	Year = {1990}}

@article{Toft97a,
	Author = {Mads Tofte and Jean-Pierre Talpin},
	Journal = {Inf. Comput.},
	Number = {2},
	Pages = {109--176},
	Title = {Region-based Memory Management},
	Volume = {132},
	Year = {1997}}

@article{Toft98a,
	Author = {Tofte, M. and Birkedal L.},
	Journal = {TOPLAS},
	Number = {4},
	Pages = {774-767},
	Title = {A region inference algorithm},
	Volume = {20},
	Year = {1998}}

@article{Toko86a,
	Author = {Mario Tokoro and Yutaka Ishikawa},
	Journal = {ACM SIGPLAN Notices},
	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.},
	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},
	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},
	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},
	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},
	Month = may,
	Title = {Automating Three Modes of Evolution for Object-Oriented Software Architecture},
	Year = {1999}}

@inproceedings{Toku99b,
	Author = {Lance Tokuda and Don Batory},
	Booktitle = {Proceedings of Automated Software Engineering},
	Title = {Evolving Object-Oriented Designs with Refactorings},
	Year = {1999}}

@incollection{Tolk95a,
	Abstract = {The family of un-coupled coordination languages ---
                  its most prominent representative is Linda --- uses
                  as a central mechanism for synchronization and
                  communication the addition and withdrawal of
                  elements to and from a multiset. We define a machine
                  --- the Bag-Machine --- that abstracts from specific
                  outforms of elements handled and operations in a
                  coordination language. We give a truly concurrent
                  behavioral specification by event structures. We
                  further show, how the embedding of a coordination
                  language can be formalized and demonstrate our
                  approach by a specification of Linda.},
	Author = {Robert Tolksdorf},
	Booktitle = {Object-Based Models and Languages for Concurrent Systems},
	Editor = {Paolo Ciancarini and Oscar Nierstrasz and Akinori Yonezawa},
	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},
	Location = {Montreal, Canada},
	Title = {Advanced Tooling for Domain-Specific Modeling: {MetaEdit+}},
	Year = {2007}}

@incollection{Toml89a,
	Address = {Reading, Mass.},
	Author = {Chris Tomlinson and M. Scheevel},
	Booktitle = {Object-Oriented Concepts, Databases and Applications},
	Editor = {W. Kim and F. Lochovsky},
	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},
	Month = oct,
	Pages = {103--112},
	Title = {Inheritance and Synchronization with Enabled Sets},
	Volume = {24},
	Year = {1989}}

@article{Tone01b,
	Author = {Paolo Tonella},
	Journal = {IEEE Transactions on Software Engineering},
	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)},
	Location = {Delft, Netherlands},
	Month = nov,
	Pages = {112--121},
	Publisher = {IEEE Computer Society Press},
	Title = {Aspect Mining through the Formal Concept Analysis of Execution Traces},
	Year = {2004}}

@inproceedings{Tone97a,
	Author = {Paolo Tonella and Giuliano Antoniol and Roberto Fiutem and Ettore Merlo},
	Booktitle = {Proceedings ICSE '97},
	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)},
	Month = oct,
	Pages = {230--238},
	Publisher = {IEEE Computer Society Press},
	Title = {Object Oriented Design Pattern Inference},
	Year = {1999}}

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

@article{Torr05a,
	Author = {Toor P.},
	Journal = {IEEE Security \& Privacy},
	Number = {3},
	Title = {Demystifying the threat-modeling process},
	Volume = {5},
	Year = {2007}}

@techreport{Tory02a,
	Author = {Melanie Tory and Torsten M\"oller},
	Institution = {Computing Science Dept., Simon Fraser University},
	Number = {CMPT-TR2002-06},
	Title = {A Model-Based Visualization Taxonomy},
	Year = {2002}}

@misc{ToscanaJ,
	Key = {ToscanaJ},
	Note = {http://toscanaj.sourceforge.net/},
	Title = {http://toscanaj.sourceforge.net/},
	Url = {http://toscanaj.sourceforge.net/},
	Bdsk-Url-1 = {http://toscanaj.sourceforge.net/}}

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

@inproceedings{Tour03b,
	Address = {Washington, DC, USA},
	Author = {Tourw\'{e}, Tom and Mens, Tom},
	Booktitle = {ICSM '03: Proceedings of the International Conference on Software Maintenance},
	Isbn = {0-7695-1905-9},
	Pages = {148},
	Publisher = {IEEE Computer Society},
	Title = {Automated Support for Framework-Based Software Evolution},
	Year = {2003}}

@inproceedings{Trac93a,
	Address = {Indianapolis, IN},
	Author = {Will Tracz},
	Booktitle = {Proceedings of the {ACM}/{SIGAPP} Symposium on Applied Computing},
	Editor = {Ed Deaton and K. M. George and Hal Berghel and George Hedrick},
	Month = feb,
	Pages = {77--86},
	Publisher = {ACM Press},
	Title = {Parameterized Programming in {LILEANNA}},
	Year = {1993}}

@book{Trac95a,
	Author = {Will Tracz},
	Isbn = {0-201-63369-8},
	Publisher = {Addison Wesley},
	Title = {Confessions of a Used Program Salesman},
	Year = {1995}}

@article{Tran00,
	Address = {Los Alamitos, CA, USA},
	Author = {John B. Tran and Michael W. Godfrey and Eric H.S. Lee and Richard C. Holt},
	Doi = {10.1109/WPC.2000.852479},
	Issn = {1092-8138},
	Journal = {International Conference on Program Comprehension},
	Pages = {48},
	Publisher = {IEEE Computer Society},
	Title = {Architectural Repair of Open Source Software},
	Year = {2000},
	Bdsk-Url-1 = {http://dx.doi.org/10.1109/WPC.2000.852479}}

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

@inproceedings{Tran99a,
	Author = {J. Tran and R. Holt},
	Booktitle = {Proceedings of CASCON},
	Month = {nov},
	Title = {Forward and Reverse Repair of Software Architecture},
	Year = {1999}}

@techreport{Trat05a,
	Author = {Laurence Tratt},
	Institution = {Department of Computer Science, King's College London},
	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},
	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},
	Number = {6},
	Pages = {1--40},
	Publisher = {ACM},
	Title = {Domain specific language implementation via compile-time meta-programming},
	Url = {http://tratt.net/laurie/research/publications/papers/tratt__domain_specific_language_implementation_via_compile_time_meta_programming.pdf},
	Volume = {30},
	Year = {2008},
	Bdsk-Url-1 = {http://tratt.net/laurie/research/publications/papers/tratt__domain_specific_language_implementation_via_compile_time_meta_programming.pdf},
	Bdsk-Url-2 = {http://dx.doi.org/10.1145/1391956.1391958}}

@article{Trat09a,
	Author = {Laurence Tratt},
	Journal = {Advances in Computers},
	Pages = {149--184},
	Publisher = {Elsevier},
	Title = {Dynamically Typed Languages},
	Volume = {77},
	Year = {2009}}

@inproceedings{Trav02a,
	Author = {Martin Traverso and Spiros Mancoridis},
	Booktitle = {Proceedings of ASE 2002 (Conference on Automated Software Engineering},
	Pages = {331--360},
	Title = {On the Automatic Recovery of Style-Specific Architectural Relations in Software Systems},
	Year = {2002}}

@article{Treis85a,
	Author = {Anne Treisman},
	Doi = {10.1016/S0734-189X(85)80004-9},
	Journal = {Computer Vision, Graphics, and Image Processing},
	Number = {2},
	Pages = {156--177},
	Title = {Preattentive processing in vision},
	Volume = {31},
	Year = {1985},
	Bdsk-Url-1 = {http://dx.doi.org/10.1016/S0734-189X(85)80004-9}}

@article{Trel82a,
	Author = {P.C. Treleaven and D.R. Brownbridge and R.P. Hopkins},
	Journal = {ACM Computing Surveys},
	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},
	Publisher = {McGraw-Hill},
	Title = {Discrete Mathemetical Structures with Applications to Computer Science},
	Year = {1975}}

@phdthesis{Trif01a,
	Author = {Adrian Trifu},
	School = {Univ. Karlsruhe},
	Title = {Using Cluster Analysis in the Architecture Recovery of Object-Oriented Systems},
	Year = {2001}}

@inproceedings{Trif04a,
	Address = {Los Alamitos CA},
	Author = {Adrian Trifu and Olaf Seng and Thomas Genssler},
	Booktitle = {Proceedings 8th European Conference on Software Maintenance and Reengineering (CSMR 2004)},
	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},
	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}}

@inproceedings{Trip09a,
	Address = {New York, NY, USA},
	Author = {Tripp, Omer and Pistoia, Marco and Fink, Stephen J. and Sridharan, Manu and Weisman, Omri},
	Booktitle = {PLDI '09: Proceedings of the 2009 ACM SIGPLAN conference on Programming language design and implementation},
	Doi = {10.1145/1542476.1542486},
	Isbn = {978-1-60558-392-1},
	Location = {Dublin, Ireland},
	Pages = {87--97},
	Publisher = {ACM},
	Title = {TAJ: effective taint analysis of web applications},
	Year = {2009},
	Bdsk-Url-1 = {http://dx.doi.org/10.1145/1542476.1542486}}

@article{Trip88a,
	Author = {Anand Tripathi and Mehmet Aksit},
	Journal = {Journal of Object-Oriented Programming},
	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},
	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},
	Month = sep,
	Title = {International Workshop on Object-Orientation in Operating Systems},
	Year = {1992}}

@unpublished{Trit95a,
	Author = {Grahan Tritt},
	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},
	Month = jul,
	Pages = {151--195},
	Title = {Object-Oriented Support for Generic Application Frames},
	Type = {Object Frameworks},
	Url = {http://scg.unibe.ch/archive/osg/Trot92aGafSupport.pdf},
	Year = {1992},
	Bdsk-Url-1 = {http://scg.unibe.ch/archive/osg/Trot92aGafSupport.pdf}}

@inproceedings{Truy02a,
	Address = {Washington, DC, USA},
	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},
	Pages = {501},
	Publisher = {IEEE Computer Society},
	Rating = {1},
	Title = {Consistency Management in the Presence of Simultaneous Client-Specific Views},
	Year = {2002}}

@misc{Tryg03a,
	Author = {Trygve M. H. Reenskaug},
	Note = {JavaZONE, Oslo, 2003},
	Title = {The Model-View-Controller (MVC) --- Its Past and Present}}

@misc{Tryg79a,
	Author = {Trygve M. H. Reenskaug},
	Month = dec,
	Note = {\url{heim.ifi.uio.no/~trygver/1979/mvc-2/1979-12-MVC.pdf}},
	Title = {Models - Views - Controllers},
	Url = {http://heim.ifi.uio.no/~trygver/1979/mvc-2/1979-12-MVC.pdf},
	Year = {1979},
	Bdsk-Url-1 = {http://heim.ifi.uio.no/~trygver/1979/mvc-2/1979-12-MVC.pdf}}

@techreport{Tsch02a,
	Author = {Daniel Tschan},
	Institution = {University of Bern},
	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}}

@book{Tsic00a,
	Editor = {D. Tsichritzis},
	Month = sep,
	Publisher = {Centre Universitaire d'Informatique, University of Geneva},
	Title = {Internet Objects},
	Year = {2000}}

@article{Tsic72a,
	Address = {Amsterdam},
	Author = {Dennis Tsichritzis},
	Journal = {Information Processing Letters},
	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},
	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},
	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.},
	Author = {Dennis Tsichritzis and Fausto Rabitti and Simon Gibbs and Oscar Nierstrasz and John Hogg},
	Journal = {IEEE Transactions on Communications},
	Month = jan,
	Number = {1},
	Pages = {66--73},
	Title = {A System for Managing Structured Messages},
	Url = {http://scg.unibe.ch/archive/uoft/Tsic82b.pdf http://ieeexplore.ieee.org/xpls/abs_all.jsp?isnumber=23952&arnumber=1095394&count=43&index=39},
	Volume = {Com-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},
	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},
	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},
	Pages = {2--7},
	Title = {A Multimedia Office Filing System},
	Year = {1983}}

@article{Tsic84a,
	Author = {Dennis Tsichritzis},
	Journal = {ACM TOOIS},
	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},
	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},
	Pages = {93--112},
	Publisher = {Springer-Verlag},
	Title = {Etiquette Specification in Message Systems},
	Year = {1985}}

@book{Tsic85c,
	Address = {Heidelberg},
	Editor = {D. Tsichritzis},
	Publisher = {Springer-Verlag},
	Title = {Office Automation: Concepts and Tools},
	Year = {1985}}

@article{Tsic85d,
	Author = {Dennis Tsichritzis},
	Journal = {IEEE Database Engineering},
	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},
	Pages = {379--398},
	Publisher = {Springer-Verlag},
	Title = {Objectworld},
	Year = {1985}}

@article{Tsic85f,
	Address = {Stuttgart},
	Author = {Dennis Tsichritzis and Oscar Nierstrasz},
	Editor = {H. Wedekind/K. Kratzer},
	Journal = {B{\"u}roautomation '85 (German Chapter of the ACM, Berichte 25)},
	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},
	Month = apr,
	Title = {Messages, Messengers and Objects},
	Year = {1987}}

@book{Tsic87b,
	Editor = {D. Tsichritzis},
	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.},
	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)},
	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},
	Author = {Dennis Tsichritzis and Oscar Nierstrasz},
	Booktitle = {Proceedings ECOOP '88},
	Editor = {S. Gjessing and K. Nygaard},
	Misc = {August 15-17},
	Month = apr,
	Pages = {283--299},
	Publisher = {Springer-Verlag},
	Series = {LNCS},
	Title = {Fitting Round Objects into Square Databases},
	Url = {http://scg.unibe.ch/archive/osg/Tsic88aRoundSquare.pdf http://link.springer.de/link/service/series/0558/tocs/t0322.htm},
	Volume = {322},
	Year = {1988},
	Bdsk-Url-1 = {http://scg.unibe.ch/archive/osg/Tsic88aRoundSquare.pdf%20http://link.springer.de/link/service/series/0558/tocs/t0322.htm}}

@incollection{Tsic88b,
	Author = {Dennis Tsichritzis},
	Booktitle = {Active Object Environments},
	Editor = {D. Tsichritzis},
	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.},
	Author = {Dennis Tsichritzis and Oscar Nierstrasz},
	Booktitle = {Information Technology for Organisational Systems, Proceedings EURINFO '88},
	Editor = {H-J. Bullinger et al.},
	Pages = {15--23},
	Publisher = {Elsevier Science Publishers B.V. (North-Holland)},
	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},
	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)},
	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},
	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},
	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},
	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},
	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},
	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},
	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},
	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},
	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},
	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},
	Month = jun,
	Pages = {255--271},
	Title = {Perspectives on Hypertext Structures},
	Type = {Object Composition},
	Year = {1991}}

@book{Tsic92a,
	Editor = {D. Tsichritzis},
	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.},
	Author = {Dennis Tsichritzis and Oscar Nierstrasz and Simon Gibbs},
	Journal = {IJICIS (International Journal of Intelligent \& Cooperative Information Systems)},
	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},
	Month = jul,
	Publisher = {Centre Universitaire d'Informatique, University of Geneva},
	Title = {Visual Objects},
	Year = {1993}}

@book{Tsic96a,
	Editor = {D. Tsichritzis},
	Month = jul,
	Publisher = {Centre Universitaire d'Informatique, University of Geneva},
	Title = {Object Applications},
	Year = {1996}}

@book{Tsic97a,
	Editor = {D. Tsichritzis},
	Month = jul,
	Publisher = {Centre Universitaire d'Informatique, University of Geneva},
	Title = {Objects at Large},
	Year = {1997}}

@book{Tsic98a,
	Editor = {D. Tsichritzis},
	Publisher = {Centre Universitaire d'Informatique, University of Geneva},
	Title = {Electronic Commerce},
	Year = {1998}}

@inproceedings{Tu01a,
	Author = {Qiang Tu and Michael W. Godfrey},
	Booktitle = {International Conference on Software Maintenance (ICSM 2001)},
	Pages = {398--407},
	Title = {The Build-Time Software Architecture View},
	Year = {2001}}

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

@book{Tuck95a,
	Author = {Allen B. Tucker and Andrew P. Bernat and W. James Bradley and Robert D. Cupper and Greg W. Scragg},
	Isbn = {0-07-065506-5},
	Publisher = {Mc Graw-Hill},
	Title = {Fundamentals of Computing {I}: Logic, Problem Solving, Programs, and Computers {C}++ Edition},
	Year = {1995}}

@book{Tuft01a,
	Author = {Edward R. Tufte},
	Edition = {2nd},
	Publisher = {Graphics Press},
	Title = {The Visual Display of Quantitative Information},
	Year = {2001}}

@book{Tuft03a,
	Author = {Edward R. Tufte},
	Publisher = {Graphics Press},
	Title = {The Cognitive Style of Powerpoint},
	Year = {2003}}

@book{Tuft90a,
	Author = {Edward R. Tufte},
	Publisher = {Graphics Press},
	Title = {Envisioning Information},
	Year = {1990}}

@book{Tuft97a,
	Address = {Cheshire, CT, USA},
	Author = {Edward R. Tufte},
	Isbn = {0-9613921-2-6},
	Publisher = {Graphics Press},
	Title = {Visual explanations: images and quantities, evidence and narrative},
	Year = {1997}}

@book{Tuft97b,
	Address = {Cheshire, CT, USA},
	Author = {Edward R. Tufte},
	Isbn = {0-961392134},
	Publisher = {Graphics Press},
	Title = {Visual \& Statistical Thinking: Displays of Evidence for Decision Making},
	Year = {1997}}

@techreport{Tung92a,
	Address = {Bloomington, Indiana},
	Author = {Sho-Huan Simon Tung},
	Institution = {Indiana University},
	Month = mar,
	Number = {#349},
	Title = {Merging Interactive, Modular and Object-oriented Programming},
	Type = {Computer Science Department Technical Report},
	Year = {1992}}

@article{Tung96a,
	Author = {Sho-Huan Simon Tung and R. Kent Dybvig},
	Journal = {Lisp and Symbolic Computation},
	Number = {4},
	Pages = {343--358},
	Title = {Reliable Interactive Programming with Modules},
	Url = {http://citeseer.nj.nec.com/tung95reliable.html},
	Volume = {9},
	Year = {1996},
	Bdsk-Url-1 = {http://citeseer.nj.nec.com/tung95reliable.html}}

@inproceedings{Turn85a,
	Author = {David A. Turner},
	Booktitle = {Proceedings Functional Programming languages and Computer Architecture},
	Editor = {J-P. Jouannaud},
	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},
	Pages = {1--16},
	Publisher = {Addison Wesley},
	Title = {An Overview of Miranda},
	Year = {1990}}

@phdthesis{Turn96a,
	Author = {David N. Turner},
	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},
	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},
	School = {Department of Computer Science, University of Toronto},
	Title = {An Object-based Programming Environment for Office Information Systems},
	Type = {M.Sc. thesis},
	Year = {1984}}

@inproceedings{Tyag01a,
	Author = {Satyam Tyagi and Paul Tarau},
	Booktitle = {Practical Aspects of Declarative Languages},
	Editor = {I. V. Ramakrishnan},
	Pages = {322--336},
	Publisher = {Springer-Verlag},
	Series = {LNCS},
	Title = {A Most Specific Method Finding Algorithm for Reflection Based Dynamic Prolog-to-Java Interfaces},
	Volume = 1990,
	Year = {2001}}

@inproceedings{Tyag01b,
	Address = {London, UK},
	Author = {Satyam Tyagi and Paul Tarau},
	Booktitle = {PADL '01: Proceedings of the Third International Symposium on Practical Aspects of Declarative Languages},
	Isbn = {3-540-41768-0},
	Pages = {322--336},
	Publisher = {Springer-Verlag},
	Title = {A Most Specific Method Finding Algorithm for Reflection Based Dynamic Prolog-to-Java Interfaces},
	Year = {2001}}

@book{Tyrr95a,
	Author = {A.J. Tyrrell},
	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}}

@article{Tzer97f,
	Address = {Los Alamitos, CA, USA},
	Author = {Vassilios Tzerpo and R. C. Holt},
	Doi = {10.1109/WCRE.1997.624578},
	Isbn = {0-8186-8162-4},
	Journal = {Reverse Engineering, Working Conference on},
	Pages = {76},
	Publisher = {IEEE Computer Society},
	Title = {The Orphan Adoption Problem in Architecture Maintenance},
	Volume = {0},
	Year = {1997},
	Bdsk-Url-1 = {http://dx.doi.org/10.1109/WCRE.1997.624578}}

@inproceedings{Tzer98a,
	Author = {Vassilios Tzerpos and R. C. Holt},
	Booktitle = {Proceedings of the 9th International Workshop on Database and Expert Systems Applications},
	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)},
	Pages = {187--195},
	Publisher = {IEEE Computer Society Press},
	Title = {{MoJo}: A Distance Metric for Software Clusterings},
	Year = {1999}}

@book{Tzu63a,
	Author = {Sun Tzu},
	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},
	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},
	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}},
	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 = {New York, NY, USA},
	Author = {Ubayashi, Naoyasu and Nomura, Jun and Tamai, Tetsuo},
	Booktitle = {ICSE'10: Proceedings of the 32nd International Conference on Software Engineering},
	Location = {Cape Town, South Africa},
	Pages = {75--84},
	Publisher = {ACM},
	Title = {Archface: A Contract Place Where Architectural Design and Code Meet Together},
	Year = {2010}}

@techreport{Ubiwi02a,
	Author = {Barton, J. J. and Vijayaraghavan, V.},
	Institution = {Hewlett Packard},
	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}}

@article{Udel95a,
	Author = {James Udell},
	Journal = {Byte},
	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)},
	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)},
	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},
	Publisher = {Prentice-Hall},
	Title = {Elements of {ML} Programming},
	Year = {1994}}

@misc{UnCommonWeb,
	Author = {Marco Baringer},
	Key = {UnCommonWeb},
	Note = {http://www.\-com\-mon-lisp.\-net/pro\-ject/ucw/},
	Title = {{UnCommon} Web}}

@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{Unga84a,
	Author = {Dave Ungar},
	Journal = {ACM SIGPLAN Notices},
	Number = {5},
	Pages = {157--167},
	Title = {Generation Scavenging: {A} Non-Disruptive High Performance Storage Reclamation Algorithm},
	Volume = {19},
	Year = {1984}}

@inproceedings{Unga84b,
	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},
	Misc = {June 4-7},
	Month = jun,
	Title = {Architecture of {SOAR}: {Smalltalk} on a {RISC}},
	Year = {1984}}

@inproceedings{Unga87a,
	Author = {David Ungar and Randall B. Smith},
	Booktitle = {Proceedings OOPSLA '87, ACM SIGPLAN Notices},
	Doi = {10.1145/38765.38828},
	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},
	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},
	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)},
	Month = oct,
	Number = {10},
	Pages = {53--65},
	Title = {Object, Message, and Performance: How They Coexist in Self},
	Volume = {25},
	Year = {1992}}

@inproceedings{Unga95a,
	Author = {David Ungar},
	Bibdate = {2002-12-05},
	Bibsource = {DBLP, http://dblp.uni-trier.de/db/conf/oopsla/oopsla95.html#Ungar95},
	Booktitle = {Proceedings OOPSLA '95},
	Pages = {73--87},
	Title = {Annotating Objects for Transport to Other Worlds},
	Year = {1995}}

@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},
	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},
	Month = jul,
	Number = {3},
	Pages = {507--517},
	Title = {Efficient Schemes for Parallel Communication},
	Volume = {31},
	Year = {1984}}

@book{Utti06a,
	Author = {Mark Utting and Bruno Legeard},
	Isbn = {978-0123725011},
	Publisher = {Morgan-Kaufmann},
	Title = {Practical Model-Based Testing: A Tools Approach},
	Year = {2006}}

@inproceedings{Uust92a,
	Address = {Utrecht, the Netherlands},
	Author = {Tarmo Uustalu},
	Booktitle = {Proceedings ECOOP '92},
	Editor = {O. Lehrmann Madsen},
	Month = jun,
	Pages = {98--113},
	Publisher = {Springer-Verlag},
	Series = {LNCS},
	Title = {Combining Object-Oriented and Logic Paradigms: {A} Modal Logic Programming Approach},
	Volume = {615},
	Year = {1992}}

@manual{VW30,
	Note = {User Guide, Cookbook, Reference Manual},
	Organization = {ParcPlace},
	Title = {VisualWorks 3.0},
	Year = {1998}}

@misc{VWTraits,
	Key = {VWTraits},
	Note = {http://www.cincomsmalltalk.com/CincomSmalltalkWiki/VWTraits+-+A+Traits+impleMentation+for+VW},
	Title = {VWTraits}}

@techreport{Vahd92a,
	Author = {A. Vahdat},
	Institution = {Xerox Parc},
	Title = {The design of a Meta-Object Protocol controlling the behavior of a scheme interpreter},
	Year = {1992}}

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

@inproceedings{Vain06a,
	Author = {Daniel Vainsencher and Andrew P. Black},
	Booktitle = {Proceedings of PLoP 2006},
	Title = {A Pattern Language for Extensible Program Representation},
	Year = {2006}}

@inproceedings{Vala98a,
	Author = {R.R. Valasareddi and D.L. Carver},
	Booktitle = {Proceedings of WCRE '98},
	Note = {ISBN: 0-8186-89-67-6},
	Pages = {50--59},
	Publisher = {IEEE Computer Society},
	Title = {A Graph-Based Object Identification Process for Procedural Programs},
	Year = {1998}}

@book{Vali02a,
	Author = {Gabriel Valiente},
	Publisher = {Springer},
	Title = {Algorithms on Trees and Grahs},
	Year = {2002}}

@article{Valv02a,
	Author = {S. Valverde and R. Ferrer Cancho and RV Sole},
	Journal = {Europhysics Letters},
	Number = {4},
	Pages = {512--517},
	Title = {Scale-free networks from optimal design},
	Volume = {60},
	Year = {2002}}

@inproceedings{VanE02a,
	Author = {Eva {van Emden} and Leon Moonen},
	Booktitle = {Proc. 9th Working Conf. Reverse Engineering},
	Month = oct,
	Pages = {97--107},
	Publisher = {IEEE Computer Society Press},
	Title = {Java Quality Assurance by Detecting Code Smells},
	Year = {2002}}

@inproceedings{VanE02b,
	Address = {Washington, DC, USA},
	Author = {Robert A. Van Engelen and Kyle A. Gallivan},
	Booktitle = {CCGRID '02: Proceedings of the 2nd IEEE/ACM International Symposium on Cluster Computing and the Grid},
	Isbn = {0-7695-1582-7},
	Pages = {128},
	Publisher = {IEEE Computer Society},
	Title = {The gSOAP Toolkit for Web Services and Peer-to-Peer Computing Networks},
	Year = {2002}}

@inproceedings{VanE03a,
	Author = {Robert van Engelen},
	Booktitle = {In proceedings of the International Conference on Web Services (ICWS)},
	Location = {Las Vegas},
	Pages = {346--352},
	Title = {Pushing the SOAP envelope with web services for scientific computing},
	Year = {2003}}

@inproceedings{VanE04a,
	Address = {New York, NY, USA},
	Author = {Robert van Engelen},
	Booktitle = {SAC '04: Proceedings of the 2004 ACM symposium on Applied computing},
	Doi = {10.1145/967900.968075},
	Isbn = {1-58113-812-1},
	Location = {Nicosia, Cyprus},
	Pages = {854--861},
	Publisher = {ACM Press},
	Title = {Code generation techniques for developing light-weight XML Web services for embedded devices},
	Year = {2004},
	Bdsk-Url-1 = {http://dx.doi.org/10.1145/967900.968075}}

@book{VanH96a,
	Author = {Arthur Van Hoff and Sami Shaio and Orca Starbuck},
	Isbn = {0-201-48837-X},
	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},
	Publisher = {Stichting Mathematisch Centrum},
	Title = {Python Tutorial},
	Year = {1996}}

@book{VanR96b,
	Address = {Amsterdam},
	Author = {Guido van Rossum},
	Publisher = {Stichting Mathematisch Centrum},
	Title = {Python Reference Manual},
	Year = {1996}}

@book{VanR96c,
	Address = {Amsterdam},
	Author = {Guido van Rossum},
	Publisher = {Stichting Mathematisch Centrum},
	Title = {Python Library Reference},
	Year = {1996}}

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

@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},
	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{Vand98a,
	Author = {Deursen, {Arie van} and Tobias Kuipers},
	Booktitle = {Proceedings of ICSE '99 (21st International Conference on Software Engineering)},
	Pages = {246--255},
	Publisher = {ACM Press},
	Title = {Identifying Objects using Cluster and Concept Analysis},
	Year = {1999}}

@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},
	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{Vano08a,
	Author = {Vanoverberghe, Dries and Piessens, Frank},
	Booktitle = {Formal Methods for Open Object-based Distributed Systems},
	Pages = {240--258},
	Series = {LNCS 5051},
	Title = {A caller-side inline reference monitor for an Object-Oriented intermediate language},
	Year = {2008}}

@article{Vanw02a,
	Author = {Van Wyk, Eric and de Moor, Oege and Backhouse, Kevin and Kwiatkowski, Paul},
	Journal = {Lecture Notes in Computer Science},
	Pages = {128--142},
	Publisher = {Springer},
	Title = {{Forwarding in Attribute Grammars for Modular Language Design}},
	Year = {2002}}

@article{Vanw07a,
	Author = {Van Wyk, Eric and Krishnan, Lijesh and Bodin, Derek and Schwerdfeger, August},
	Journal = {Lecture Notes in Computer Science},
	Pages = {575},
	Publisher = {Springer},
	Title = {{Attribute Grammar-Based Language Extensions for Java}},
	Volume = {4609},
	Year = {2007}}

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

@book{Varl77,
	Author = {John Varley},
	Publisher = {Dial Press},
	Title = {The Ophiuchi Hotline},
	Year = {1977}}

@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},
	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.},
	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},
	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},
	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},
	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},
	Medium = {2},
	Pages = {4--13},
	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.},
	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},
	Medium = {2},
	Publisher = {Electronic Communications of the EASST},
	Title = {On the Resilience of Classes to Change},
	Url = {http://eceasst.cs.tu-berlin.de/index.php/eceasst/article/view/121 http://scg.unibe.ch/archive/papers/Vasa08aResilienceToChange.pdf},
	Volume = {8},
	Year = {2008},
	Bdsk-Url-1 = {http://eceasst.cs.tu-berlin.de/index.php/eceasst/article/view/121%20http://scg.unibe.ch/archive/papers/Vasa08aResilienceToChange.pdf}}

@inproceedings{Vasa09a,
	Abstract = {Software metrics offer us the promise of distilling
                  useful information from vast amounts of software in
                  order to track development progress, to gain
                  insights into the nature of the software, and to
                  identify potential problems. Unfortunately, however,
                  many software metrics exhibit highly skewed,
                  non-Gaussian distributions. As a consequence, usual
                  ways of interpreting these metrics --- for example,
                  in terms of "average" values --- can be highly
                  misleading. Many metrics, it turns out, are
                  distributed like wealth --- with high concentrations
                  of values in selected locations. We propose to
                  analyze software metrics using the Gini coefficient,
                  a higher-order statistic widely used in economics to
                  study the distribution of wealth. Our approach
                  allows us not only to observe changes in software
                  systems efficiently, but also to assess project
                  risks and monitor the development process itself. We
                  apply the Gini coefficient to numerous metrics over
                  a range of software projects, and we show that many
                  metrics not only display remarkably high Gini
                  values, but that these values are remarkably
                  consistent as a project evolves over time.},
	Address = {Los Alamitos, CA, USA},
	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},
	Medium = {2},
	Pages = {179--188},
	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{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{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},
	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},
	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},
	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},
	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},
	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}}

@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{Vauc88a,
	Address = {Oslo},
	Author = {Jean Vaucher and Guy Lapalme and Jacques Malenfant},
	Booktitle = {Proceedings ECOOP '88},
	Editor = {S. Gjessing and K. Nygaard},
	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}}

@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{Vdha96a,
	Author = {van den Hamer, Peter and Lepoeter, Kees},
	Booktitle = {In Proceedings of the IEEE},
	Doi = {10.1109/5.476025},
	Month = jan,
	Pages = {42 -- 56},
	Publisher = {IEEE CS Press},
	Title = {Managing Design Data: The Five Dimensions of CAD Frameworks, Configuration Management, and Product Data Management},
	Volume = {84},
	Year = {1996},
	Bdsk-Url-1 = {http://dx.doi.org/10.1109/5.476025}}

@inproceedings{Vegd86a,
	Address = {New York, NY, USA},
	Author = {Vegdahl, Steven R.},
	Booktitle = {OOPLSA '86: Conference proceedings on Object-oriented programming systems, languages and applications},
	Doi = {10.1145/28697.28745},
	Isbn = {0-89791-204-7},
	Location = {Portland, Oregon, United States},
	Pages = {466--471},
	Publisher = {ACM},
	Title = {Moving structures between Smalltalk images},
	Year = {1986},
	Bdsk-Url-1 = {http://dx.doi.org/10.1145/28697.28745}}

@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.},
	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},
	Medium = {2},
	Pages = {285--288},
	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}}

@phdthesis{Verb91a,
	Author = {Alexander Verbraeck},
	School = {Technical University of Delft},
	Title = {Developing an Adaptive Scheduling Support Environment},
	Type = {{Ph.D}. Thesis},
	Year = {1991}}

@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},
	Number = {9},
	Title = {Plagiarism a la Mode: A Comparison of Automated Systems for Detecting Suspected Plagiarism},
	Volume = {39},
	Year = {1996}}

@article{Verh78a,
	Author = {J.S.M. Verhofstad},
	Journal = {ACM Computing Surveys},
	Month = jun,
	Number = {2},
	Pages = {167--195},
	Title = {Recovery Techniques for Database Systems},
	Volume = {10},
	Year = {1978}}

@techreport{Verj06a,
	Author = {Herve Verjus},
	Institution = {Technical Report 06/03, LISTIC --- Universit\'e de Savoie},
	Title = {Nimrod: A Software Architecture Engineering Environment},
	Year = {2006}}

@inproceedings{Verj06b,
	Author = {Herve Verjus and Sorana C\^impan and Ilham Alloui and Flavio Oquendo},
	Booktitle = {1\`ere conf. francophone sur les architectures logicielles (CAL)},
	Title = {Gestion des architectures \'evolutives dans ArchWare},
	Year = {2006}}

@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},
	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},
	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},
	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},
	Location = {Amsterdam, The Netherlands},
	Medium = {1},
	Pages = {21--24},
	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}}

@techreport{Vict94a,
	Author = {Bj\"orn Victor},
	Institution = {Uppsala University (Sweden)},
	Issn = {0283-0574},
	Month = may,
	Number = {94/50},
	Title = {A Verification Tool for The Polyadic pi-Calculus},
	Type = {Report DoCs},
	Year = {1994}}

@inproceedings{Vieg00a,
	Author = {John Viega and Paul Reynolds and Reimer Behrends},
	Booktitle = {Proceedings of TOOLS 34'00},
	Month = jul,
	Pages = {171--182},
	Title = {Automating Delegation in Class-Based Languages},
	Year = {2000}}

@article{Vieg01a,
	Author = {John Viega and J. T. Bloch and Pravir Ch},
	Journal = {Cutter IT Journal},
	Pages = {31--39},
	Title = {Applying Aspect-Oriented Programming to Security},
	Volume = {14},
	Year = {2001}}

@inproceedings{Vieg04a,
	Author = {Fernanda Vi\'egas and Martin Wattenberg and Kushal Dave},
	Booktitle = {In Proceedings of the Conference on Human Factors in Computing Systems (CHI 2004)},
	Month = apr,
	Pages = {575--582},
	Title = {Studying Cooperation and Conflict between Authors with history flow Visualizations},
	Year = {2004}}

@book{Vine97a,
	Author = {G\"unther Vinek},
	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},
	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},
	Pages = {65--84},
	Title = {Virtual Images: Interactive Visualization of Distributed Object-Oriented Systems},
	Year = {1994}}

@mastersthesis{Vire96a,
	Author = {Pierre Viret},
	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}}

@inproceedings{Viss00,
	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},
	Pages = {3--12},
	Publisher = {IEEE Computer Society},
	Title = {Model Checking Programs},
	Year = {2000}}

@incollection{Viss04a,
	Author = {Eelco Visser},
	Booktitle = {Domain-Specific Program Generation},
	Doi = {10.1007/b98156},
	Editor = {C. Lengauer and others},
	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},
	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},
	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}}

@techreport{Viss97a,
	Author = {Visser, Eelco},
	Institution = {Programming Research Group, University of Amsterdam},
	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}}

@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},
	Month = jul,
	Pages = {345--356},
	Title = {Events and Sensors: Enhancing the Reusability of Objects},
	Type = {Object Management},
	Url = {http://scg.unibe.ch/archive/osg/Vite90aEventsAndSensors.pdf},
	Year = {1990},
	Bdsk-Url-1 = {http://scg.unibe.ch/archive/osg/Vite90aEventsAndSensors.pdf}}

@inproceedings{Vite94a,
	Address = {Bologna, Italy},
	Author = {Jan Vitek and R. Nigel Horspool},
	Booktitle = {Proceedings ECOOP '94},
	Editor = {M. Tokoro and R. Pareschi},
	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},
	Month = mar,
	Title = {New Paradigms for Distributed Programming},
	Year = {1997}}

@inproceedings{Vite99a,
	Author = {Jan Vitek and Giuseppe Castagna},
	Booktitle = {Internet Programming Languages},
	Title = {Seal: A framework for secure mobile computations},
	Url = {http://www.cs.purdue.edu/homes/jv/publist.html},
	Year = {1999},
	Bdsk-Url-1 = {http://www.cs.purdue.edu/homes/jv/publist.html}}

@inproceedings{Vitt82a,
	Author = {J. Vittal},
	Booktitle = {Proceedings of the International Symposium on Computer Message Systems, IFIP TC-6, Ottawa, April 1981},
	Editor = {R.P. Uhlig},
	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 James O. Coplien and Norman L. Kerth},
	Isbn = {0-201-89527-7},
	Publisher = {Addison Wesley},
	Title = {Patterns Languages of Program Design 2},
	Year = {1995}}

@article{Vlis96b,
	Author = {John Vlissides},
	Journal = {C++ Report},
	Month = feb,
	Title = {The Hollywood Principle},
	Volume = 8,
	Year = {1996}}

@techreport{Voge02a,
	Author = {David Vogel},
	Institution = {University of Bern},
	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},
	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}}

@book{Voge97a,
	Author = {Andreas Vogel and Keith Duddy},
	Isbn = {0-471-17986-8},
	Publisher = {Wiley},
	Title = {{Java} Programming with Corba},
	Year = {1997}}

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

@inproceedings{Voin05a,
	Address = {New York, NY, USA},
	Author = {Voinea, Lucian and Telea, Alex and van Wijk, Jarke J.},
	Booktitle = {SoftVis '05: Proceedings of the 2005 ACM symposium on Software visualization},
	Doi = {10.1145/1056018.1056025},
	Isbn = {1-59593-073-6},
	Location = {St. Louis, Missouri},
	Pages = {47--56},
	Publisher = {ACM},
	Title = {CVSscan: visualization of code evolution},
	Year = {2005},
	Bdsk-Url-1 = {http://dx.doi.org/10.1145/1056018.1056025}}

@mastersthesis{Voin06a,
	Author = {Violeta Voinescu},
	Month = sep,
	School = {Politehnica University of Timisoara},
	Title = {Supporting Reverse Engineering with (Meta-)Annotations},
	Type = {Diploma thesis},
	Year = {2004}}

@article{Voin07a,
	Author = {Lucian Voinea and Johan Lukkien and Alexandru Telea},
	Journal = {Science of Computer Programming},
	Number = {3},
	Pages = {222--248},
	Title = {Visual Assessment of Software Evolution},
	Volume = {365},
	Year = {2007}}

@article{Vok04a,
	Author = {Marek Vok},
	Doi = {10.1109/TSE.2004.99},
	Journal = {IEEE Transactions on Software Engineering},
	Pages = {904--917},
	Publisher = {IEEE Press},
	Title = {Defect Frequency and Design Patterns: An Empirical Study of Industrial Code},
	Volume = {30},
	Year = {2004},
	Bdsk-Url-1 = {http://dx.doi.org/10.1109/TSE.2004.99}}

@book{Voll91a,
	Author = {Otto Vollnals},
	Isbn = {88-256-0036-4},
	Publisher = {Grouppo Editoriale Jackson (Milano)},
	Title = {Dictionary of Computer Science},
	Year = {1991}}

@book{Voss94a,
	Address = {Reading, Mass.},
	Author = {Gottfried Vossen},
	Isbn = {3-89319-566-1},
	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},
	Month = jun,
	Number = {2},
	Pages = {135--171},
	Title = {Security Mechanisms in High-Level Network Protocols},
	Volume = {15},
	Year = {1983}}

@proceedings{WCRE00a,
	Organization = {IEEE Computer Society},
	Title = {Seventh Working Conference on Reverse Engineering},
	Year = {2000}}

@proceedings{WCRE01a,
	Organization = {IEEE Computer Society},
	Title = {Ninth Working Conference on Reverse Engineering},
	Year = {2002}}

@proceedings{WCRE99,
	Organization = {IEEE Computer Society},
	Title = {Sixth Working Conference on Reverse Engineering},
	Year = {1999}}

@misc{WO,
	Key = {WO},
	Note = {http://www.apple.com/webobjects/},
	Title = {{WebObjects}}}

@misc{WS04a,
	Author = {World Wide Web Consortium},
	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},
	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}}

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

@incollection{Wadl95a,
	Author = {Philip Wadler},
	Booktitle = {Advanced Functional Programming},
	Editor = {J. Jeuring and E. Meijer},
	Publisher = {Springer-Verlag},
	Series = {LNCS},
	Title = {Monads for functional programming},
	Volume = 925,
	Year = {1995}}

@inproceedings{Waig08a,
	Author = {Waignier, Guillaume and Prawee, Sriplakich and Le Meur, Anne-Fran{\c{c}}oise and Duchien, Laurence},
	Booktitle = {ACM/IEEE 11th International Conference on Model-Driven Engineering Languages and Systems (MODELS 2008) Model Driven Engineering Languages and Systems},
	Doi = {10.1007/978-3-540-87875-9_27},
	Pages = {371-385},
	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},
	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},
	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}}

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

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

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

@techreport{Walk90a,
	Author = {David Walker},
	Institution = {Computer Science Dept., University of Edinburgh},
	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},
	Pages = {21--35},
	Publisher = {Springer-Verlag},
	Series = {LNCS},
	Title = {Some Results on the $pi$-calculus},
	Volume = {491},
	Year = {1991}}

@unpublished{Walk93a,
	Author = {David Walker},
	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},
	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},
	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}}

@book{Wall00a,
	Author = {Larry Wall and Tom Christiansen and Jon Orwant},
	Edition = {3rd},
	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}}

@article{Wall80a,
	Author = {P.J.L. Wallis},
	Journal = {ACM TOPLAS},
	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},
	Publisher = {O'Reilly \& Associates, Inc.},
	Title = {Programming Perl},
	Year = {1990}}

@incollection{Wall96a,
	Author = {Ake Wallin and Simon Moser and Alfred Graber},
	Booktitle = {INFORMATIK, Zuerich},
	Month = feb,
	Publisher = {SVI/FSI},
	Title = {Wiederverwendung mit {Smalltalk} in Client/Server Applikationen},
	Year = {1996}}

@book{Wall96b,
	Author = {Larry Wall and Randal L. Schwartz},
	Edition = {2nd},
	Isbn = {0-56592-149-6},
	Publisher = {O'Reilly \& Associates, Inc.},
	Title = {Programming Perl},
	Year = {1990}}

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

@inproceedings{Wals92a,
	Author = {James F. Walsh},
	Booktitle = {Proceedings OOPSLA '92, ACM SIGPLAN Notices},
	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},
	Month = oct,
	Pages = {159--168},
	Title = {Strategies for Scientific Prototyping in {Smalltalk}},
	Volume = {24},
	Year = {1989}}

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

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

@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{Wang92a,
	Author = {Michael F. Wangler and Peeter Hansen},
	Booktitle = {Proceedings OOPSLA '92, ACM SIGPLAN Notices},
	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}}

@book{Ware00a,
	Address = {San Francisco, CA, USA},
	Author = {Colin Ware},
	Isbn = {1-55860-511-8},
	Publisher = {Morgan Kaufmann Publishers Inc.},
	Title = {Information visualization: perception for design},
	Year = {2000}}

@book{Ware04a,
	Address = {Sansome Street, San Fransico},
	Author = {Colin Ware},
	Isbn = {1-55860-819-2},
	Publisher = {Elsevier},
	Title = {Information Visualisation},
	Year = {2004}}

@article{Warf73a,
	Author = {Warfield, J.N.},
	Journal = {IEEE Transactions on Systems, Man, and Cybernetics},
	Number = {5},
	Pages = {441--449},
	Title = {Binary Matrices in System Modeling},
	Volume = {3},
	Year = {1973}}

@mastersthesis{Wark03a,
	Author = {Elmar Warken},
	Month = feb,
	School = {CS Dept. III, University of Bonn, Germany},
	Title = {Mehrfache Delegatioin in Lava (in German)},
	Type = {Diploma thesis},
	Year = {2003}}

@inproceedings{Warn02a,
	Author = {Brett A. Warneke and Kristofer S.J. Pister},
	Booktitle = {Proceedings of IMECE'02, ASME International Mechanical Engineering Congreee \& Exposition},
	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},
	Pages = {97--125},
	Title = {Logic Programming and Compiler Writing},
	Volume = {10},
	Year = {1980}}

@book{Warr99a,
	Author = {Nigel Warren and Philip Bishop},
	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},
	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},
	Location = {Montreal, Quebec, Canada},
	Pages = {11--19},
	Publisher = {ACM},
	Title = {{OMeta}: an object-oriented language for pattern matching},
	Url = {http://www.tinlizzie.org/~awarth/papers/dls07.pdf},
	Year = {2007},
	Bdsk-Url-1 = {http://www.tinlizzie.org/~awarth/papers/dls07.pdf},
	Bdsk-Url-2 = {http://dx.doi.org/10.1145/1297081.1297086}}

@inproceedings{Wart07b,
	Address = {New York, NY, USA},
	Author = {Alessandro Warth and James R. Douglass and Todd Millstein},
	Booktitle = {PEPM '08: Proceedings of the 2008 ACM SIGPLAN symposium on Partial evaluation and semantics-based program manipulation},
	Doi = {10.1145/1328408.1328424},
	Isbn = {978-1-59593-977-7},
	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}}

@techreport{Wart08a,
	Author = {Alessandro Warth and Alan Kay},
	Institution = {Viewpoints Research},
	Number = {RN-2008-001},
	Title = {Worlds: Controlling the Scope of Side Effects},
	Year = {2008}}

@inproceedings{Wata88a,
	Author = {Takuo Watanabe and Akinori Yonezawa},
	Booktitle = {Proceedings OOPSLA '88, ACM SIGPLAN Notices},
	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},
	Month = may,
	Number = {5},
	Pages = {22--93},
	Title = {Reverse Engineering: Progress Along Many Dimensions (Special Issue)},
	Volume = {37},
	Year = {1994}}

@article{Wats02a,
	Author = {Watson Anne, Mason John H.},
	Journal = {Canadian Journal of Science, Mathematics and Technology Education},
	Number = {2},
	Pages = {237--249},
	Title = {Student-Generated Examples in the Learning of Mathematics},
	Volume = {2},
	Year = {2002}}

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

@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{Watt90a,
	Author = {David A. Watt},
	Isbn = {0-13-726274-4},
	Publisher = {Prentice-Hall},
	Title = {Programming Language Concepts and Paradigms},
	Year = {1990}}

@book{Watt91a,
	Author = {David A. Watt},
	Isbn = {0-13-726274-4},
	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},
	Publisher = {M\&T Books},
	Title = {Internet Programming with {Python}},
	Year = {1996}}

@book{Wayn95a,
	Author = {Peter Wayner},
	Isbn = {0-12-738765-X},
	Publisher = {AP Profesional},
	Title = {Agents Unleashed},
	Year = {1995}}

@book{Weav98a,
	Author = {Lynn Weaver},
	Isbn = {0-13-899584-2},
	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}}

@article{Webe02a,
	Author = {Debora Weber-Wulff},
	Journal = {c't Magazin f\"ur Computertechnik},
	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/}}

@unpublished{Webe91a,
	Author = {Franz Weber},
	Month = dec,
	Note = {submitted for publication},
	Title = {Getting Class Correctness and System Correctness Equivalent --- How to Get Covariance Right},
	Type = {draft},
	Year = {1991}}

@book{Webs89a,
	Author = {Bruce F. Webster},
	Publisher = {Addison-Wesley},
	Title = {The {NeXT} book},
	Year = {1989}}

@book{Wech91a,
	Author = {Wolfgang Wechler},
	Publisher = {Springer-Verlag},
	Series = {EATCS},
	Title = {Universal Algerbra for Computer Scientists},
	Volume = {25},
	Year = {1991}}

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

@inproceedings{Weer01a,
	Address = {Berkeley, California},
	Author = {Sanjiva Weerawarana and Francisco Curbera and Matthew J. Duftler and David A. Epstein and Joseph Kesselman},
	Booktitle = {Proceedings of the 6th {USENIX} Conference on Object-Oriented Technologies and Systems ({COOTS}-01)},
	Month = feb,
	Pages = {173--188},
	Publisher = {USENIX Association},
	Title = {Bean Markup Language: {A} Composition Language for {JavaBeans} Components},
	Year = {2001}}

@incollection{Wegn72a,
	Author = {Peter Wegner},
	Booktitle = {Formal Semantics of Programming Languages},
	Editor = {R. Rustin},
	Pages = {149--248},
	Publisher = {Prentice-Hall},
	Title = {Programming Language Semantics},
	Year = {1972}}

@article{Wegn72b,
	Author = {Peter Wegner},
	Journal = {ACM Computing Surveys},
	Month = mar,
	Number = {1},
	Pages = {5--63},
	Title = {The Vienna Definition Language},
	Volume = {4},
	Year = {1972}}

@article{Wegn84a,
	Author = {Peter Wegner},
	Journal = {IEEE Software},
	Month = jul,
	Number = {3},
	Title = {Capital-Intensive Software Technology},
	Volume = {1},
	Year = {1984}}

@article{Wegn86a,
	Author = {Peter Wegner},
	Journal = {ACM SIGPLAN Notices},
	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},
	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},
	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},
	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},
	Month = mar,
	Number = {3},
	Pages = {245--253},
	Title = {Learning the Language},
	Volume = {14},
	Year = {1989}}

@article{Wegn90a,
	Author = {Peter Wegner},
	Journal = {ACM OOPS Messenger},
	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},
	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)},
	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},
	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},
	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},
	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},
	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},
	Month = sep,
	Number = {CS-95-21},
	Title = {Tutorial Notes: Models and Paradigms of Interaction},
	Type = {TR No.},
	Year = {1995}}

@inproceedings{Wei91a,
	Author = {Jiawang Wei and Markus Endler},
	Booktitle = {Proc. 24th Hawaii Conference on System Science},
	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},
	Month = jan,
	Title = {Programming Dynamic Reconfigurations for Multi-Language Distributed Applications},
	Year = {1991}}

@inproceedings{Weid98a,
	Author = {Johannes Weidl and Harald Gall},
	Booktitle = {Proceedings of the 22nd Computer Software and Application Conference (COMPSAC 1998)},
	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},
	Month = dec,
	Number = {#223},
	Title = {Specification and Implementation of Resilient Atomic Data Types},
	Type = {Computation Structures Group Memo},
	Year = {1982}}

@book{Wein81a,
	Author = {D. Weinreb and David Moon},
	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},
	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},
	Publisher = {Dorset House},
	Title = {The Psychology of Computer Programming},
	Year = {1998}}

@article{Weip03a,
	Address = {Hingham, MA, USA},
	Author = {Edgar Weippl and Wolfgang Essmayr},
	Doi = {10.1023/A:1022237215026},
	Issn = {1383-469X},
	Journal = {Mob. Netw. Appl.},
	Number = {2},
	Pages = {151--157},
	Publisher = {Kluwer Academic Publishers},
	Title = {Personal trusted devices for web services: revisiting multilevel security},
	Volume = {8},
	Year = {2003},
	Bdsk-Url-1 = {http://dx.doi.org/10.1023/A:1022237215026}}

@book{Weir00a,
	Author = {James Noble and Charles Weir},
	Month = nov,
	Publisher = {Addison-Wesley Professional},
	Title = {Small Memory Software: Patterns for systems with limited memory},
	Year = {2000}}

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

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

@book{Weis96a,
	Author = {Michael Weiss and Andy Jhonson and Joe Kiniry},
	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},
	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},
	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},
	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{Welc00a,
	Address = {London, UK},
	Author = {Welch, Ian and Stroud, Robert J.},
	Booktitle = {ESORICS '00: Proceedings of the 6th European Symposium on Research in Computer Security},
	Isbn = {3-540-41031-7},
	Pages = {309--323},
	Publisher = {Springer-Verlag},
	Title = {Using Reflection as a Mechanism for Enforcing Security Policies in Mobile Code},
	Year = {2000}}

@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{Welc02a,
	Author = {Welch, Ian and Stroud, Robert J.},
	Issn = {0926-227X},
	Journal = {Journal of Computer Security},
	Number = {4},
	Pages = {399--432},
	Title = {Using reflection as a mechanism for enforcing security policies on compiled code},
	Volume = {10},
	Year = {2002}}

@book{Welc97a,
	Author = {Brent B. Welch},
	Isbn = {0-13-616830-2},
	Publisher = {Prentice-Hall},
	Title = {Practical Programming in {Tcl} and {Tk}},
	Year = {1997}}

@inproceedings{Welc99a,
	Author = {Ian Welch and Robert Stroud},
	booktitle = {OOPSLA 99 Workshop on Reflective Programming in C++ and Java},
	Title = {{Dalang} -- A Reflective {Java} Extension},
	Year = {1999}}

@article{Well92a,
	Author = {David L. Wells and Jos\'e A. Blakely and Craig W. Thompson},
	Journal = {IEEE Computer (Special Issue on Inheritance \& Classification)},
	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}}

@article{Wels84a,
	Author = {M. Welser},
	Journal = {IEEE Transactions on Software Engineering},
	Pages = {352--357},
	Publisher = {IEEE Computer Society},
	Title = {Program Slicing},
	Year = {1984}}

@inproceedings{Wen03a,
	Address = {Los Alamitos CA},
	Author = {Zhihua Wen and Vassilios Tzerpos},
	Booktitle = {Proceedings 11th IEEE International Workshop on Program Comprehension (IWPC 2003)},
	Pages = {227--236},
	Publisher = {IEEE Computer Society},
	Title = {An Optimal Algorithm for {MoJo} Distance},
	Year = {2003}}

@inproceedings{Wend03a,
	Author = {Wendehals, Lothar},
	Booktitle = {Proc. of the ICSE 2003 Workshop on Dynamic Analysis (WODA)},
	Location = {Portland, USA},
	Month = may,
	Title = {Improving Design Pattern Instance Recognition by Dynamic Analysis},
	Year = {2003}}

@phdthesis{Wern99a,
	Author = {Michael M. Werner},
	Month = jul,
	School = {Northeastern University},
	Title = {Facilitating Schema Evolution With Automatic Program Transformation},
	Year = {1999}}

@inproceedings{West02a,
	Author = {Bosse Westerlund},
	Booktitle = {Proceedings DIS 2002 Serious reflection on designing interactive systems},
	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},
	Month = {jul},
	Note = {\url{www.frankwestphal.de/JUnit4.0.html}},
	Title = {JUnit 4.0},
	Url = {http://www.frankwestphal.de/JUnit4.0.html},
	Year = {2005},
	Bdsk-Url-1 = {http://www.frankwestphal.de/JUnit4.0.html}}

@inproceedings{West91a,
	Address = {New York, NY, USA},
	Author = {Westfechtel, Bernhard},
	Booktitle = {Proceedings of the 3rd international workshop on Software configuration management},
	Date-Added = {2009-10-21 10:46:47 +0200},
	Date-Modified = {2009-10-21 10:47:01 +0200},
	Doi = {/10.1145/111062.111071},
	Isbn = {0-897914-429-5},
	Location = {Trondheim, Norway},
	Pages = {68--79},
	Publisher = {ACM},
	Title = {Structure-oriented merging of revisions of software documents},
	Year = {1991},
	Bdsk-Url-1 = {/10.1145/111062.111071}}

@article{Weth80a,
	Address = {New York, NY, USA},
	Author = {C. S. Wetherell},
	Doi = {10.1145/356827.356829},
	Issn = {0360-0300},
	Journal = {ACM Computing Surveys},
	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},
	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)},
	Pages = {??-??},
	Title = {Archeology of Code Duplication: Recovering Duplication Chains From Small Duplication Fragments},
	Year = {2005}}

@inproceedings{Wett07a,
	Author = {Richard Wettel and Michele Lanza},
	Booktitle = {Proceedings of ICPC 2007 (15th International Conference on Program Comprehension)},
	Pages = {231--240},
	Publisher = {IEEE CS Press},
	Title = {Program Comprehension through Software Habitability},
	Year = {2007}}

@inproceedings{Wett07b,
	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},
	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,
	Author = {Richard Wettel and Michele Lanza},
	Booktitle = {In Proceedings of WCRE 2008 (15th IEEE Working Conference on Reverse Engineering)},
	Pages = {219 - 228},
	Publisher = {IEEE CS Press},
	Title = {Visual Exploration of Large-Scale System Evolution},
	Year = {2008}}

@inproceedings{Wett08b,
	Author = {Richard Wettel and Michele Lanza},
	Booktitle = {Proceedings of ICPC 2007 (15th International Conference on Program Comprehension)},
	Pages = {231--240},
	Publisher = {IEEE CS Press},
	Title = {Visually Localizing Design Problems with Disharmony Maps},
	Year = {2007}}

@article{Weye85a,
	Author = {S.A. Weyer and Alan H. Borning},
	Journal = {ACM TOOIS},
	Month = jan,
	Number = {1},
	Pages = {63--88},
	Title = {A Prototype Electronic Encyclopedia},
	Volume = {3},
	Year = {1985}}

@article{Weyu88a,
	Author = {Elaine J. Weyuker},
	Doi = {10.1109/32.6178},
	Issn = {0098-5589},
	Journal = {IEEE Trans. Softw. Eng.},
	Number = {9},
	Pages = {1357--1365},
	Publisher = {IEEE Press},
	Title = {Evaluating Software Complexity Measures},
	Volume = {14},
	Year = {1988},
	Bdsk-Url-1 = {http://dx.doi.org/10.1109/32.6178}}

@incollection{Weze90a,
	Author = {C.D. Wezeman},
	Booktitle = {Protocol Specification, Testing and Verification, IX},
	Editor = {E. Brinksma and G. Scollo and C.A. Vissers},
	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}}

@misc{Wheeler,
	Author = {Wikipedia},
	Key = {Wheeler},
	Note = {Retrieved August 10th 2006, \url{en.wikipedia.org/wiki/David_Wheeler}},
	Title = {{David} {Wheeler}},
	Url = {http://en.wikipedia.org/wiki/David_Wheeler},
	Year = {2006},
	Bdsk-Url-1 = {http://en.wikipedia.org/wiki/David_Wheeler}}

@misc{Whisker,
	Author = {Doug Way},
	Month = dec,
	Note = {\url{www.mindspring.com/~dway/smalltalk/whisker.html}},
	Title = {Whisker: The {O-O} Stacking Browser},
	Year = {2005}}

@article{Whit84a,
	Author = {C. Thomas White and Stephen C. Hardies and Hutchison, III, Clyde A. and Marshall H. Edgell},
	Journal = {Nucleic Acids Research},
	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},
	Note = {To appear},
	Title = {The Reuse of Component Interfaces Through Description and Translation},
	Year = {1992}}

@book{Whorf56a,
	Author = {B.L. Whorf},
	Publisher = {MIT Press},
	Title = {Language Thought and Reality},
	Year = {1956}}

@book{Why05a,
	Author = {Why Malsky},
	Note = {http://www.poignantguide.net},
	Publisher = {Creative Commons},
	Title = {Why's (poignant) Guide to Ruby},
	Url = {http://www.poignantguide.net/ruby/},
	Year = {2005},
	Bdsk-Url-1 = {http://www.poignantguide.net/ruby/}}

@book{Wido96a,
	Editor = {Jennifer Widow and Stefano Ceri},
	Publisher = {Morgan Kaufman Publishers},
	Title = {Active Database Systems: Triggers and Rules For Advanced Database Processing},
	Year = {1996}}

@inproceedings{Wieb86a,
	Author = {Douglas Wiebe},
	Booktitle = {Proceedings OOPSLA '86, ACM SIGPLAN Notices},
	Month = nov,
	Pages = {453--465},
	Title = {A Distributed Repository for Immutable Persistent Objects},
	Volume = {21},
	Year = {1986}}

@book{Wiec01a,
	Editor = {Martin Wieczorek and Dirk Meyerhoff},
	Publisher = {Springer},
	Title = {Software Quality},
	Year = {2001}}

@article{Wiec90a,
	Author = {Charles Wiecha and William Bennet and Stephen Boies and Jhon Gould},
	Journal = {ACM Transactions on Information Systems},
	Month = jul,
	Number = {3},
	Pages = {204--236},
	Title = {{ITS}: {A} Tool for Rapidly Developing Interactive Applications},
	Volume = {8},
	Year = {1990}}

@book{Wien95a,
	Author = {Richard Weiner},
	Isbn = {0-13-100686-X},
	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},
	Month = jul,
	Pages = {32--59},
	Publisher = {Springer-Verlag},
	Series = {LNCS},
	Title = {Roles and Dynamic Subclasses: {A} Modal Logic Approach},
	Volume = {821},
	Year = {1994}}

@inproceedings{Wigg97a,
	Author = {Theo Wiggerts},
	Booktitle = {Proceedings of WCRE '97 (4th Working Conference on Reverse Engineering)},
	Editor = {Ira Baxter and Alex Quilici and Chris Verhoef},
	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},
	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},
	Month = jun,
	Number = {2},
	Publisher = {ACM},
	Title = {Workshop report: 2nd Workshop on Open Hypermedia Systems},
	Url = {http://www.iam.unibe.ch/~demeyer/Wiil96m},
	Volume = {5},
	Year = {1996},
	Bdsk-Url-1 = {http://www.iam.unibe.ch/~demeyer/Wiil96m}}

@misc{WikiPedia,
	Key = {WikiPedia},
	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{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}}

@article{Wild92a,
	Author = {Norman Wilde and Ross Huitt},
	Journal = {IEEE Transactions on Software Engineering},
	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")},
	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}}

@inproceedings{Wilk91a,
	Author = {Michael R. Wilk},
	Booktitle = {Proceedings OOPSLA '91, ACM SIGPLAN Notices},
	Month = nov,
	Pages = {286--298},
	Title = {Equate: An Object-Oriented Constraint Solver},
	Volume = {26},
	Year = {1991}}

@book{Wilk95a,
	Author = {Nancy M. Wilkinson},
	Publisher = {Cambridge University Press},
	Title = {Using CRC Cards --- An Informal Approach to Object-Oriented Development},
	Year = {1995}}

@incollection{Will81a,
	Author = {R.R. Willis},
	Booktitle = {Software Engineering Environments},
	Editor = {H. H{\"u}nke},
	Pages = {27--48},
	Publisher = {North-Holland Publishing Co.},
	Title = {{AIDES}: Computer Aided Design of Software Systems --- {II}},
	Year = {1981}}

@article{Will81b,
	Author = {Rudolf Wille},
	Journal = {Ordered Sets, Ivan Rival Ed., NATO Advanced Study Institute},
	Month = sep,
	Pages = {445--470},
	Title = {Restructuring Lattice Theory: An Approach Based on Hierarchies of Concepts},
	Volume = {83},
	Year = {1981}}

@article{Will83a,
	Author = {Geoff Williams},
	Journal = {Byte},
	Month = feb,
	Number = {2},
	Pages = {33--50},
	Title = {The Lisa Computer System},
	Volume = {8},
	Year = {1983}}

@article{Will84a,
	Author = {Geoff Williams},
	Journal = {Byte},
	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},
	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},
	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},
	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},
	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},
	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},
	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}}

@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{Wils89a,
	Author = {Paul R. Wilson and Thomas G. Moher},
	Booktitle = {Proceedings OOPSLA '89, ACM SIGPLAN Notices},
	Month = oct,
	Pages = {23--36},
	Title = {Design of the Opportunistic Garbage Collector},
	Volume = {24},
	Year = {1989}}

@book{Wils93a,
	Author = {Leslie B. Wilson and Robert G. Clark},
	Isbn = {0-201-56885-3},
	Publisher = {Addison Wesley},
	Title = {Comparative Programming Languages},
	Year = {1993}}

@inproceedings{Win03a,
	Address = {Portland, Oregon},
	Author = {Joel Winstead and David Evans},
	Booktitle = {Proceedings ICSE International Workshop on Dynamic Analysis (WODA 2003)},
	Month = may,
	Pages = {37--40},
	Title = {Towards Differential Program Analysis},
	Year = {2003}}

@book{Wind98a,
	Author = {Russel Winder and Graham Roberts},
	Publisher = {Wiley},
	Title = {Developing {Java} Software},
	Year = {1998}}

@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},
	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{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},
	Pages = {111--121},
	Publisher = {Springer-Verlag},
	Series = {LNCS},
	Title = {Decomposing and Recomposing Transactional Concepts},
	Volume = {791},
	Year = {1994}}

@inproceedings{Wink92a,
	Address = {Kansas City},
	Author = {J{\"u}rgen Winkler and George Die{\ss}l},
	Booktitle = {Proceedings 1992 ACM Computer Science Conference},
	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},
	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},
	Publisher = {Addison Wesley},
	Title = {On to {Smalltalk}},
	Year = {1998}}

@book{Wirf03,
	Author = {Rebecca Wirfs-Brock and Alan McKean},
	Isbn = {0-201-37943-0},
	Publisher = {Addison-Wesley},
	Title = {Object Design --- Roles, Responsibilities and Collaborations},
	Year = {2003}}

@book{Wirf03a,
	Author = {Rebecca Wirfs-Brock and Alan McKean},
	Isbn = {0-201-37943-0},
	Publisher = {Addison-Wesley},
	Title = {Object Design --- Roles, Responsibilities and Collaborations},
	Year = {2003}}

@inproceedings{Wirf88a,
	Author = {Allen Wirfs-Brock and Brian Wilkerson},
	Booktitle = {Proceedings OOPSLA '88},
	Month = nov,
	Pages = {123--134},
	Title = {An Overview of Modular {Smalltalk}},
	Year = {1988}}

@inproceedings{Wirf88b,
	Author = {Rebecca Wirfs-Brock},
	Booktitle = {Proceedings OOPSLA '88},
	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},
	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},
	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},
	Publisher = {Prentice-Hall},
	Title = {Designing Object-Oriented Software},
	Year = {1990}}

@book{Wirf95a,
	Editor = {Rebecca Wirfs-Brock},
	Isbn = {0-201-87810-0},
	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}}

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

@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},
	Month = dec,
	Number = {9418},
	Title = {Concurrent Object-Oriented Design Specification in {SPECTRUM}},
	Type = {Bericht},
	Year = {1994}}

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

@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},
	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},
	Publisher = {MIT Press},
	Title = {Project Oberon: The Design of an Operating System and Compiler},
	Year = {1992}}

@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},
	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)},
	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.},
	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},
	Title = {Mode Analysis: A Generalization of {Nearest Neighbour} which reduces chaining effects},
	Year = {1969}}

@book{Wiss90a,
	Address = {Heidelberg},
	Author = {P. Wisskirchen},
	Publisher = {Springer-Verlag},
	Title = {Object-Oriented Graphics},
	Year = {1990}}

@book{Witt00a,
	Author = {Ian Witten and Eibe Frank},
	Isbn = {1-55860-552-5},
	Publisher = {Morgan Kauffmann},
	Title = {Data Mining},
	Year = {2000}}

@mastersthesis{Witt03a,
	Author = {A. Wittmann},
	School = {Technische Universit\"at Darmstadt, Fachbereich Informatik},
	Title = {Towars {Caesar}: Family polymorphism for {Java}},
	Type = {Diploma thesis},
	Year = {2003}}

@book{Witt53a,
	Author = {Ludwig Wittgenstein},
	Location = {Oxford},
	Publisher = {Blackwell, Oxford},
	Title = {Philosophische Untersuchungen},
	Year = {1953}}

@article{Wobb07a,
	Address = {New York, NY, USA},
	Author = {Wobber, Ted and Yumerefendi, Aydan and Abadi, Mart\'{\i}n and Birrell, Andrew and Simon, Daniel R.},
	Doi = {10.1145/1272998.1273033},
	Issn = {0163-5980},
	Journal = {SIGOPS Oper. Syst. Rev.},
	Number = {3},
	Pages = {355--368},
	Publisher = {ACM},
	Title = {Authorizing applications in singularity},
	Volume = {41},
	Year = {2007},
	Bdsk-Url-1 = {http://dx.doi.org/10.1145/1272998.1273033}}

@book{Wohl00a,
	Address = {Norwell, MA, USA},
	Author = {Claes Wohlin and Per Runeson and Martin H\"{o}st and Magnus C. Ohlsson and Bj\"{o}orn Regnell and Anders Wessl\'{e}n},
	Isbn = {0-7923-8682-5},
	Publisher = {Kluwer Academic Publishers},
	Title = {Experimentation in software engineering: an introduction},
	Year = {2000}}

@phdthesis{Wojc00a,
	Author = {Pawel T. Wojciechowski},
	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},
	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},
	Month = mar,
	Number = {2},
	Pages = {95--102},
	Publisher = {IEEE},
	Title = {Encapsulation, delegation and inheritance in object-oriented languages},
	Volume = {7},
	Year = {1992}}

@book{Wolf02a,
	Author = {Stephen Wolfram},
	Publisher = {Wolfram Media Inc.},
	Title = {A New Kind of Science},
	Year = {2002}}

@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},
	Pages = {81--98},
	Publisher = {Springer-Verlag},
	Series = {LNCS},
	Title = {A Sheaf Semantics for {FOOPS} Expressions},
	Volume = 612,
	Year = {1992}}

@inproceedings{Woli91a,
	Address = {Geneva, Switzerland},
	Author = {Francis Wolinski and Jean-Fran{\c{c}}ois Perrot},
	Booktitle = {Proceedings ECOOP '91},
	Editor = {Pierre America},
	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},
	Publisher = {Simon \& Schuster},
	Title = {Lean Thinking},
	Year = {1996}}

@article{Wong00a,
	Author = {Eric Wong and Swapna Gokhale and Joseph Horgan},
	Journal = {Journal of Systems and Software},
	Number = {2},
	Pages = {87--98},
	Title = {Quantifying the closeness between program components and features},
	Volume = {54},
	Year = {2000}}

@article{Wong03a,
	Author = {Pak Chung Wong and Kwong Kwok Wong and Harlan Foote and Jim Thomas},
	Journal = {IEEE Transactions On Visualization and Computer Graphics},
	Month = jul,
	Number = {3},
	Pages = {361--377},
	Title = {Global Visualization and Alignments of Whole Bacterial Genomes},
	Volume = {9},
	Year = {2003}}

@article{Wong94a,
	Author = {Kenny Wong and Scott R. Tilley and Hausi A. M{\"u}ller and Margaret-Anne D. Storey},
	Journal = {IEEE Software},
	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},
	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{Woo85a,
	Author = {Carson Woo and Frederick H. Lochovsky},
	Journal = {IEEE Database Engineering},
	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},
	Month = jul,
	Number = {3},
	Pages = {185--204},
	Title = {Supporting Distributed Office Problem Solving in Organizations},
	Volume = {4},
	Year = {1986}}

@article{Wood99a,
	Author = {Woods, Steven G. and Carri\`{e}re, S. Jeromy and Kazman, Rick},
	Issue = 3,
	Journal = {SEI Interactive, The Architect},
	Month = sep,
	Title = {The Perils and Joys of Reconstructing Architectures},
	Volume = 2,
	Year = {1999}}

@misc{Wool95a,
	Author = {Michael Wooldridge and Nicholas Jennings},
	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},
	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},
	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)},
	Month = oct,
	Number = {10},
	Title = {Object-Oriented Programming Workshop},
	Volume = {21},
	Year = {1986}}

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

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

@techreport{Wrob02a,
	Author = {Nicolas Wrobel},
	Institution = {University of Bern},
	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}}

@inproceedings{Wu00a,
	Author = {Jingwei Wu and Margaret-anne D. Storey},
	Booktitle = {In Proc. of CASCON2000},
	Pages = {41--50},
	Publisher = {IBM Press},
	Title = {A multi-perspective software visualization environment},
	Year = {2000}}

@book{Wu03a,
	Address = {Norwell, MA, USA},
	Author = {Wu, Weili and Xiong, Hui and Shekhar, Shashi},
	Isbn = {1402076827},
	Publisher = {Kluwer Academic Publishers},
	Title = {Clustering and Information Retrieval (Network Theory and Applications)},
	Year = {2003}}

@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)},
	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)},
	Month = nov,
	Pages = {90--99},
	Publisher = {IEEE Computer Society Press},
	Title = {A Reverse Engineering Approach to Support Software Maintenance: Version Control Knowledge Extraction},
	Year = {2004}}

@inproceedings{Wu04c,
	Author = {Lei Wu and Houari Sahraoui and Petko Valtchev},
	Booktitle = {CASCON'04: Proceedings of the 2004 conference of the Centre for Advanced Studies on Collaborative research},
	Location = {Markham, Ontario, Canada},
	Pages = {56--67},
	Publisher = {IBM Press},
	Title = {Program Comprehension With Dynamic Recovery of Code Collaboration Patterns and Roles},
	Year = {2004}}

@inproceedings{Wu05a,
	Address = {New York, NY, USA},
	Author = {Hui Wu and Jeff Gray and Suman Roychoudhury and Marjan Mernik},
	Booktitle = {SAC '05: Proceedings of the 2005 ACM symposium on Applied computing},
	Doi = {10.1145/1066677.1066986},
	Isbn = {1-58113-964-0},
	Location = {Santa Fe, New Mexico},
	Pages = {1370--1374},
	Publisher = {ACM Press},
	Title = {Weaving a debugging aspect into domain-specific language grammars},
	Year = {2005},
	Bdsk-Url-1 = {http://dx.doi.org/10.1145/1066677.1066986}}

@article{Wu84a,
	Author = {M. Wu and T. Hwang},
	Journal = {IEEE Transactions on Software Engineering},
	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}}

@book{Wuer08a,
	Author = {Rolf P. W{\"u}rtz},
	Isbn = {978-3-540-77656-7},
	Publisher = {Springer-Verlag},
	Title = {Organic Computing},
	Year = {2008}}

@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},
	Month = jun,
	Number = {6},
	Pages = {337--345},
	Title = {{HYDRA}: The Kernel of a Multiprocessor Operating System},
	Volume = {17},
	Year = {1974}}

@phdthesis{Wuyt01b,
	Author = {Wuyts, Roel},
	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{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.},
	Author = {Roel Wuyts},
	Booktitle = {International Workshop on (Constraint) Logic Programming for Software Engineering},
	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}}

@book{Wuyt05b,
	Author = {Roel Wuyts},
	Isbn = {1-59593-283-6},
	Publisher = {ACM Digital Library},
	Title = {Proceedings of the Dynamic Languages Symposium 2005},
	Year = {2005}}

@inproceedings{Wuyt09a,
	Abstract = {The objective of the 1st International Workshop on
                  Advanced Software Development Tools and Techniques
                  (WASDeTT-1) was to provide interested researchers
                  with a forum to share their tool building
                  experiences and to explore how tools can be built
                  more effectively and efficiently. The theme for this
                  workshop did focus on tools that target
                  object-oriented languages and that are implemented
                  with object-oriented languages. This workshop report
                  provides a brief overview of the presented tools and
                  of the discussions that took place. The presented
                  tools, 15 in total, covered a broad range of
                  functionalities, among them: refactoring, modeling,
                  behavioral specification, static and dynamic program
                  checking, user interface composition, and program
                  understanding. The discussion during the workshop
                  centered around the following topics: language
                  independent tools, tool building in an industrial
                  context, tool building methodology, tool
                  implementation language, and building tools with
                  external code.},
	Author = {Wuyts, Roel and Kienle, Holger and Mens, Kim and van den Brand, Mark and Kuhn, Adrian},
	Booktitle = {Object-Oriented Technology. ECOOP 2008 Workshop Reader},
	Doi = {10.1007/978-3-642-02047-6_10},
	Pages = {87--103},
	Posted-At = {2009-09-14 12:57:56},
	Title = {Academic Software Development Tools and Techniques},
	Url = {http://dx.doi.org/10.1007/978-3-642-02047-6_10},
	Year = {2009},
	Bdsk-Url-1 = {http://dx.doi.org/10.1007/978-3-642-02047-6_10}}

@inproceedings{Wuyt96a,
	Author = {Wuyts, Roel},
	Booktitle = {Proceedings of GRONICS '96},
	Editor = {I. Polak},
	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,
	Author = {Roel Wuyts},
	Booktitle = {Proceedings of the TOOLS USA '98 Conference},
	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.},
	Author = {Wuyts, Roel and Mens, Kim and D'Hondt, Theo},
	Institution = {Vrije Universiteit Brussel},
	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}}

@article{Wyat92a,
	Author = {Barbara B. Wyatt and Krishna Kavi and Steve Hufnagel},
	Journal = {IEEE Software},
	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{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},
	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},
	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}}

@techreport{Wyss99a,
	Author = {Serge Wyssmann},
	Institution = {University of Bern},
	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}}

@misc{X10,
	Key = {X10},
	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}}

@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{XMI98a,
	Author = {{Object} {Management} {Group}},
	Institution = {{Object} {Management} {Group}},
	Month = feb,
	Number = {ad/98-10-05},
	Title = {{XML} {Metadata} {Interchange} ({XMI})},
	Year = {1998}}

@techreport{XML98a,
	Author = {Tim Bray and Jean Paoli and C. M. Sperberg-McQueen},
	Institution = {World Wide Web Consortium},
	Month = feb,
	Number = {REC-xml-19980210},
	Title = {Extensible {Markup} {Language} ({XML}) 1.0 --- W3C Recommendation 10-February-1998},
	Year = {1998}}

@inproceedings{Xeno00a,
	Author = {M. Xenos and D. Stavrinoudis and K. Zikouli and D. Christodoulakis},
	Booktitle = {Proceedings of FESMA'00},
	Title = {Object-Oriented Metrics --- a Survey},
	Year = {2000}}

@inproceedings{Xie02a,
	Author = {Yichen Xie and Dawson Engler},
	Booktitle = {Proceedings of the Tenth ACM SIGSOFT Symposium on Foundations of Software Engineering},
	Doi = {10.1145/587051.587060},
	Isbn = {1-58113-514-9},
	Location = {Charleston, South Carolina, USA},
	Pages = {51--60},
	Publisher = {ACM Press},
	Title = {Using redundancies to find errors},
	Url = {citeseer.ist.psu.edu/xie02using.html},
	Year = {2002},
	Bdsk-Url-1 = {citeseer.ist.psu.edu/xie02using.html},
	Bdsk-Url-2 = {http://dx.doi.org/10.1145/587051.587060}}

@inproceedings{Xie03a,
	Author = {Tao Xie and David Notkin},
	Booktitle = {Proceedings of International Conference on Automated Software Engineering (ASE '03)},
	Month = oct,
	Organization = {IEEE},
	Pages = {40--48},
	Title = {Tool-Assisted Unit Test Selection Based on Operational Violations},
	Year = {2003}}

@inproceedings{Xie06a,
	Address = {Washington, DC, USA},
	Author = {Xinrong Xie and Denys Poshyvanyk and Andrian Marcus},
	Booktitle = {WCRE'06: Proceedings of the 13th Working Conference on Reverse Engineering},
	Doi = {10.1109/WCRE.2006.55},
	Isbn = {0-7695-2719-1},
	Pages = {231--242},
	Publisher = {IEEE Computer Society},
	Title = {Visualization of {CVS} Repository Information},
	Year = {2006},
	Bdsk-Url-1 = {http://dx.doi.org/10.1109/WCRE.2006.55}}

@inproceedings{Xing04a,
	Abstract = {In an evolving system maintained over a long time period, there exist
		many non-trivial relationships among system classes, such as class
		co-evolutions, which usually are not easily perceivable in the source
		code. However, unfortunately, the continuing evolution of large,
		long-lived systems leads to lost information about these hidden relationships.
		In this paper, we propose a method for recovering such lost knowledge
		by data mining method. This method relies on the UMLDiff algorithm
		that, given a sequence of UML class models of a system, surfaces
		the design-level changes over its life span, thus eliminating the
		need for high quality modification reports and nonintuitive software
		code-based metrics. We employ Apriori association rule mining algorithm to the transactional database of
		class modifications, which elicit previously unknown or undocumented
		co-evolving relations among two or more classes. The recovered knowledge
		facilitates the overall understanding of system evolution and the
		planning of future maintaining activities. We report on one real
		world case study evaluating our approach.},
	Author = {Xing, Zhenchang and Stroulia, Eleni},
	Booktitle = {SEKE '04: Proceedings of the 16th International Conference on Software Engineering and Knowledge Engineering},
	Isbn = {1-891706-14-4},
	Pages = {123--128},
	Title = {Data-mining in Support of Detecting Class Co-evolution},
	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)},
	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)},
	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},
	Location = {Chicago, IL},
	Month = sep,
	Organization = {IEEE},
	Pages = {75--84},
	Publisher = {IEEE Computer Society Press},
	Title = {Program Restructure through Clustering Technique},
	Year = {2004}}

@inproceedings{Xu07a,
	Address = {New York, NY, USA},
	Author = {Guoqing Xu and Atanas Rountev and Yan Tang and Feng Qin},
	Booktitle = {Proceedings of the the 6th joint meeting of the European software engineering conference and the ACM SIGSOFT symposium on The foundations of software engineering (ESEC-FSE'07)},
	Doi = {10.1145/1287624.1287638},
	Isbn = {978-1-59593-811-4},
	Location = {Dubrovnik, Croatia},
	Pages = {85--94},
	Publisher = {ACM},
	Title = {Efficient checkpointing of java software using context-sensitive capture and replay},
	Year = {2007},
	Bdsk-Url-1 = {http://dx.doi.org/10.1145/1287624.1287638}}

@inproceedings{Xu07b,
	Address = {New York, NY, USA},
	Author = {Haiying Xu and Christopher J. F. Pickett and Clark Verbrugge},
	Booktitle = {Proceedings of the 7th ACM SIGPLAN-SIGSOFT workshop on Program analysis for software tools and engineering (PASTE '07)},
	Doi = {10.1145/1251535.1251548},
	Isbn = {978-1-59593-595-3},
	Location = {San Diego, California, USA},
	Pages = {75--82},
	Publisher = {ACM},
	Title = {Dynamic purity analysis for java programs},
	Year = {2007},
	Bdsk-Url-1 = {http://dx.doi.org/10.1145/1251535.1251548}}

@inproceedings{Yahi96a,
	Author = {Sihem Amer-Yahia and Lotfi Lakhal and Rosine Cicchetti and Jean Paul Bordat},
	Booktitle = {Proceedings of ER'96 (15th International Conference on Conceptual Modeling)},
	Pages = {422--437},
	Publisher = {Springer-Verlag},
	Series = {Lecture Notes in Computer Science},
	Title = {i{O2} --- An Algorithmic Method for Building Inheritance Graphs in Object Database Design},
	Volume = {1157},
	Year = {1996}}

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

@article{Yama93a,
	Author = {Seiichi Yamazaki and Kiyohiko Kajihara and Mitsutaka Ito and Ryuichi Yasuhara},
	Journal = {IEEE Software (Special Issue on "Making O-O Work")},
	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},
	Month = nov,
	Pages = {61--76},
	Publisher = {Springer-Verlag},
	Series = {Lecture Notes in Computer Science},
	Title = {{TAO}: an object orientation kernel},
	Volume = {742},
	Year = {1993}}

@inproceedings{Yan04a,
	Author = {Hong Yan and David Garlan and Bradley Schmerl and Jonathan Aldrich and Rick Kazman},
	Booktitle = {International Conference on Software Engineering (ICSE)},
	Pages = {470--479},
	Title = {{DiscoTect}: A System for Discovering Architectures from Running Systems},
	Year = {2004}}

@article{Yan07a,
	Address = {Los Alamitos, CA, USA},
	Author = {Ning Yan},
	Doi = {10.1109/ICWS.2007.61},
	Isbn = {0-7695-2924-0},
	Journal = {icws},
	Pages = {xli},
	Publisher = {IEEE Computer Society},
	Title = {Build Your Mashup with Web Services},
	Volume = {0},
	Year = {2007},
	Bdsk-Url-1 = {http://dx.doi.org/10.1109/ICWS.2007.61}}

@techreport{Yang89a,
	Author = {Wuu Yang and Susan Horwitz and Thomas Reps},
	Institution = {University of Wisconsin--Madison},
	Number = {CS-TR-1989-840},
	Title = {Detecting Program Components with Equivalent Behaviors},
	Url = {citeseer.ist.psu.edu/yang89detecting.html},
	Year = {1989},
	Bdsk-Url-1 = {citeseer.ist.psu.edu/yang89detecting.html}}

@article{Yang90a,
	Address = {New York, NY, USA},
	Author = {Yang, Wuu and Horwitz, Susan and Reps, Thomas},
	Date-Added = {2009-10-21 11:30:52 +0200},
	Date-Modified = {2009-10-21 11:31:00 +0200},
	Doi = {/10.1145/99278.99290},
	Issn = {0163-5948},
	Journal = {SIGSOFT Softw. Eng. Notes},
	Number = {6},
	Pages = {133--143},
	Publisher = {ACM},
	Title = {A program integration algorithm that accommodates semantics-preserving transformations},
	Volume = {15},
	Year = {1990},
	Bdsk-Url-1 = {/10.1145/99278.99290}}

@article{Yang94a,
	Address = {New York, NY, USA},
	Author = {Yang, Wuu},
	Date-Added = {2009-10-21 10:47:40 +0200},
	Date-Modified = {2009-10-21 10:47:50 +0200},
	Doi = {10.1016/0164-1212(94)90026-4},
	Issn = {0164-1212},
	Journal = {J. Syst. Softw.},
	Number = {2},
	Pages = {129--135},
	Publisher = {Elsevier Science Inc.},
	Title = {How to merge program texts},
	Volume = {27},
	Year = {1994},
	Bdsk-Url-1 = {10.1016/0164-1212(94)90026-4}}

@inproceedings{Yase91a,
	Author = {Rahim Yaseen and Stanley Y.W. Su and Herman Lam},
	Booktitle = {Proceedings OOPSLA '91, ACM SIGPLAN Notices},
	Month = nov,
	Pages = {247--263},
	Title = {An Extensible Kernel Object Management System},
	Volume = {26},
	Year = {1991}}

@article{Yass99a,
	Author = {Yassine, A. and Falkenburg, D. and Chelst, K.},
	Journal = {International Journal of Production Research},
	Number = {13},
	Pages = {2957--2975},
	Publisher = {Taylor \& Francis},
	Title = {Engineering design management: an information structure approach},
	Volume = {37},
	Year = {1999}}

@inproceedings{Yasu92a,
	Address = {Washington D.C.},
	Author = {Masahiro Yasugi and Satoshi Matsuoka and Akinori Yonezawa},
	Booktitle = {Proceedings, ACM Supercomputing '92},
	Title = {{ABCL}/onEM-4: {A} New Software/Hardware Architecture for Object-Oriented Concurrent Computing on an Extended Dataflow Supercomputer},
	Url = {ftp://camille.is.s.u-tokyo.ac.jp/pub/papers/supercomputing92-abcl.ps.gz},
	Year = {1992},
	Bdsk-Url-1 = {ftp://camille.is.s.u-tokyo.ac.jp/pub/papers/supercomputing92-abcl.ps.gz}}

@inproceedings{Yau78,
	Author = {Stephen S. Yau and J. S. Collofello and T. MacGregor},
	Booktitle = {The IEEE Computer Society's Second International Computer Software and Applications Conference},
	Month = {nov},
	Pages = {60--65},
	Publisher = {IEEE Press},
	Title = {Ripple effect analysis of software maintenance},
	Year = {1978}}

@article{YeFi05a,
	Author = {Yunwen Ye and Gerhard Fischer},
	Doi = {10.1007/s10515-005-6206-x},
	Journal = {Autom. Softw. Eng.},
	Number = {2},
	Pages = {199--235},
	Title = {Reuse-Conducive Development Environments},
	Url = {http://l3d.cs.colorado.edu/~gerhard/papers/J-ASE-final.pdf},
	Volume = {12},
	Year = {2005},
	Bdsk-Url-1 = {http://l3d.cs.colorado.edu/~gerhard/papers/J-ASE-final.pdf},
	Bdsk-Url-2 = {http://dx.doi.org/10.1007/s10515-005-6206-x}}

@article{Yee10a,
	Author = {B. Yee and D. Sehr and G. Dardyk and J. B. Chen and R. Muth and T. Ormandy and S. Okasaka and N. Narula and N. Fullagar},
	Journal = {CACM},
	Number = {1},
	Title = {Native Client: a sandbox for portable, untrusted x86 native code},
	Volume = {53},
	Year = {2010}}

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

@inproceedings{Yell95a,
	Author = {F. Yellin},
	Booktitle = {International World Wide Web Conference},
	Title = {Low level security in Java},
	Year = {1995}}

@article{Yell97a,
	Author = {Daniel M. Yellin and Robert E. Strom},
	Doi = {10.1145/244795.244801},
	Journal = {ACM Transactions on Programming Languages},
	Month = mar,
	Number = {2},
	Pages = {292--333},
	Title = {Protocol Specifications and Component Adaptors},
	Volume = {19},
	Year = {1997},
	Bdsk-Url-1 = {http://dx.doi.org/10.1145/244795.244801}}

@article{Ying04,
	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{\'o}sets of files that were changed together frequently in the
	past{\'o}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, Annie T. T. and Murphy, Gail C. and Ng, Raymond and Chu-Carroll, Mark C.},
	Doi = {10.1109/TSE.2004.52},
	Issn = {0098-5589},
	Journal = {IEEE Transactions on Software Engineering},
	Month = sep,
	Number = {9},
	Pages = {574--586},
	Publisher = {IEEE Press},
	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{Ying04a,
	Author = {Annie Ying and Gail Murphy and Raymond Ng and Mark Chu-Carroll},
	Journal = {Transactions on Software Engineering},
	Number = {9},
	Pages = {573--586},
	Title = {Predicting Source Code Changes by Mining Change History},
	Volume = {30},
	Year = {2004}}

@inproceedings{Yode01a,
	Author = {Joseph Yoder and Federico Balaguer and Ralph Johnson},
	Booktitle = {Conference on Object-Oriented Programming Systems, Languages, and Applications (OOPSLA '01)},
	Doi = {10.1145/583960.583966},
	Pages = {50--60},
	Title = {Architecture and Design of Adaptive Object Models},
	Year = {2001},
	Bdsk-Url-1 = {http://dx.doi.org/10.1145/583960.583966}}

@inproceedings{Yode02a,
	Author = {Joseph W. Yoder and Ralph Johnson},
	Booktitle = {Proceeding of The Working IEEE/IFIP Conference on Software Architecture 2002 (WICSA3 '02)},
	Month = aug,
	Title = {The Adaptive Object Model Architectural Style},
	Year = {2002}}

@inproceedings{Yoko86a,
	Author = {Yasuhiko Yokote and Mario Tokoro},
	Booktitle = {Proceedings OOPSLA '86, ACM SIGPLAN Notices},
	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},
	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},
	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},
	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},
	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},
	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},
	Month = nov,
	Pages = {145--162},
	Publisher = {Springer-Verlag},
	Series = {Lecture Notes in Computer Science},
	Title = {Kernel Structuring for Object-Oriented Operating Systems: The Apertos Approach},
	Volume = {742},
	Year = {1993}}

@inproceedings{Yone86a,
	Author = {Akinori Yonezawa and Jean-Pierre Briot and Etsuya Shibayama},
	Booktitle = {Proceedings OOPSLA '86, ACM SIGPLAN Notices},
	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},
	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},
	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},
	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},
	Month = nov,
	Pages = {251--263},
	Publisher = {Springer-Verlag},
	Series = {Lecture Notes in Computer Science},
	Title = {An Object-Oriented Query Model Supporting Views},
	Volume = {742},
	Year = {1993}}

@inproceedings{Yosh88a,
	Author = {Nobuko Yoshida and Kouji Hino},
	Booktitle = {Proceedings OOPSLA '88, ACM SIGPLAN Notices},
	Month = nov,
	Pages = {259--266},
	Title = {An Object-Oriented Framework of Pattern Recognition Systems},
	Volume = {23},
	Year = {1988}}

@phdthesis{Yosh90a,
	Author = {Kaoru Yoshida},
	Month = mar,
	School = {Keio University},
	Title = {A'{UM} --- {A} Stream-Based Concurrent Object-Oriented Programming Language},
	Type = {{Ph.D}. Thesis},
	Year = {1990}}

@article{Youn38a,
	Author = {Gale Young and Alston S. Householder},
	Journal = {Psychometrika},
	Number = {1},
	Pages = {19--22},
	Publisher = {Sage Publication},
	Title = {Discussion of a set of points in term of their mutual distances},
	Volume = {3},
	Year = {1938}}

@inproceedings{Youn87a,
	Author = {Robert L. Young},
	Booktitle = {Proceedings OOPSLA '87, ACM SIGPLAN Notices},
	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},
	Publisher = {MIT Press},
	Title = {Object-Oriented Programming wih {C}++ and {OSF}/{MOTIF}},
	Year = {1992}}

@book{Your79a,
	Author = {Edward Yourdon},
	Publisher = {Yourdon Press},
	Title = {Classics in Software Engineering},
	Year = {1979}}

@book{Your79b,
	Author = {E. Yourdon and L. Constantine},
	Publisher = {Yourdon Press/Prentice Hall},
	Title = {Structured Design: Fundamentals of a Discipline of Computer Programs and System Design},
	Year = {1979}}

@book{Your97a,
	Author = {Edward Yourdon},
	Publisher = {Prentice-Hall},
	Title = {Death March},
	Year = {1997}}

@inproceedings{YuSe02a,
	Author = {Yu-Seung Ma and Yong-Rae Kwon and Jeff Offutt},
	Booktitle = {Proceedings of the 13th International Symposium on Software Reliability Engineering},
	Date-Added = {2007-01-31 10:27:08 +0100},
	Date-Modified = {2007-01-31 10:27:08 +0100},
	Month = {nov},
	Organization = {EEE Computer Society Press},
	Pages = {352--363},
	Publisher = {Annapolis MD},
	Title = {Inter-Class Mutation Operators for Java},
	Year = {2002}}

@article{YuSe04a,
	Author = {Jeff Offut and Yu-Seung M and Yong-Rae Kwon},
	Date-Added = {2007-01-31 10:27:08 +0100},
	Date-Modified = {2007-01-31 10:27:08 +0100},
	Journal = {ACM SIGSOFT Software Engineering Notes, Workshop on Empirical Research in Software Testing},
	Month = {sep},
	Number = {5},
	Pages = {1--4},
	Read = {Yes},
	Title = {An Experimental Mutation System for Java},
	Volume = {29},
	Year = {2004}}

@article{YuSe05a,
	Author = {Yu-Seung Ma and Jeff Offutt and Yong Rae Kwon},
	Date-Added = {2007-01-31 10:27:08 +0100},
	Date-Modified = {2007-01-31 10:27:08 +0100},
	Journal = {Journal of Software Testing, Verification and Reliability},
	Month = {jun},
	Number = {2},
	Pages = {97--133},
	Title = {MuJava : An Automated Class Mutation System},
	Url = {http://ise.gmu.edu/~offutt/mujava/},
	Volume = {15},
	Year = {2005},
	Bdsk-Url-1 = {http://ise.gmu.edu/~offutt/mujava/}}

@misc{ZOPE,
	Key = {ZOPE},
	Note = {http://www.zope.org},
	Title = {{Zope}}}

@inproceedings{Zaid04a,
	Address = {Los Alamitos CA},
	Author = {Andy Zaidman and Serge Demeyer},
	Booktitle = {Proceedings IEEE European Conference on Software Maintenance and Reengineering (CSMR'04)},
	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)},
	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)},
	Title = {Mining ArgoUML with Dynamic Analysis to Establish a Set of Key Classes for Program Comprehension},
	Year = {2005}}

@inproceedings{Zaid06a,
	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},
	Medium = {2},
	Month = oct,
	Pages = {315--315},
	Title = {Workshop on Program Comprehension through Dynamic Analysis ({PCODA})},
	Url = {http://www.lore.ua.ac.be/Events/PCODA2006/index.html http://www.lore.ua.ac.be/Events/PCODA2006/pcoda2006proceedings.pdf http://scg.unibe.ch/archive/papers/Zaid06a-pcoda2006proceedings.pdf},
	Year = {2006},
	Bdsk-Url-1 = {http://www.lore.ua.ac.be/Events/PCODA2006/index.html%20http://www.lore.ua.ac.be/Events/PCODA2006/pcoda2006proceedings.pdf%20http://scg.unibe.ch/archive/papers/Zaid06a-pcoda2006proceedings.pdf},
	Bdsk-Url-2 = {http://dx.doi.org/10.1109/WCRE.2006.45}}

@inproceedings{Zaid06b,
	Address = {Washington, DC, USA},
	Author = {Andy Zaidman and Serge Demeyer and Bram Adams and Kris De Schutter and Ghislain Hoffman and Bernard De Ruyck},
	Booktitle = {Proceedings of the Conference on Software Maintenance and Reengineering (CSMR'06)},
	Isbn = {0-7695-2536-9},
	Pages = {91--102},
	Publisher = {IEEE Computer Society},
	Title = {Regaining Lost Knowledge through Dynamic Analysis and Aspect Orientation},
	Year = {2006}}

@inproceedings{Zaid08a,
	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},
	Medium = {2},
	Month = oct,
	Pages = {345--346},
	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}}

@inproceedings{Zayo00a,
	Author = {Iyad Zayour and Timothy C. Lethbridge},
	Booktitle = {Proceedings of the 2000 conference of the Centre for Advanced Studies on Collaborative research},
	Month = nov,
	Title = {A Cognitive and User Centric Based Approach For Reverse Engineering Tool Design},
	Year = {2000}}

@inproceedings{Zdon84a,
	Author = {Stanley Zdonik},
	Booktitle = {Proceedings of the Second ACM SIGOA Conference},
	Pages = {13--19},
	Title = {Object Management System Concepts},
	Year = {1984}}

@article{Zdon85a,
	Author = {Stanley Zdonik},
	Journal = {IEEE Database Engineering},
	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},
	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},
	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},
	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},
	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{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},
	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},
	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}}

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

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

@inproceedings{Zeng03a,
	Author = {Zeng, L. and Benatallah, B. and Dumas, M. Kalagnanam and J. and Sheng, Q. Z.},
	Booktitle = {WWW},
	Month = jul,
	Publisher = {ACM},
	Title = {Quality driven web services composition},
	Year = {2003}}

@phdthesis{Zeng03b,
	Author = {Matthias Zenger},
	School = {University of Lausanne, EPFL},
	Title = {Programming Language Abstractions for Extensible Software Components},
	Year = {2003}}

@inproceedings{Zhan02a,
	Author = {Youtao Zhang and Rajiv Gupta},
	Booktitle = {Proceedings of the 11th International Conference on Compiler Construction (CC'02)},
	Pages = {14--28},
	Publisher = {Springer-Verlag},
	Series = {LNCS},
	Title = {Data compression transformations for dynamically allocated data structures},
	Volume = {2304},
	Year = {2002}}

@inproceedings{Zhan08a,
	Author = {Sai Zhang and Zhongxian Gu and Yu Lin and Jianjun Zhao},
	Booktitle = {Proceedings of the International Conference on Software Maintenance},
	Title = {Change Impact Analysis for AspectJ Programs},
	Year = {2008}}

@article{Zhan08b,
	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{Zhan09a,
	Author = {Zhang, D. and Duala-Ekoko, E. and Hendren, L.},
	Booktitle = {International Conference on Program Comprehension (ICPC)},
	Title = {Impact Analysis and Visualization Toolkit for Static Crosscutting in AspectJ},
	Year = {2009}}

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

@inproceedings{Zhou08a,
	Author = {Tianlin Zhou and Baowen Xu and Liang Shi and Yuming Zhou and Lin Chen},
	Booktitle = {IEEE International Workshop on Semantic Computing and Systems, 2008. WSCS '08.},
	Doi = {10.1109/WSCS.2008.23},
	Pages = {127-132},
	Title = {Measuring Package Cohesion Based on Context},
	Year = {2008},
	Bdsk-Url-1 = {http://dx.doi.org/10.1109/WSCS.2008.23}}

@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},
	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},
	Title = {Mathematical Equations as Executable Models of Mechnical Systems},
	Year = {2010}}

@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{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)},
	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,
	Abstract = {We apply data mining to version histories in order to guide programmers
	along related changes: {\`\i}Programmers who changed these functions also
	changed....{\^\i} Given a set of existing changes, the mined association
	rules 1) suggest and predict likely further changes, 2) show up item
	coupling that is undetectable by program analysis, and 3) can prevent
	errors due to incomplete changes. After an initial change, our ROSE
	prototype can correctly predict further locations to be changed;
	the best predictive power is obtained for changes to existing software.
	In our evaluation based on the history of eight popular open source
	projects, ROSE{\'\i}s topmost three suggestions contained a correct location
	with a likelihood of more than 70 percent.},
	Author = {Zimmermann, Thomas and Wei{\ss}gerber, Peter and Diehl, Stephan and Zeller, Andreas},
	Booktitle = {ICSE '04: Proceedings of the 26th International Conference on Software Engineering},
	Isbn = {0-7695-2163-0},
	Pages = {563--572},
	Publisher = {IEEE Computer Society Press},
	Title = {Mining Version Histories to Guide Software Changes},
	Url = {http://www.st.cs.uni-sb.de/papers/icse2004/icse.pdf},
	Year = {2004},
	Bdsk-Url-1 = {http://www.st.cs.uni-sb.de/papers/icse2004/icse.pdf}}

@inproceedings{Zimm04b,
	Address = {Los Alamitos CA},
	Author = {Thomas Zimmermann and Peter Wei{\ss}gerber},
	Booktitle = {Proceedings 1st International Workshop on Mining Software Repositories (MSR 2004)},
	Pages = {2--6},
	Publisher = {IEEE Computer Society Press},
	Title = {Preprocessing {CVS} Data for Fine-Grained Analysis},
	Year = {2004}}

@article{Zimm05a,
	Author = {Thomas Zimmermann and Peter Wei{\ss}gerber and Stephan Diehl and Andreas Zeller},
	Journal = {IEEE Transactions on Software Engineering},
	Month = jun,
	Number = {6},
	Pages = {429--445},
	Title = {Mining Version Histories to Guide Software Changes},
	Volume = {31},
	Year = {2005}}

@inproceedings{Zimm07a,
	Abstract = {We have mapped defects from the bug database of
                  Eclipse (one of the largest open-source projects) to
                  source code locations. The resulting data set lists
                  the number of pre- and post-release defects for
                  every package and file in the Eclipse releases 2.0,
                  2.1, and 3.0. We additionally annotated the data
                  with common complexity metrics. All data is publicly
                  available and can serve as a benchmark for defect
                  prediction models.},
	Address = {Minneapolis, MN},
	Author = {Thomas Zimmermann and Rahul Premraj and Andreas Zeller},
	Booktitle = {Proceedings of the Third International Workshop on Predictor Models in Software Engineering},
	Month = may,
	Note = {To appear},
	Title = {Predicting Defects for Eclipse},
	Year = {2007}}

@article{Zimm08a,
	Author = {Thomas Zimmermann and Nachiappan Nagappan and Andreas Zeller},
	Journal = {Software Evolution},
	Pages = {69--88},
	Publisher = {Springer},
	Title = {Predicting bugs from history},
	Year = {2008}}

@techreport{Zimm84a,
	Address = {Rocquencourt},
	Author = {H. Zimmermann and M. Guillemont and G. Morisset and J. Banino},
	Institution = {INRIA},
	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.)},
	Publisher = {CRC Press},
	Title = {Advances in Object-Oriented Metalevel Architectures and Reflection},
	Year = {1996}}

@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},
	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},
	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},
	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},
	Month = mar,
	Title = {A Language for Office and Business Automation},
	Year = {1980}}

@article{Zloo81a,
	Author = {M.M. Zloof},
	Journal = {IEEE Computer 14},
	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},
	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{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},
	Publisher = {Springer-Verlag},
	Title = {Writing for Computer Science},
	Year = {2004}}

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

@inproceedings{Zou03a,
	Address = {Los Alamitos CA},
	Author = {Lijie Zou and Michael Godfrey},
	Booktitle = {Proceedings 10th Working Conference on Reverse Engineering (WCRE '03)},
	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},
	Number = {2},
	Pages = {166--181},
	Publisher = {IEEE Press},
	Title = {Using Origin Analysis to Detect Merging and Splitting of Source Code Entities},
	Volume = {31},
	Year = {2005},
	Bdsk-Url-1 = {http://dx.doi.org/10.1109/TSE.2005.28}}

@article{Zucc07a,
	Author = {Giovanni Lagorio and Elena Zucca},
	Journal = {Journal of Object Technology},
	Month = feb,
	Number = {2},
	Pages = {71 -- 100},
	Title = {Just: safe unknown types in Java-like languages},
	Url = {http://www.jot.fm//issues/issue_2007_02/article4.pdf},
	Volume = {6},
	Year = {2007},
	Bdsk-Url-1 = {http://www.jot.fm//issues/issue_2007_02/article4.pdf}}

@techreport{Zuer01a,
	Author = {Martin Z\"urcher},
	Institution = {University of Bern},
	Month = may,
	Title = {Training {IT} \& Operations},
	Type = {Informatikprojekt},
	Url = {http://scg.unibe.ch/archive/projects/Zuer01a.pdf},
	Year = {2001},
	Bdsk-Url-1 = {http://scg.unibe.ch/archive/projects/Zuer01a.pdf}}

@book{Zull98a,
	Author = {Heinz Zuellighoven},
	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},
	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},
	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},
	Publisher = {Walter De Gruyter},
	Title = {Software Complexity, Measures and Methods},
	Year = {1990}}

@book{Zwie89a,
	Author = {J. Zwiers},
	Publisher = {Springer-Verlag},
	Series = {LNCS},
	Title = {Compositionality, Concurrency and Partial Correctness},
	Volume = {321},
	Year = {1989}}

@misc{gemstone,
	Howpublished = {\url{http://gemstone.com/products/gemstone}},
	Key = {gemstone},
	Title = {Gemstone Object Server},
	Url = {http://gemstone.com/products/gemstone},
	Bdsk-Url-1 = {http://gemstone.com/products/gemstone}}

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

@misc{jdpa,
	Howpublished = {\url{http://java.sun.com/javase/technologies/core/toolsapis/jpda/}},
	Key = {JDPA},
	Title = {Java Platform Debugger Architecture},
	Url = {http://java.sun.com/javase/technologies/core/toolsapis/jpda/},
	Bdsk-Url-1 = {http://java.sun.com/javase/technologies/core/toolsapis/jpda/}}

@misc{sixx,
	Howpublished = {\url{http://www.mars.dti.ne.jp/~umejava/smalltalk/sixx/index.html}},
	Key = {SIXX},
	Title = {SIXX (Smalltalk Instance eXchange in XML)},
	Url = {http://www.mars.dti.ne.jp/~umejava/smalltalk/sixx/index.html},
	Bdsk-Url-1 = {http://www.mars.dti.ne.jp/~umejava/smalltalk/sixx/index.html}}

@inproceedings{Karm09a,
	Acmid = {1596658},
	Address = {New York, NY, USA},
	Author = {Karmani, Rajesh K. and Shali, Amin and Agha, Gul},
	Booktitle = {Proceedings of the 7th International Conference on Principles and Practice of Programming in Java},
	Doi = {doi.acm.org/10.1145/1596655.1596658},
	Isbn = {978-1-60558-598-7},
	Keywords = {JVM, Java, abstractions, actors, comparison, frameworks, libraries, performance, semantics},
	Location = {Calgary, Alberta, Canada},
	Numpages = {10},
	Pages = {11--20},
	Publisher = {ACM},
	Series = {PPPJ '09},
	Title = {Actor frameworks for the JVM platform: a comparative analysis},
	Url = {http://doi.acm.org/10.1145/1596655.1596658},
	Year = {2009},
	Bdsk-Url-1 = {http://doi.acm.org/10.1145/1596655.1596658},
	Bdsk-Url-2 = {http://dx.doi.org/10.1145/1596655.1596658}}

@article{Czaj05,
	Acmid = {1055955},
	Address = {New York, NY, USA},
	Author = {Czajkowski, Grzegorz and Hahn, Stephen and Skinner, Glenn and Soper, Pete and Bryce, Ciar\'{a}n},
	Doi = {10.1002/spe.v35:2},
	Issn = {0038-0644},
	Issue = {2},
	Journal = {Softw. Pract. Exper.},
	Keywords = {Java\texttrademark platform, resource management, safe languages},
	Month = {feb},
	Numpages = {35},
	Pages = {123--157},
	Publisher = {John Wiley \& Sons, Inc.},
	Title = {A resource management interface for the Java platform},
	Url = {http://portal.acm.org/citation.cfm?id=1055953.1055955},
	Volume = {35},
	Year = {2005},
	Bdsk-Url-1 = {http://portal.acm.org/citation.cfm?id=1055953.1055955},
	Bdsk-Url-2 = {http://dx.doi.org/10.1002/spe.v35:2}}

@inproceedings{Czaj03,
	Acmid = {1247347},
	Address = {Berkeley, CA, USA},
	Author = {Czajkowski, Grzegorz and Dayn\`{e}s, Laurent and Titzer, Ben},
	Booktitle = {Proceedings of the annual conference on USENIX Annual Technical Conference},
	Location = {San Antonio, Texas},
	Numpages = {1},
	Pages = {7--7},
	Publisher = {USENIX Association},
	Title = {A multi-user virtual machine},
	Url = {http://portal.acm.org/citation.cfm?id=1247340.1247347},
	Year = {2003},
	Bdsk-Url-1 = {http://portal.acm.org/citation.cfm?id=1247340.1247347}}

@inproceedings{Gong97,
	Acmid = {1267289},
	Address = {Berkeley, CA, USA},
	Author = {Gong, Li and Mueller, Marianne and Prafullchandra, Hemma and Schemers, Roland},
	Booktitle = {Proceedings of the USENIX Symposium on Internet Technologies and Systems on USENIX Symposium on Internet Technologies and Systems},
	Location = {Monterey, California},
	Numpages = {1},
	Pages = {10--10},
	Publisher = {USENIX Association},
	Title = {Going beyond the sandbox: an overview of the new security architecture in the javaTM development Kit 1.2},
	Url = {http://portal.acm.org/citation.cfm?id=1267279.1267289},
	Year = {1997},
	Bdsk-Url-1 = {http://portal.acm.org/citation.cfm?id=1267279.1267289}}

@inproceedings{Jens98,
	Acmid = {857244},
	Address = {Washington, DC, USA},
	Author = {Jensen, T. and Le M\'{e}tayer, D. and Thorn, T.},
	Booktitle = {Proceedings of the 1998 International Conference on Computer Languages},
	Isbn = {0-8186-8454-2},
	Pages = {4--},
	Publisher = {IEEE Computer Society},
	Title = {Security and Dynamic Class Loading in Java: A Formalization},
	Url = {http://portal.acm.org/citation.cfm?id=857172.857244},
	Year = {1998},
	Bdsk-Url-1 = {http://portal.acm.org/citation.cfm?id=857172.857244}}

@inproceedings{Eugs06a,
 	Author = {Eugster, Patrick},
 	Title = {Uniform proxies for Java},
 	Booktitle = {Proceedings of the 21st annual ACM SIGPLAN conference on Object-oriented programming systems, languages, and applications},
 	Series = {OOPSLA '06},
 	Year = {2006},
 	Isbn = {1-59593-348-4},
 	Location = {Portland, Oregon, USA},
 	Pages = {139--152},
 	Numpages = {14},
 	Url = {http://doi.acm.org/10.1145/1167473.1167485},
 	Doi = {10.1145/1167473.1167485},
 	Acmid = {1167485},
 	Publisher = {ACM},
 	Address = {New York, NY, USA},
 	Keywords = {Java, future, proxy, transformation}}

@inproceedings{Shapi86,
 	Author = {Marc Shapiro},
	Title = {Structure and Encapsulation in Distributed Systems:
		 The Proxy Principle},
	Pages = {198--205},
	Booktitle = {Proceedings of the 6th International Conference on
		 Distributed Computing Systems (ICDCS)},
	Year =  {1986},
	Publisher = {IEEE Computer Society},
	Address =	 {Washington, DC},
	Isbn = {0-8186-0697-5},
	Keywords = {cache coherency protocols DSM distributed shared memory}}

@misc{nuno02,
	Title = {A Framework for Smart Proxies and Interceptors in
		 {RMI}},
	Author = {Nuno Santos and Paulo Marques and Luis Silva},
	Year =  {2002},
	Abstract =	 {The Java Remote Method Invocation (RMI) API shields
		 the developer from the details of distributed
		 programming, allowing him to concentrate on application
		 specific code. But to perform some operations that are
		 orthogonal to the application, like logging, auditing,
		 caching, QoS, fault tolerance, and security, sometimes
		 it is necessary to customize the default behavior of
		 the RMI runtime. Other middleware for distributed
		 programming, like CORBA and the Remoting framework of
		 the .NET platform, support smart proxies and
		 interceptors, which can be used for these purposes,
		 allowing the separation of application-specific code
		 from service-specific code. In RMI there is no direct
		 way of doing so. This paper presents a framework based
		 on the Dynamic Proxy API for using smart proxies and
		 interceptors with RMI. This framework requires no
		 changes in the client application and minimal changes
		 in the server application, giving the developer greater
		 control over the distributed application. A practical
		 example of use is also given, by using the described
		 framework to implement user authentication and
		 fine-grained access control in RMI.},
	Citeseer-references = {oai:CiteSeerPSU:438102; oai:CiteSeerPSU:562459;
		 oai:CiteSeerPSU:335110; oai:CiteSeerPSU:331446},
	Annote = {Nuno Santos (CISUC , University of Coimbra , Coimbra;
		 Portugal); Paulo Marques ({\textbraceleft}nsantos);
		 Luis Silva ({\textbraceleft}nsantos);},
	Bibsource = {OAI-PMH server at cs1.ist.psu.edu},
	Language = {en},
	Oai =  {oai:CiteSeerPSU:542994},
	Rights = {unrestricted},
	Url = {http://citeseer.ist.psu.edu/542994.html;
		 http://eden.dei.uc.pt/~pmarques/papers/nsantos2002_pdcs2002.pdf}}

@misc{proxiesDesignContract,
	Key = {contractProxies},
	Title = {Implement Design by Contract for Java using Dynamic Proxies},
	Author = {Anders Eliasson},
	Url = {http://www.javaworld.com/javaworld/jw-02-2002/jw-0215-dbcproxy.html},
	Howpublished = {\url{hhttp://download.oracle.com/javase/1.5.0/docs/api/java/lang/reflect/Proxy.html}},
	Year = 	{2002}}

@misc{proxiesDatabase,
	Key = {proxiesDatabase},
	Title = {Java Proxies for Database Objects},
	Author = {Paul Lipton},
	Url = {http://www.drdobbs.com/windows/184410934},
	Howpublished = {\url{http://www.drdobbs.com/windows/184410934}},
	Year = {1999}}

@inproceedings{Wang01,
	Author = {Nanbor Wang and Kirthika Parameswaran and Douglas
		 Schmidt and Ossama Othman},
	Title = {The Design and Performance of {Meta-Programming}
		 Mechanisms for Object Request Broker Middleware},
	Pages = {103--118},
	Booktitle = {Proceedings of the 6th {USENIX} Conference on
		 Object-Oriented Technologies and Systems ({COOTS}-01)},
	Publisher = {USENIX Association},
	Address =	 {Berkeley, California},
	Year = {2001}}

@inproceedings{Koster00,
	Title = {Loadable Smart Proxies and Native-Code Shipping for {CORBA}},
	Author = {Rainer Koster and Thorsten Kramp},
	Bibdate =	{2002-01-03},
	Bibsource = {DBLP,
		 http://dblp.uni-trier.de/db/conf/usm/usm2000.html#KosterK00},
	Booktitle = {USM},
	Booktitle = {Trends in Distributed Systems: Towards a Universal
		 Service Market, Third International {IFIP}/{GI} Working
		 Conference, {USM} 2000, Munich, Germany, September
		 12-14, 2000, Proceedings},
	Publisher = {Springer},
	Year = {2000},
  	Volume =	{1890},
  	Editor = {Claudia Linnhoff-Popien and Heinz-Gerd Hegering},
  	Isbn = {3-540-41024-4},
  	Pages = {202--213},
  	Series = {Lecture Notes in Computer Science}}

@article{Hasso05,
  	Author = {Youssef Hassoun and Roger Johnson and Steve Counsell},
  	Title = {Applications of dynamic proxies in distributed environments},
  	Journal =	{Software Practice and Experience},
  	Volume =	{35},
  	Number =	{1},
  	Pages =	{75--99},
  	Month = jan,
  	Year = {2005},
  	CODEN =	{SPEXBL},
  	Doi = {10.1002/spe.629},
  	ISSN = {0038-0644},
  	Bibdate =	{Sat Apr 16 07:26:36 MDT 2005},
  	Bibsource = {http://www.interscience.wiley.com/jpages/0038-0644;
		 http://www3.interscience.wiley.com/journalfinder.html},
  	Onlinedate = {17 Nov 2004},
  	Doi-url = {http://dx.doi.org/10.1002/spe.629}}

@misc{Welch99,
  	Title = {Dalang - {A} Reflective Extension for Java},
  	Author = {Ian Welch and Robert Stroud},
  	Year = {1999},
  	Month =feb,
  	Abstract =	{Current implementations of reflective Java extensions
		 typically either require access to source code, or
		 require a modified Java platform. This makes them
		 unsuitable for applying reflection to
		 Commercial-off-the-Shelf (COTS) systems. In order to
		 address this we developed a prototype Java extension
		 Dalang based on class wrapping that worked with
		 compiled code, and was implemented using a standard
		 Java platform. In this paper we evaluate the class
		 wrapper approach, and discuss issues that relate to the
		 transparent application of reflection to COTS systems.
		 This has informed our design of a new version of Dalang
		 called Kava that implements a metaobject protocol
		 through the application of standard byte code
		 transformations. Kava leverages the capabilities of
		 byte code transformation toolkits whilst presenting a
		 high-level abstraction for specifying behavioural
		 changes to Java components.},
  	Citeseer-references = {oai:CiteSeerPSU:75435; oai:CiteSeerPSU:82491;
		 oai:CiteSeerPSU:103357; oai:CiteSeerPSU:30159;
		 oai:CiteSeerPSU:11920; oai:CiteSeerPSU:330897;
		 oai:CiteSeerPSU:431305; oai:CiteSeerPSU:201904;
		 oai:CiteSeerPSU:284479},
  	Annote =	{Ian Welch (University; of Newcastle-upon-Tyne , United
		 Kingdom NE1 7RU); Robert Stroud (University; of
		 Newcastle-upon-Tyne , United Kingdom NE1 7RU);},
  	Bibsource = {OAI-PMH server at cs1.ist.psu.edu},
  	Language = {en},
  	Oai =  {oai:CiteSeerPSU:449076},
  	Rights = {unrestricted},
  	URL =  {http://citeseer.ist.psu.edu/449076.html;
		 http://www.cs.ncl.ac.uk/research/trs/papers/672.ps}}

@misc{javaProxies,
    key = {javaProxies},
    title = {Oracle. Java Dynamic Proxies. The Java Platform 1.5 API Specification},
    url = {http://download.oracle.com/javase/1.5.0/docs/api/java/lang/reflect/Proxy.html},
    Howpublished = {\url{hhttp://download.oracle.com/javase/1.5.0/docs/api/java/lang/reflect/Proxy.html}}}

@misc{NSProxy,
    key = {NSProxy},
    title = {Apple. Developer Library Documentation},
    url = {http://developer.apple.com/library/ios/#documentation/cocoa/reference/foundation/Classes/NSProxy_Class/Reference/Reference.html},
    Howpublished = {\url{http://developer.apple.com/library/ios/#documentation/cocoa/reference/foundation/Classes/NSProxy_Class/Reference/Reference.html}}}    

@article{Barne03,
  author =	{Tom Barrett},
  title =	{Dynamic Proxies in {Java} and {.NET}},
  journal =	{Dr. Dobb's Journal of Software Tools},
  volume =	 {28},
  number = {7},
  pages =	{18, 20, 22, 24, 26},
  month =	jul,
  year = {2003},
  CODEN = {DDJOEB},
  ISSN = 	"1044-789X",
  bibdate = {Thu Jun 12 05:46:24 MDT 2003},
  bibsource = {http://www.ddj.com/articles/2003/0307/},
  URL =  {http://www.ddj.com/ftp/2003/2003_07/dyproxy.zip},
  abstract =	{Tom examines how proxies separate cross-cutting
		 concerns, then explores and --- in both Java and C\#
		 and --- a new twist on the traditional Proxy pattern
		 that promotes reuse and decreases complexity.
		 Additional resources include dyproxy.zip (source
		 code).},
  acknowledgement = {Nelson H. F. Beebe, University of Utah, Department
		 of Mathematics, 110 LCB, 155 S 1400 E RM 233, Salt Lake
		 City, UT 84112-0090, USA, Tel: +1 801 581 5254, FAX: +1
		 801 581 4148, e-mail: \path|beebe@math.utah.edu|,
		 \path|beebe@acm.org|, \path|beebe@computer.org|
		 (Internet), URL:
		 \path|http://www.math.utah.edu/~beebe/|}}

@misc{microsoftNET,
  title = {.{NET} Framework Essentials / {T}. Thai, {H}.{Q}.
		 Lam.},
  author =	{Thuan Thai and Hoang Q. Lam},
  publisher = {Sebastopol, EUA : O'Reilly},
  year = {2001},
  ISBN = {0-596-00165-7},
  identifier = {0-596-00165-7},
  oai =  {oai:acervo.iteso.mx:126952},
  URL =  {http://148.201.96.14/dc/ver.aspx?ns=000126952}}

@misc{castleProxies,
    key = {castleProxies},
    title = {Castle DynamicProxy Library},
    url = {http://www.castleproject.org/dynamicproxy/index.html},
    Howpublished = {\url{http://www.castleproject.org/dynamicproxy/index.html}}}


@misc{linfuProxies,
    key = {linfuProxies},
    title = {LinFu Proxies Framework},
    url = {http://www.codeproject.com/KB/cs/LinFuPart1.aspx},
    Howpublished = {\url{http://www.codeproject.com/KB/cs/LinFuPart1.aspx}}}

@misc{fuel,
    key = {fuel},
    title = {Fuel Object Graph Serializer},
    url = {http://rmod.lille.inria.fr/web/pier/software/Fuel},
    Howpublished = {\url{http://rmod.lille.inria.fr/web/pier/software/Fuel}}}

@misc{cglib,
    key = {cglib},
    title = {cglib Code Generation Library},
    url = {http://cglib.sourceforge.net/},
    Howpublished = {\url{http://cglib.sourceforge.net}}}

@misc{json,
    key = {JSON},
    title = {JSON (JavaScript Object Notation)},
    url = {http://www.json.org},
    Howpublished = {\url{http://www.json.org}}}
}

@misc{picklePython,
    key = {picklePython},
    title = {Pickle},
    url = {http://docs.python.org/library/pickle.html},
    Howpublished = {\url{http://docs.python.org/library/pickle.html}}}
}

@misc{javaSerializer,
    key = {javaSerializer},
    title = {Java Serializer API},
    url = {http://java.sun.com/developer/technicalArticles/Programming/serialization/},
    Howpublished = {\url{http://java.sun.com/developer/technicalArticles/Programming/serialization/}}}
}

@misc{protocolBuffers,
    key = {protocolBuffers},
    title = {Google Protocol Buffers},
    url = {http://code.google.com/apis/protocolbuffers/docs/overview.html},
    Howpublished = {\url{http://code.google.com/apis/protocolbuffers/docs/overview.html}}}
}

@misc{hassian,
    key = {hassian},
    title = {Hessian},
    url = {http://hessian.caucho.com},
    Howpublished = {\url{http://hessian.caucho.com}}}
}

@misc{oracleCoherence,
    key = {oracleCoherence},
    title = {Oracle Coherence},
    url = {http://coherence.oracle.com},
    Howpublished = {\url{http://coherence.oracle.com}}}

@misc{marea,
    key = {marea},
    title = {Marea Memory Management },
    url = {http://rmod.lille.inria.fr/web/pier/software/Marea},
    Howpublished = {\url{http://rmod.lille.inria.fr/web/pier/software/Marea}}}

@misc{Bour10a,
	Author = {N. Bouraqadi},
	Howpublished = {Talk given at the Europeen Smalltalk Users Group (ESUG) 10th Smalltalk Conference, Douai - France},
	Keywords = {Metaclass, AOP, Composition},
	Month = aug,
	Title = {MetaclassTalk - A Testbed for Exploring Programming Pradigms},
	Year = {2002}}

@misc{gdb04,
  author={Julia Menapace, Jim Kingdon, David MacKenzie},
  title={The "stabs" debug format},
  year={2004},
  publisher={Cygnus Support}
}

@book{gdb03,
  author={Richard Stallman, Roland Pesch, Stan Shebs},
  title={Debugging with GDB},
  year={2003},
  publisher={Gnu Press}
}

@inproceedings{AStef03,
  author    = {Antonella Di Stefano and
               Marco Fargetta and
               Emiliano Tramontana},
  title     = {Computational Reflection for Embedded Java Systems},
  booktitle = {OTM Workshops},
  year      = {2003},
  pages     = {437-450},
  ee        = {http://springerlink.metapress.com/openurl.asp?genre=article{\&}issn=0302-9743{\&}volume=2889{\&}spage=437}
}

@misc{Brac10b,
  author = {Gilad Bracha},
  title = {Linguistic Reflection via Mirrors. Talk at HPI Potsdam},
  year = {2010},
  Howpublished = {http://www.hpi.uni-potsdam.de/hirschfeld/events/past/media/100105_Bracha_2010_LinguisticReflectionViaMirrors_HPI.mp4}
}

@misc{Allen10a,
  author = {Allen Wirfs-Brock},
  title = {A prototype mirrors-based refection system for JavaScript},
  year = {2010},
  Howpublished = {https://github.com/allenwb/jsmirrors}
}

@misc{Coppel08,
  author = {Yohann Coppel},
  title = {Reflecting Scala. Project Report.},
  year = {2008},
  Howpublished = {http://lamp.epfl.ch/teaching/projects/archive/coppel_report.pdf}
}


@inproceedings{Bria02a,
    author = {Lionel C. Briand and J\"urgen W\"ust},
    title = {Empirical studies of quality models in object-oriented systems},
    booktitle = {Advances in Computers},
    year = {2002},
    pages = {97--166},
    publisher = {Academic Press}
}

@article{Basi95a,
    author = {Victor R. Basili and Lionel Briand and Walc\'elio L. Melo},
    title = {A Validation Of Object-Oriented Design Metrics As Quality Indicators},
    journal = {IEEE Transactions on Software Engineering},
    year = {1995},
    volume = {},
    pages = {751--761}
}

@inproceedings{Jens98a,
 author = {Jensen, T. and Le M\'{e}tayer, D. and Thorn, T.},
 title = {Security and Dynamic Class Loading in Java: A Formalization},
 booktitle = {Proceedings of the 1998 International Conference on Computer Languages},
 year = {1998},
 isbn = {0-8186-8454-2},
 pages = {4--},
 url = {http://portal.acm.org/citation.cfm?id=857172.857244},
 acmid = {857244},
 publisher = {IEEE Computer Society},
 address = {Washington, DC, USA}
}

@misc{Jhd76a,
  key = {Jhd76a},
  note = {http://www.jhotdraw.org/},
  title = {JHotDraw 7.6: Java GUI framework}
}

@inproceedings{Taub11a,
	Author = {Taube-Schock, Craig and Walker, Robert J. and Witten, Ian H},
	Booktitle = {Proceedings of ECOOP 2011},
	Title = {Can we avoid high coupling?},
	Year = {2011}}