Dr. Christian Wimmer

Publications

Books and Book Chapters

B.03 Todd Jackson, Babak Salamat, Andrei Homescu, Karthikeyan Manivannan, Gregor Wagner, Andreas Gal, Stefan Brunthaler, Christian Wimmer, Michael Franz: Compiler-Generated Software Diversity. In Sushil Jajodia, Anup Ghosh, Vipin Swarup, Cliff Wang, X. Sean Wang (Editors), Moving Target Defense: Creating Asymmetric Uncertainty for Cyber Threats. Advances in Information Security 54, Springer-Verlag, 2011. ISBN: 978-1-4614-0976-2 doi:10.1007/978-1-4614-0977-9_4
B.02 Christian Wimmer, Christian Probst: Proceedings of the International Conference on the Principles and Practice of Programming in Java. ACM Press, 2011. ISBN: 978-1-4503-0935-6
B.01 Christian Wimmer: Automatic Object Inlining in a Java Virtual Machine. Schriftenreihe der Johannes Kepler Universität Linz, Reihe C, Band 57. Trauner Verlag, 2008. ISBN: 978-3-85499-417-6

Journal Papers (refereed)

J.10 Doug Simon, Christian Wimmer, Bernhard Urban, Gilles Duboscq, Lukas Stadler, Thomas Würthinger: Snippets: Taking the High Road to a Low Level. In ACM Transactions on Architecture and Code Optimization, volume 12, issue 2, article 20. ACM Press, 2015. doi:10.1145/2764907
J.09 Christian Häubl, Christian Wimmer, Hanspeter Mössenböck: Trace Transitioning and Exception Handling in a Trace-based JIT Compiler for Java. In ACM Transactions on Architecture and Code Optimization, volume 11, issue 1, article 6. ACM Press, 2014. doi:10.1145/2579673
J.08 Christian Häubl, Christian Wimmer, Hanspeter Mössenböck: Context-Sensitive Trace Inlining for Java. In Computer Languages, Systems & Structures, volume 39, issue 4, pages 123–141. Elsevier, 2013. doi:10.1016/j.cl.2013.04.002
J.07 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
J.06 Thomas Würthinger, Christian Wimmer, Lukas Stadler: Unrestricted and Safe Dynamic Code Evolution for Java. In Science of Computer Programming, volume 78, issue 5, pages 481–498. Elsevier, 2013. doi:10.1016/j.scico.2011.06.005
J.05 Babak Salamat, Todd Jackson, Gregor Wagner, Christian Wimmer, Michael Franz: Run-Time Defense against Code Injection Attacks using Replicated Execution. In IEEE Transactions on Dependable and Secure Computing, volume 8, issue 4, pages 588–601. IEEE Computer Society, 2011. doi:10.1109/TDSC.2011.18
J.04 Christian Wimmer, Hanspeter Mössenböck: Automatic Feedback-Directed Object Fusing. In ACM Transactions on Architecture and Code Optimization, volume 7, issue 2, article 7. ACM Press, 2010. doi:10.1145/1839667.1839669
J.03 Christian Häubl, Christian Wimmer, Hanspeter Mössenböck: Compact and Efficient Strings for Java. In Science of Computer Programming, volume 75, issue 11, pages 1077–1094. Elsevier, 2010. doi:10.1016/j.scico.2010.04.010
J.02 Thomas Würthinger, Christian Wimmer, Hanspeter Mössenböck: Array Bounds Check Elimination in the Context of Deoptimization. In Science of Computer Programming, volume 74, issue 5–6, pages 279–295. Elsevier, 2009. doi:10.1016/j.scico.2009.01.002
J.01 Thomas Kotzmann, Christian Wimmer, Hanspeter Mössenböck, Thomas Rodriguez, Kenneth Russell, David Cox: Design of the Java HotSpot™ Client Compiler for Java 6. In ACM Transactions on Architecture and Code Optimization, volume 5, issue 1, article 7. ACM Press, 2008. doi:10.1145/1369396.1370017

Conference Papers (refereed)

