@inproceedings{Aldrich_2013, title={The power of interoperability}, url={http://dl.acm.org/citation.cfm?doid=2509578.2514738}, DOI={10.1145/2509578.2514738}, booktitle={Proceedings of the 2013 ACM international symposium on New ideas, new paradigms, and reflections on programming & software - Onward! ’13}, publisher={ACM Press}, author={Aldrich, Jonathan}, year={2013}, pages={101–116} }
@inproceedings{Beck_Cunningham_1989, title={A laboratory for teaching object oriented thinking}, url={http://portal.acm.org/citation.cfm?doid=74877.74879}, DOI={10.1145/74877.74879}, booktitle={Conference proceedings on Object-oriented programming systems, languages and applications  - OOPSLA ’89}, publisher={ACM Press}, author={Beck, K. and Cunningham, W.}, year={1989}, pages={1–6} }
@article{Beck_1999, title={Embracing change with extreme programming}, volume={32}, DOI={10.1109/2.796139}, number={10}, journal={Computer}, author={Beck, Kent}, year={1999}, pages={70–77} }
@misc{Beck_2001, title={Manifesto for Agile Software Development}, url={http://agilemanifesto.org/}, author={Beck, Kent}, year={2001} }
@inproceedings{Bolz_Diekmann_Tratt_2013, title={Storage strategies for collections in dynamically typed languages}, url={http://dl.acm.org/citation.cfm?doid=2509136.2509531}, DOI={10.1145/2509136.2509531}, booktitle={Proceedings of the 2013 ACM SIGPLAN international conference on Object oriented programming systems languages & applications - OOPSLA ’13}, publisher={ACM Press}, author={Bolz, Carl Friedrich and Diekmann, Lukas and Tratt, Laurence}, year={2013}, pages={167–182} }
@inbook{Bracha_von der Ahé_Bykov_Kashai_Maddox_Miranda_2010, address={Berlin, Heidelberg}, title={Modules as Objects in Newspeak}, volume={6183}, url={http://link.springer.com/10.1007/978-3-642-14107-2_20}, DOI={10.1007/978-3-642-14107-2_20}, booktitle={ECOOP 2010 – Object-Oriented Programming}, publisher={Springer Berlin Heidelberg}, author={Bracha, Gilad and von der Ahé, Peter and Bykov, Vassili and Kashai, Yaron and Maddox, William and Miranda, Eliot}, editor={D’Hondt, Theo}, year={2010}, pages={405–428} }
@inproceedings{Bracha_Ungar_2004, title={Mirrors}, url={http://portal.acm.org/citation.cfm?doid=1028976.1029004}, DOI={10.1145/1028976.1029004}, booktitle={Proceedings of the 19th annual ACM SIGPLAN Conference on Object-oriented programming, systems, languages, and applications  - OOPSLA ’04}, publisher={ACM Press}, author={Bracha, Gilad and Ungar, David}, year={2004} }
@article{Cargill_1991, title={Controversy: The Case Against Multiple Inheritance in C++}, volume={4}, url={https://www.usenix.org/legacy/publications/compsystems/1991/win_cargill.pdf}, number={1}, journal={Computing Systems: A quarterly publication of the USENIX Association}, publisher={University of California Press}, author={Cargill, Tom A}, year={1991}, pages={69–82} }
@article{Cook_2009, title={On understanding data abstraction, revisited}, volume={44}, DOI={10.1145/1639949.1640133}, number={10}, journal={ACM SIGPLAN Notices}, author={Cook, William R.}, year={2009}, month={Oct} }
@misc{Cunningham_1994, title={A CRC Description of HotDraw}, url={http://c2.com/doc/crc/draw.html}, author={Cunningham, Ward}, year={1994} }
@article{Ducasse_Nierstrasz_Schärli_Wuyts_Black_2006, title={Traits}, volume={28}, DOI={10.1145/1119479.1119483}, number={2}, journal={ACM Transactions on Programming Languages and Systems}, author={Ducasse, Stéphane and Nierstrasz, Oscar and Schärli, Nathanael and Wuyts, Roel and Black, Andrew P.}, year={2006}, month={Mar}, pages={331–388} }
@inproceedings{Ernst, title={The expression problem, scandinavian style}, url={http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.96.5386&rep=rep1&type=pdf}, booktitle={MASPEGHI 2004 - Mechanisms for specialization, generalization and inheritance, 2004}, author={Ernst, Erik} }
@article{Feitelson_Frachtenberg_Beck_2013, title={Development and Deployment at Facebook}, volume={17}, DOI={10.1109/MIC.2013.25}, number={4}, journal={IEEE Internet Computing}, author={Feitelson, Dror G. and Frachtenberg, Eitan and Beck, Kent L.}, year={2013}, pages={8–17} }
@inbook{Foote_Yoder_2000, address={Reading, MA}, title={Chapter 29: Big Ball of Mud}, url={http://www.laputan.org/mud/}, booktitle={Pattern Languages of Program Design 4}, publisher={Addison-Wesley}, author={Foote, Brian and Yoder, Joseph}, editor={Harrison, Neil and Foote, Brian and Rohnert, Hans}, year={2000}, pages={653–692} }
@book{Goldberg_Robson_1983, address={Reading, MA}, title={Smalltalk-80: The Language and Its Implementation}, url={http://stephane.ducasse.free.fr/FreeBooks/BlueBook/Bluebook.pdf}, publisher={Addison-Wesley}, author={Goldberg, Adele and Robson, David}, year={1983} }
@inbook{Hopkins_Horan_1995, title={Chapter 26: Classes and Metaclasses}, url={http://trevor-hopkins.com/downloads/HopkinsHoran.pdf}, booktitle={Smalltalk: An Introduction to Application Development Using Visualworks}, publisher={Prentice-Hall}, author={Hopkins, Trevor and Horan, Bernard}, year={1995}, pages={279–286} }
@inproceedings{Johnson_1992, title={Documenting frameworks using patterns}, url={http://portal.acm.org/citation.cfm?doid=141936.141943}, DOI={10.1145/141936.141943}, booktitle={conference proceedings on Object-oriented programming systems, languages, and applications  - OOPSLA ’92}, publisher={ACM Press}, author={Johnson, Ralph E.}, year={1992}, pages={63–76} }
@article{Johnson_1997, title={Frameworks = (components + patterns)}, volume={40}, DOI={10.1145/262793.262799}, number={10}, journal={Communications of the ACM}, author={Johnson, Ralph E.}, year={1997}, month={Oct}, pages={39–42} }
@article{Kiczales_Hilsdale_Hugunin_Kersten_Palm_Griswold_2001a, title={Getting started with ASPECTJ}, volume={44}, DOI={10.1145/383845.383858}, number={10}, journal={Communications of the ACM}, author={Kiczales, Gregor and Hilsdale, Erik and Hugunin, Jim and Kersten, Mik and Palm, Jeffrey and Griswold, William}, year={2001}, month={Oct}, pages={59–65} }
@inbook{Kiczales_Hilsdale_Hugunin_Kersten_Palm_Griswold_2001b, address={Berlin, Heidelberg}, title={An Overview of AspectJ}, volume={2072}, url={http://link.springer.com/10.1007/3-540-45337-7_18}, DOI={10.1007/3-540-45337-7_18}, booktitle={ECOOP 2001 — Object-Oriented Programming}, publisher={Springer Berlin Heidelberg}, author={Kiczales, Gregor and Hilsdale, Erik and Hugunin, Jim and Kersten, Mik and Palm, Jeffrey and Griswold, William G.}, editor={Knudsen, Jørgen Lindskov}, year={2001}, pages={327–354} }
@article{Lagorio_Servetto_2011, title={Strong exception-safety for checked and unchecked exceptions.}, volume={10}, DOI={10.5381/jot.2011.10.1.a1}, journal={The Journal of Object Technology}, author={Lagorio, Giovanni and Servetto, Marco}, year={2011} }
@article{LaLonde_Pugh, title={Subclassing (not-equal-to) subtyping (not-equal-to) is-a}, volume={3}, number={5}, journal={Journal of Object-Oriented Programming (JOOP)}, author={LaLonde, Wilf and Pugh, John}, pages={57–62} }
@book{Madsen_Moller-Pedersen_Nygaard_1993, address={Harlow}, edition={2nd edition}, title={Object-Oriented Programming in the Beta Programming Language}, publisher={Pearson Education}, author={Madsen, Ole Lehrmann and Moller-Pedersen, Birger and Nygaard, Kristen}, year={1993} }
@article{Marco Servetto, title={Balloon Types for Safe Parallelisation over Arbitrary Object Graphs}, url={https://www.semanticscholar.org/paper/Balloon-Types-for-Safe-Parallelisation-over-Object-Servetto-Pearce/4522464d6ef46d396737e81958fcf4129978160d?tab=abstract}, author={Marco Servetto and Alex, Potanin and David, Pearce and Lindsay, Groves} }
@phdthesis{Miller_2006, address={Baltimore, Maryland}, title={Robust Composition: Towards a Unified Approach to Access Control and Concurrency Control}, url={http://erights.org/talks/thesis/index.html}, school={Johns Hopkins University}, author={Miller, Mark Samuel}, year={2006} }
@inproceedings{Muschevici_Potanin_Tempero_Noble_2008, title={Multiple dispatch in practice}, url={http://portal.acm.org/citation.cfm?doid=1449764.1449808}, DOI={10.1145/1449764.1449808}, booktitle={Proceedings of the 23rd ACM SIGPLAN conference on Object oriented programming systems languages and applications - OOPSLA ’08}, publisher={ACM Press}, author={Muschevici, Radu and Potanin, Alex and Tempero, Ewan and Noble, James}, year={2008} }
@article{Paola, Giannini_2018a, title={Flexible recovery of uniqueness and immutability}, url={https://www.sciencedirect.com/science/article/pii/S0304397518305668}, author={Paola, Giannini and Elena, Zucca and Marco, Servetto and James, Cone}, year={2018} }
@article{Paola, Giannini_2018b, title={Flexible recovery of uniqueness and immutability}, url={https://www.sciencedirect.com/science/article/pii/S0304397518305668}, author={Paola, Giannini and Elena, Zucca and Marco, Servetto and James, Cone}, year={2018} }
@inbook{Richards_Hammer_Burg_Vitek_2011, address={Berlin, Heidelberg}, title={The Eval That Men Do}, volume={6813}, url={http://link.springer.com/10.1007/978-3-642-22655-7_4}, DOI={10.1007/978-3-642-22655-7_4}, booktitle={ECOOP 2011 – Object-Oriented Programming}, publisher={Springer Berlin Heidelberg}, author={Richards, Gregor and Hammer, Christian and Burg, Brian and Vitek, Jan}, editor={Mezini, Mira}, year={2011}, pages={52–78} }
@article{Roberts_Johnson_1998, address={Reading, MA}, title={Evolving Frameworks: A Pattern Language for Developing Object-Oriented Frameworks}, url={http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.46.8767}, journal={Pattern Languages of Program Design 3}, publisher={Addison-Wesley}, author={Roberts, Don and Johnson, Ralph}, editor={Martin, Robert C and Riehle, Dirk and Buschmann, Frank}, year={1998}, pages={471–486} }
@article{Servetto_Mackay_Potanin_Noble_2013, address={Berlin, Heidelberg}, title={The Billion-Dollar Fix}, volume={7920}, url={http://link.springer.com/10.1007/978-3-642-39038-8_9}, DOI={10.1007/978-3-642-39038-8_9}, journal={ECOOP 2013 – Object-Oriented Programming}, publisher={Springer Berlin Heidelberg}, author={Servetto, Marco and Mackay, Julian and Potanin, Alex and Noble, James}, editor={Castagna, Giuseppe}, year={2013}, pages={205–229} }
@article{Servetto_Zucca_2014, title={A meta-circular language for active libraries}, volume={95}, DOI={10.1016/j.scico.2014.05.003}, journal={Science of Computer Programming}, author={Servetto, Marco and Zucca, Elena}, year={2014}, month={Dec}, pages={219–253} }
@inproceedings{Stroustrup_1995, title={Why C++ is not just an object-oriented programming language}, url={http://portal.acm.org/citation.cfm?doid=260094.260207}, DOI={10.1145/260094.260207}, booktitle={Addendum to the proceedings of the 10th annual conference on Object-oriented programming systems, languages, and applications (Addendum)  - OOPSLA ’95}, publisher={ACM Press}, author={Stroustrup, Bjarne}, year={1995}, pages={1–13} }
@article{Stroustrup, address={New York}, title={Sixteen Ways to Stack a Cat}, url={http://www.stroustrup.com/stack_cat.pdf}, journal={The C++ Report: The International Authority on C++ Development}, publisher={SIGS Publications}, author={Stroustrup, Bjarne} }
@article{Taivalsaari_1996, title={On the notion of inheritance}, volume={28}, DOI={10.1145/243439.243441}, number={3}, journal={ACM Computing Surveys}, author={Taivalsaari, Antero}, year={1996}, month={Sep}, pages={438–479} }
@inproceedings{Ungar_Smith_1987, title={Self: The power of simplicity}, url={http://portal.acm.org/citation.cfm?doid=38765.38828}, DOI={10.1145/38765.38828}, booktitle={Conference proceedings on Object-oriented programming systems, languages and applications  - OOPSLA ’87}, publisher={ACM Press}, author={Ungar, David and Smith, Randall B.}, year={1987}, pages={227–242} }
@article{Waldo_1991, title={Controversy: The Case For Multiple Inheritance in C++}, volume={4}, url={https://www.usenix.org/legacy/publications/compsystems/1991/spr_waldo.pdf}, number={2}, journal={Computing Systems: A quarterly publication of the USENIX Association}, publisher={University of California Press}, author={Waldo, Jim}, year={1991}, pages={157–171} }
@inproceedings{Wang_Oliveira_2016, title={The expression problem, trivially!}, url={http://dl.acm.org/citation.cfm?doid=2889443.2889448}, DOI={10.1145/2889443.2889448}, booktitle={Proceedings of the 15th International Conference on Modularity - MODULARITY 2016}, publisher={ACM Press}, author={Wang, Yanlin and Oliveira, Bruno C. d. S.}, year={2016}, pages={37–41} }
@article{Wang_Zhang_Oliveira_Servetto_2016, title={Classless Java}, volume={52}, DOI={10.1145/3093335.2993238}, number={3}, journal={ACM SIGPLAN Notices}, author={Wang, Yanlin and Zhang, Haoyuan and Oliveira, Bruno C. d. S. and Servetto, Marco}, year={2016}, month={Oct}, pages={14–24} }
@misc{Zenger_Odersky, title={FOOL 2005 - Independently Extensible Solutions to the Expression Problem}, url={http://homepages.inf.ed.ac.uk/wadler/fool/program/10.html}, author={Zenger, Matthias and Odersky, Martin} }
@article{Byte Magazine - Smalltalk_1981, volume={06}, url={https://archive.org/details/byte-magazine-1981-08}, number={08}, publisher={McGraw-Hill}, year={1981} }
@misc{Deep Java, url={http://homepages.ecs.vuw.ac.nz/~tk/publications/papers/deep-java.pdf} }
@misc{Safely Composable Type-Specific Languages, url={http://www.cs.cmu.edu/~aldrich/papers/ecoop14-tsls.pdf} }
@misc{Wyvern: Impacting Software Security via Programming Language Design, url={http://www.cs.cmu.edu/~aldrich/papers/plateau14-wyvern.pdf} }
@misc{Wyvern: A Language for Usable Design-Driven Assurance, url={https://github.com/wyvernlang/wyvern/wiki/Wyvern%3A-A-Language-for-Usable-Design-Driven-Assurance} }
@article{Separating Use and Reuse to Improve Both - Details, url={https://programming-journal.org/2019/3/12/} }
@misc{The Untold Story of NotPetya, the Most Devastating Cyberattack in History | WIRED, url={https://www.wired.com/story/notpetya-cyberattack-ukraine-russia-code-crashed-the-world/} }
@misc{The Untold Story of NotPetya, the Most Devastating Cyberattack in History | WIRED, url={https://www.wired.com/story/notpetya-cyberattack-ukraine-russia-code-crashed-the-world/} }