Papers and Presentations

This page lists some of the papers, presentations, articles and demos that have resulted from the Maxine project and its predecessors.

  • Christos Kotselidis, Andy Nisbet, Foivos S. Zakkak, Nikos Foutris. Cross-ISA debugging in meta-circular VMs. In 9th ACM SIGPLAN International Workshop on Virtual Machines and Intermediate Languages (VMIL), 2017.
  • Christos Kotselidis, James Clarkson, Andrey Rodchenko, Andy Nisbet, John Mawer, and Mikel Luján. Heterogeneous Managed Runtime Systems: A Computer Vision Case Study. In 13th ACM SIGPLAN/SIGOPS International Conference on Virtual Execution Environments (VEE), 2017.
  • Christian Wimmer, Michael Haupt, Michael L. Van De Vanter, Mick Jordan, Laurent Daynès, Douglas Simon: Maxine: An Approachable Virtual Machine For, and In, Java. In ACM Transactions on Architecture and Code Optimization, volume 9, issue 4, article 30. ACM Press, 2013.doi:10.1145/2400682.2400689.
  • Sameer Kulkarni, John Cavazos, Christian Wimmer, Douglas Simon: Construction of Inlining Heuristics using Machine Learning. In Proceedings of the International Symposium on Code Generation and Optimization. IEEE, 2013.
  • Mohammad Mahdi Shahabi, Dynamic Location-Based Analysis of Access Contracts, Masters Thesis, Albert-Ludwigs-Universität Freiburg im Breisgau, August 9, 2012.
  • Vinicius H. S. Durelli, Jeff Offutt, and Marcio E. Delamaro. 2012. Toward Harnessing High-Level Language Virtual Machines for Further Speeding Up Weak Mutation Testing. In Proceedings of the 2012 IEEE Fifth International Conference on Software Testing, Verification and Validation (ICST ‘12). IEEE Computer Society, Washington, DC, USA, 681-690.
  • Christian Wimmer, Laurent Daynes: Maxine: A Virtual Machine For, and In, Java, ECOOP Summer School, Jun 15, 2012.
  • Christian Wimmer, Stefan Brunthaler, Per Larsen, and Michael Franz. 2012. Fine-grained modularity and reuse of virtual machine components. In Proceedings of the 11th annual international conference on Aspect-oriented Software Development (AOSD ‘12). ACM, New York, NY, USA, 203-214.
  • Michael Haupt, “Machine Code Management in the Maxine Research Virtual Machine” (Presentation), Hasso-Plattner-Institut Potsdam, Jan 27, 2012
  • Michael Haupt, Stefan Marr, Robert Hirschfeld, “CSOM/PL: A Virtual Machine Product Line”, Journal of Object Technology, Vol. 10, 2011
  • Michael Haupt, “The Maxine Virtual Machine” (Presentation), Universität Leipzig, Nov 10, 2011; Technische Universität Dortmund, Nov 24, 2011
  • Thomas Würthinger, Extending the Graal Compiler to Optimize Libraries (Demonstration), SPLASH‘11, Portland, OR, October 22-27, 2011
  • Michael Bebenita, Trace-Based Compilation and Optimization in Meta-Circular Virtual Execution Environments, Ph.D. Dissertation, UC Irvine, 2011
  • Victor Luchangco and Virendra J. Marathe, “Revisiting Condition Variables and Transactions”, TRANSACT‘11, San Jose, California, June.
  • Johannes Eickhold, Markus Knauer, “Sovereign: Migrating Java Threads to Improve Availability of Web Applications”, EclipseCon 2011 (Presentation and Demo), Santa Clara, California, March 21-24, 2011.
  • Michael Van De Vanter, “The Maxine Virtual Machine and Inspector: a highly approachable environment for VM Research” (Presentation) San Francisco State University, March 16, 2011, California Polytechnic State University, April 7, 2011
  • Victor Luchangco, Virendra J. Marathe, “Transaction Communicators: Enabling Cooperation Among Concurrent Transactions”, PPoPP 2011, 16th ACM SIGPLAN Annual Symposium on Principles and Practice of Parallel Programming, San Antonio, Texas, February 12-16, 2011
  • Doug Simon, “What a meta-circular JVM buys you - and what not” (Keynote Talk), PPPJ ‘10, 8th international Conference on the Principles and Practice of Programming in Java, Vienna, Austria, September 15 - 17, 2010.
  • Li, Jianyuan, Jan Simon Rellermeyer, Adrian Schüpbach, and Gustavo Alonso. Performance analysis and improvement of guestVM for running OSGi-based MacroComponents. PhD dissertation, ETH Zurich, Department of Computer Science, Systems Group, August 22, 2010
  • Johannes Eickhold, “Some introductory short articles about Maxine”
  • Doug Simon, “Maxine Adapters” (Sample execution of a Maxine adapter), 2010
  • M. Bebenita, M. Chang, G. Wagner, A. Gal, C. Wimmer, M. Franz, “Trace-based compilation in execution environments without interpreters”, In Proceedings of the 8th international Conference on the Principles and Practice of Programming in Java (Vienna, Austria, September 15 - 17, 2010). PPPJ ‘10. ACM, New York, NY, 59-68.
  • Michael Van De Vanter, “The Maxine Inspector: A Specialized Tool for VM Development” (Presentation and Demo), 2010 JVM Language Summit, July 28, 2010, Santa Clara, California., (video recording)
  • Ben Titzer, Thomas Würthinger, Doug Simon, and Marcelo Cintra, “Improving compiler-runtime separation with XIR”, VEE 2010, Proceedings of the International Conference on Virtual Execution Environments, pages 39–50. ACM Press,, SIGPLAN Notices 45, 7 (Jul. 2010), 39-50 (paper) Discusses C1X and XIR. The results in this paper are based on revision 3254 of the Maxine sources.
  • Doug Simon, Ben Titzer, “Splicing Modules with a Metacircular Saw: “Snippets” in the Maxine VM” (Invited Talk), VMIL 2009, The 3rd workshop on Virtual Machines and Intermediate Languages, Orlando, Florida October 25, 2009.
  • Doug Simon, “the Maxine Research Virtual Machine” (Internet radio interview), Software Engineering Radio, Episode 144 , September 7, 2009.
  • Allan Raundahl Gregersen, Douglas Simon and Bo Norregaard Jorgensen, “Towards a Dynamic-Update-Enabled JVM”, 6th ECOOP‘2009 Workshop on Reflection, AOP and Meta-Data for Software Evolution, Genova, Italy, July 7, 2009.
  • Thomas Wuerthinger, Michael Van De Vanter, Doug Simon, “Multi-Level Virtual Machine Debugging using the Java Platform Debugger Architecture”, Seventh International Andrei Ershov Memory Conference “Perspectives of System Informatics”, Novosibirsk, Russia, 15-19 June, 2009.
  • Ben Titzer, “The Maxine Virtual Machine” (Presentation), Brown IPP Symposium on Standardizing Transactional Memory, Brown University, April 20, 2009.
  • Bernd Mathiske, “Leveraging Meta-Circularity in the Maxine VM”, (Presentation) 2008 JVM Language Summit, September 24, 2008, Santa Clara, California.,
  • Bernd Mathiske, “Systems programming in the Maxine VM: how to enable it and how to get around it”, (Invited Talk), PPPJ08 Principles and Practice of Programming in Java, Modena, Italy, September 9-11, 2008 (video recording)
  • Bernd Mathiske, “Systems Programming in the Maxine VM: how to enable it and how to get around it”, 2008 JavaOne conference, San Francisco, California, June 2008
  • Bernd Mathiske, Doug Simon, David Ungar, “An assembler and disassembler framework for Java™ programmers”, Science of Computer Programming, Vol. 70, Issues 2-3, February 2008, pp 127-148.
  • Bernd Mathiske. 2008. The maxine virtual machine and inspector. In Companion to the 23rd ACM SIGPLAN conference on Object-oriented programming systems languages and applications (OOPSLA Companion ‘08). ACM, New York, NY, USA, 739-740.
  • Bernd Mathiske, Doug Simon, David Ungar, “The Project Maxwell assembler system, In Proceedings of the 4th international Symposium on Principles and Practice of Programming in Java (Mannheim, Germany, August 30 - September 01, 2006). PPPJ ‘06, vol. 178. ACM, New York, NY, 3-12.
  • David Ungar, Adam Spitz, Alex Ausch, “Constructing a metacircular Virtual machine in an exploratory programming environment”, In Companion To the 20th Annual ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages, and Applications (San Diego, California, USA, October 16 - 20, 2005). OOPSLA ‘05. ACM, New York, NY, 11-20.