C.27 Codrut Stancu, Christian Wimmer, Stefan Brunthaler, Per Larsen, Michael Franz: Safe and Efficient Hybrid Memory Management for Java. In Proceedings of the International Symposium on Memory Management, pages 81–92. ACM Press, 2015. doi:10.1145/2754169.2754185
C.27 Codrut Stancu, Christian Wimmer, Stefan Brunthaler, Per Larsen, Michael Franz: Comparing Points-to Static Analysis with Runtime Recorded Profiling Data. In Proceedings of the International Conference on Principles and Practices of Programming on the Java Platform: Virtual Machines, Languages, and Tools, pages 157–168. ACM Press, 2014. doi:10.1145/2647508.2647524
C.26 Christian Humer, Christian Wimmer, Christian Wirth, Andreas Wöß, Thomas Würthinger: A Domain-Specific Language for Building Self-Optimizing AST Interpreters. In Proceedings of the International Conference on Generative Programming: Concepts and Experiences, pages 123–132. ACM Press, 2014. doi:10.1145/2775053.2658776
C.25 Thomas Würthinger, Christian Wimmer, Andreas Wöß, Lukas Stadler, Gilles Duboscq, Christian Humer, Gregor Richards, Doug Simon, Mario Wolczko: One VM to Rule Them All. In Proceedings of the International Symposium on New Ideas, New Paradigms, and Reflections on Programming & Software, pages 187–204. ACM Press, 2013. doi:10.1145/2509578.2509581
C.24 Christian Häubl, Christian Wimmer, Hanspeter Mössenböck: Deriving Code Coverage Information from Profiling Data Recorded for a Trace-based Just-in-Time Compiler. In Proceedings of the International Conference on Principles and Practices of Programming on the Java Platform: Virtual Machines, Languages, and Tools, pages 1–12. ACM Press, 2013. doi:10.1145/2500828.2500829
C.23 Sameer Kulkarni, John Cavazos, Christian Wimmer, Douglas Simon: Automatic Construction of Inlining Heuristics using Machine Learning. In Proceedings of the International Symposium on Code Generation and Optimization. IEEE, 2013. doi:10.1109/CGO.2013.6495004
C.22 Thomas Würthinger, Andreas Wöß, Lukas Stadler, Gilles Duboscq, Doug Simon, Christian Wimmer: Self-Optimizing AST Interpreters. In Proceedings of the Dynamic Languages Symposium, pages 73–82. ACM Press, 2012. doi:10.1145/2384577.2384587
C.21 Christian Wimmer, Stefan Brunthaler, Per Larsen, Michael Franz: Fine-Grained Modularity and Reuse of Virtual Machine Components. In Proceedings of the International Conference on Aspect-oriented Software Development, pages 203–213. ACM Press, 2012. doi:10.1145/2162049.2162073
C.20 Christian Häubl, Christian Wimmer, Hanspeter Mössenböck: Evaluation of Trace Inlining Heuristics for Java. In Proceedings of the ACM Symposium on Applied Computing, pages 1871–1876. ACM Press, 2012. doi:10.1145/2245276.2232084
C.19 Mason Chang, Bernd Mathiske, Edwin Smith, Avik Chaudhuri, Andreas Gal, Michael Bebenita, Christian Wimmer, Michael Franz: The Impact of Optional Type Information on JIT Compilation of Dynamically Typed Languages. In Proceedings of the Dynamic Languages Symposium, pages 13–24. ACM Press, 2011. doi:10.1145/2047849.2047853
C.18 Thomas Würthinger, Danilo Ansaloni, Walter Binder, Christian Wimmer, Hanspeter Mössenböck: Safe and Atomic Run-time Code Evolution for Java and its Application to Dynamic AOP. In Proceedings of the ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages, and Applications, pages 825–844. ACM Press, 2011. doi:10.1145/2048066.2048129
C.17 Gregor Wagner, Andreas Gal, Christian Wimmer, Brendan Eich, Michael Franz: Compartmental Memory Management in a Modern Web Browser. In Proceedings of the International Symposium on Memory Management, pages 119–128. ACM Press, 2011. doi:10.1145/1993478.1993496
C.16 Michael Bebenita, Mason Chang, Gregor Wagner, Andreas Gal, Christian Wimmer, Michael Franz: Trace-Based Compilation in Execution Environments without Interpreters. In Proceedings of the International Conference on Principles and Practice of Programming in Java, pages 59–68. ACM Press, 2010. doi:10.1145/1852761.1852771
C.15 Thomas Würthinger, Christian Wimmer, Lukas Stadler: Dynamic Code Evolution for Java. In Proceedings of the International Conference on Principles and Practice of Programming in Java, pages 10–19. ACM Press, 2010. doi:10.1145/1852761.1852764
C.14 Lukas Stadler, Thomas Würthinger, Christian Wimmer: Efficient Coroutines for the Java Platform. In Proceedings of the International Conference on Principles and Practice of Programming in Java, pages 20–28. ACM Press, 2010. doi:10.1145/1852761.1852765
C.13 Christian Wimmer, Michael Franz: Linear Scan Register Allocation on SSA Form. In Proceedings of the International Symposium on Code Generation and Optimization, pages 170–179. ACM Press, 2010. doi:10.1145/1772954.1772979
C.12 Alexander Yermolovich, Christian Wimmer, Michael Franz: Optimization of Dynamic Languages Using Hierarchical Layering of Virtual Machines. In Proceedings of the Dynamic Languages Symposium, pages 79–88. ACM Press, 2009. doi:10.1145/1640134.1640147
C.11 Christian Wimmer, Marcelo S. Cintra, Michael Bebenita, Mason Chang, Andreas Gal, Michael Franz: Phase Detection using Trace Compilation. In Proceedings of the International Conference on Principles and Practice of Programming in Java, pages 172–181. ACM Press, 2009. doi:10.1145/1596655.1596683
C.10 Lukas Stadler, Christian Wimmer, Thomas Würthinger, Hanspeter Mössenböck, John Rose: Lazy Continuations for Java Virtual Machines. In Proceedings of the International Conference on Principles and Practice of Programming in Java, pages 143–152. ACM Press, 2009. doi:10.1145/1596655.1596679
C.09 Christoph Kerschbaumer, Gregor Wagner, Christian Wimmer, Andreas Gal, Christian Steger, Michael Franz: SlimVM: A Small Footprint Java Virtual Machine for Connected Embedded Systems. In Proceedings of the International Conference on Principles and Practice of Programming in Java, pages 133–142. ACM Press, 2009. doi:10.1145/1596655.1596678
C.08 Mason Chang, Edwin Smith, Rick Reitmaier, Michael Bebenita, Andreas Gal, Christian Wimmer, Brendan Eich, Michael Franz: Tracing for Web 3.0 - Trace Compilation for the Next Generation Web Applications. In Proceedings of the International Conference on Virtual Execution Environments, pages 71–80. ACM Press, 2009. doi:10.1145/1508293.1508304
C.07 Christian Häubl, Christian Wimmer, Hanspeter Mössenböck: Optimized Strings for the Java HotSpot™ VM. In Proceedings of the International Conference on Principles and Practice of Programming in Java, pages 105–114. ACM Press, 2008. Best paper award. doi:10.1145/1411732.1411747
C.06 Christian Wimmer, Hanspeter Mössenböck: Automatic Array Inlining in Java Virtual Machines. In Proceedings of the International Symposium on Code Generation and Optimization, pages 14–23. ACM Press, 2008. doi:10.1145/1356058.1356061
C.05 Thomas Würthinger, Christian Wimmer, Hanspeter Mössenböck: Visualization of Program Dependence Graphs. In Proceedings of the International Conference on Compiler Construction, LNCS 4959, pages 193–196. Springer-Verlag, 2008. doi:10.1007/978-3-540-78791-4_13
C.04 Thomas Würthinger, Christian Wimmer, Hanspeter Mössenböck: Array Bounds Check Elimination for the Java HotSpot™ Client Compiler. In Proceedings of the International Conference on Principles and Practice of Programming in Java, pages 125–133. ACM Press, 2007. doi:10.1145/1294325.1294343
C.03 Christian Wimmer, Hanspeter Mössenböck: Automatic Feedback-Directed Object Inlining in the Java HotSpot™ Virtual Machine. In Proceedings of the International Conference on Virtual Execution Environments, pages 12–21. ACM Press, 2007. doi:10.1145/1254810.1254813
C.02 Christian Wimmer, Hanspeter Mössenböck: Automatic Object Colocation Based on Read Barriers. In Proceedings of the Joint Modular Languages Conference, LNCS 4228, pages 326–345. Springer-Verlag, 2006. doi:10.1007/11860990_20
C.01 Christian Wimmer, Hanspeter Mössenböck: Optimized Interval Splitting in a Linear Scan Register Allocator. In Proceedings of the International Conference on Virtual Execution Environments, pages 132–141. ACM Press, 2005. doi:10.1145/1064979.1064998

