[1]
J. Aldrich, ‘The power of interoperability’, in Proceedings of the 2013 ACM international symposium on New ideas, new paradigms, and reflections on programming & software - Onward! ’13, 2013, pp. 101–116. doi: 10.1145/2509578.2514738.
[2]
‘Deep Java’. [Online]. Available: http://homepages.ecs.vuw.ac.nz/~tk/publications/papers/deep-java.pdf
[3]
‘Safely Composable Type-Specific Languages’. [Online]. Available: http://www.cs.cmu.edu/~aldrich/papers/ecoop14-tsls.pdf
[4]
‘Wyvern: Impacting Software Security via Programming Language Design’. [Online]. Available: http://www.cs.cmu.edu/~aldrich/papers/plateau14-wyvern.pdf
[5]
‘Wyvern: A Language for Usable Design-Driven Assurance’. https://github.com/wyvernlang/wyvern/wiki/Wyvern%3A-A-Language-for-Usable-Design-Driven-Assurance
[6]
‘Byte Magazine - Smalltalk’, vol. 06, no. 08, 1981, [Online]. Available: https://archive.org/details/byte-magazine-1981-08
[7]
R. E. Johnson, ‘Frameworks = (components + patterns)’, Communications of the ACM, vol. 40, no. 10, pp. 39–42, Oct. 1997, doi: 10.1145/262793.262799.
[8]
R. E. Johnson, ‘Documenting frameworks using patterns’, in conference proceedings on Object-oriented programming systems, languages, and applications  - OOPSLA ’92, 1992, pp. 63–76. doi: 10.1145/141936.141943.
[9]
D. Roberts and R. Johnson, ‘Evolving Frameworks: A Pattern Language for Developing Object-Oriented Frameworks’, Pattern Languages of Program Design 3, pp. 471–486, 1998, [Online]. Available: http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.46.8767
[10]
W. LaLonde and J. Pugh, ‘Subclassing (not-equal-to) subtyping (not-equal-to) is-a’, Journal of Object-Oriented Programming (JOOP), vol. 3, no. 5, pp. 57–62.
[11]
T. A. Cargill, ‘Controversy: The Case Against Multiple Inheritance in C++’, Computing Systems: A quarterly publication of the USENIX Association, vol. 4, no. 1, pp. 69–82, 1991, [Online]. Available: https://www.usenix.org/legacy/publications/compsystems/1991/win_cargill.pdf
[12]
J. Waldo, ‘Controversy: The Case For Multiple Inheritance in C++’, Computing Systems: A quarterly publication of the USENIX Association, vol. 4, no. 2, pp. 157–171, 1991, [Online]. Available: https://www.usenix.org/legacy/publications/compsystems/1991/spr_waldo.pdf
[13]
B. Foote and J. Yoder, ‘Chapter 29: Big Ball of Mud’, in Pattern Languages of Program Design 4, N. Harrison, B. Foote, and H. Rohnert, Eds. Reading, MA: Addison-Wesley, 2000, pp. 653–692. [Online]. Available: http://www.laputan.org/mud/
[14]
G. Kiczales, E. Hilsdale, J. Hugunin, M. Kersten, J. Palm, and W. Griswold, ‘Getting started with ASPECTJ’, Communications of the ACM, vol. 44, no. 10, pp. 59–65, Oct. 2001, doi: 10.1145/383845.383858.
[15]
G. Kiczales, E. Hilsdale, J. Hugunin, M. Kersten, J. Palm, and W. G. Griswold, ‘An Overview of AspectJ’, in ECOOP 2001 — Object-Oriented Programming, vol. 2072, J. L. Knudsen, Ed. Berlin, Heidelberg: Springer Berlin Heidelberg, 2001, pp. 327–354. doi: 10.1007/3-540-45337-7_18.
[16]
S. Ducasse, O. Nierstrasz, N. Schärli, R. Wuyts, and A. P. Black, ‘Traits’, ACM Transactions on Programming Languages and Systems, vol. 28, no. 2, pp. 331–388, Mar. 2006, doi: 10.1145/1119479.1119483.
[17]
Y. Wang, H. Zhang, B. C. d. S. Oliveira, and M. Servetto, ‘Classless Java’, ACM SIGPLAN Notices, vol. 52, no. 3, pp. 14–24, Oct. 2016, doi: 10.1145/3093335.2993238.
[18]
E. Ernst, ‘The expression problem, scandinavian style’. [Online]. Available: http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.96.5386&rep=rep1&type=pdf
[19]
Y. Wang and B. C. d. S. Oliveira, ‘The expression problem, trivially!’, in Proceedings of the 15th International Conference on Modularity - MODULARITY 2016, 2016, pp. 37–41. doi: 10.1145/2889443.2889448.
[20]
M. Zenger and M. Odersky, ‘FOOL 2005 - Independently Extensible Solutions to the Expression Problem’. http://homepages.inf.ed.ac.uk/wadler/fool/program/10.html
[21]
‘Separating Use and Reuse to Improve Both - Details’, [Online]. Available: https://programming-journal.org/2019/3/12/
[22]
M. Servetto and E. Zucca, ‘A meta-circular language for active libraries’, Science of Computer Programming, vol. 95, pp. 219–253, Dec. 2014, doi: 10.1016/j.scico.2014.05.003.
[23]
G. Bracha, P. von der Ahé, V. Bykov, Y. Kashai, W. Maddox, and E. Miranda, ‘Modules as Objects in Newspeak’, in ECOOP 2010 – Object-Oriented Programming, vol. 6183, T. D’Hondt, Ed. Berlin, Heidelberg: Springer Berlin Heidelberg, 2010, pp. 405–428. doi: 10.1007/978-3-642-14107-2_20.
[24]
G. Bracha and D. Ungar, ‘Mirrors’, 2004. doi: 10.1145/1028976.1029004.
[25]
R. Muschevici, A. Potanin, E. Tempero, and J. Noble, ‘Multiple dispatch in practice’, 2008. doi: 10.1145/1449764.1449808.
[26]
Paola, Giannini, Elena, Zucca, Marco, Servetto, and James, Cone, ‘Flexible recovery of uniqueness and immutability’, 2018, [Online]. Available: https://www.sciencedirect.com/science/article/pii/S0304397518305668
[27]
Marco Servetto, Alex, Potanin, David, Pearce, and Lindsay, Groves, ‘Balloon Types for Safe Parallelisation over Arbitrary Object Graphs’, [Online]. Available: https://www.semanticscholar.org/paper/Balloon-Types-for-Safe-Parallelisation-over-Object-Servetto-Pearce/4522464d6ef46d396737e81958fcf4129978160d?tab=abstract
[28]
G. Lagorio and M. Servetto, ‘Strong exception-safety for checked and unchecked exceptions.’, The Journal of Object Technology, vol. 10, 2011, doi: 10.5381/jot.2011.10.1.a1.
[29]
M. Servetto, J. Mackay, A. Potanin, and J. Noble, ‘The Billion-Dollar Fix’, ECOOP 2013 – Object-Oriented Programming, vol. 7920, pp. 205–229, 2013, doi: 10.1007/978-3-642-39038-8_9.
[30]
‘The Untold Story of NotPetya, the Most Devastating Cyberattack in History | WIRED’. https://www.wired.com/story/notpetya-cyberattack-ukraine-russia-code-crashed-the-world/
[31]
T. Hopkins and B. Horan, ‘Chapter 26: Classes and Metaclasses’, in Smalltalk: An Introduction to Application Development Using Visualworks, Prentice-Hall, 1995, pp. 279–286. [Online]. Available: http://trevor-hopkins.com/downloads/HopkinsHoran.pdf
[32]
O. L. Madsen, B. Moller-Pedersen, and K. Nygaard, Object-Oriented Programming in the Beta Programming Language, 2nd edition. Harlow: Pearson Education, 1993.
[33]
B. Stroustrup, ‘Why C++ is not just an object-oriented programming language’, in Addendum to the proceedings of the 10th annual conference on Object-oriented programming systems, languages, and applications (Addendum)  - OOPSLA ’95, 1995, pp. 1–13. doi: 10.1145/260094.260207.
[34]
B. Stroustrup, ‘Sixteen Ways to Stack a Cat’, The C++ Report: The International Authority on C++ Development, [Online]. Available: http://www.stroustrup.com/stack_cat.pdf
[35]
W. R. Cook, ‘On understanding data abstraction, revisited’, ACM SIGPLAN Notices, vol. 44, no. 10, Oct. 2009, doi: 10.1145/1639949.1640133.
[36]
A. Goldberg and D. Robson, Smalltalk-80: The Language and Its Implementation. Reading, MA: Addison-Wesley, 1983. [Online]. Available: http://stephane.ducasse.free.fr/FreeBooks/BlueBook/Bluebook.pdf
[37]
M. S. Miller, ‘Robust Composition: Towards a Unified Approach to Access Control and Concurrency Control’, Johns Hopkins University, Baltimore, Maryland, 2006. [Online]. Available: http://erights.org/talks/thesis/index.html
[38]
D. Ungar and R. B. Smith, ‘Self: The power of simplicity’, in Conference proceedings on Object-oriented programming systems, languages and applications  - OOPSLA ’87, 1987, pp. 227–242. doi: 10.1145/38765.38828.
[39]
A. Taivalsaari, ‘On the notion of inheritance’, ACM Computing Surveys, vol. 28, no. 3, pp. 438–479, Sep. 1996, doi: 10.1145/243439.243441.
[40]
C. F. Bolz, L. Diekmann, and L. Tratt, ‘Storage strategies for collections in dynamically typed languages’, in Proceedings of the 2013 ACM SIGPLAN international conference on Object oriented programming systems languages & applications - OOPSLA ’13, 2013, pp. 167–182. doi: 10.1145/2509136.2509531.
[41]
G. Richards, C. Hammer, B. Burg, and J. Vitek, ‘The Eval That Men Do’, in ECOOP 2011 – Object-Oriented Programming, vol. 6813, M. Mezini, Ed. Berlin, Heidelberg: Springer Berlin Heidelberg, 2011, pp. 52–78. doi: 10.1007/978-3-642-22655-7_4.
[42]
K. Beck and W. Cunningham, ‘A laboratory for teaching object oriented thinking’, in Conference proceedings on Object-oriented programming systems, languages and applications  - OOPSLA ’89, 1989, pp. 1–6. doi: 10.1145/74877.74879.
[43]
W. Cunningham, ‘A CRC Description of HotDraw’, 1994. http://c2.com/doc/crc/draw.html
[44]
K. Beck, ‘Manifesto for Agile Software Development’, 2001. http://agilemanifesto.org/
[45]
K. Beck, ‘Embracing change with extreme programming’, Computer, vol. 32, no. 10, pp. 70–77, 1999, doi: 10.1109/2.796139.
[46]
D. G. Feitelson, E. Frachtenberg, and K. L. Beck, ‘Development and Deployment at Facebook’, IEEE Internet Computing, vol. 17, no. 4, pp. 8–17, 2013, doi: 10.1109/MIC.2013.25.
[47]
Paola, Giannini, Elena, Zucca, Marco, Servetto, and James, Cone, ‘Flexible recovery of uniqueness and immutability’, 2018, [Online]. Available: https://www.sciencedirect.com/science/article/pii/S0304397518305668
[48]
‘The Untold Story of NotPetya, the Most Devastating Cyberattack in History | WIRED’. https://www.wired.com/story/notpetya-cyberattack-ukraine-russia-code-crashed-the-world/