Other Papers (refereed)

O.08 Gilles Duboscq, Thomas Würthinger, Lukas Stadler, Christian Wimmer, Doug Simon, Hanspeter Mössenböck: An Intermediate Representation for Speculative Optimizations in a Dynamic Compiler. In Proceedings of the ACM Workshop on Virtual Machines and Intermediate Languages, pages 1–10. ACM Press, 2013. doi:10.1145/2542142.2542143
O.07 Christian Wimmer, Stefan Brunthaler: ZipPy on Truffle: A Fast and Simple Implementation of Python. Demonstration at Systems, Programming, Languages and Applications: Software for Humanity, pages 17–18. ACM Press, 2013. doi:10.1145/2508075.2514572
O.06 Gilles Duboscq, Lukas Stadler, Thomas Würthinger, Doug Simon, Christian Wimmer, Hanspeter Mössenböck: Graal IR: An Extensible Declarative Intermediate Representation. In Proceedings of the Asia-Pacific Programming Languages and Compilers Workshop, 2013.
O.05 Christian Wimmer, Thomas Würthinger: Truffle: A Self-Optimizing Runtime System. Demonstration at Systems, Programming, Languages and Applications: Software for Humanity, pages 13–14. ACM Press, 2012. doi:10.1145/2384716.2384723
O.04 Todd Jackson, Babak Salamat, Gregor Wagner, Christian Wimmer, Michael Franz: On the Effectiveness of Multi-Variant Program Execution for Vulnerability Detection and Prevention. In Proceedings of the International Workshop on Security Measurements and Metrics, article 7. ACM Press, 2010. doi:10.1145/1853919.1853929
O.03 Todd Jackson, Christian Wimmer, Michael Franz: Multi-Variant Program Execution for Vulnerability Detection and Analysis. In Proceedings of the Workshop on Cyber Security and Information Intelligence Research, article 38. ACM Press, 2010. doi:10.1145/1852666.1852708
O.02 Karthikeyan Manivannan, Christian Wimmer, Michael Franz: Decentralized Information Flow Control on a Bare-Metal JVM. In Proceedings of the Workshop on Cyber Security and Information Intelligence Research, article 64. ACM Press, 2010. doi:10.1145/1852666.1852738
O.01 Christian Wimmer: A Block-Based Bytecode Format to Simplify and Improve Just-in-Time Compilation. Presented at Fun Ideas and Thoughts at the Conference on Programming Language Design and Implementation, 2009.

Patents

P.01 Thomas Wuerthinger, Douglas Norman Simon, Christian Wimmer, Lukas Stadler, Gilles Marie Duboscq: Self-optimizing interpreter and snapshot compilation. US patent 8930920, issued January 6, 2015.

Theses

T.02 Christian Wimmer: Automatic Object Inlining in a Java Virtual Machine. PhD thesis, Institute for System Software, Johannes Kepler University Linz, 2008.
T.01 Christian Wimmer: Linear Scan Register Allocation for the Java HotSpot™ Client Compiler. Master's thesis, Institute for System Software, Johannes Kepler University Linz, 2004.