CINXE.COM
The Ruby Bibliography
<!DOCTYPE html> <html lang="en"> <head><script type="text/javascript" src="/_static/js/bundle-playback.js?v=HxkREWBo" charset="utf-8"></script> <script type="text/javascript" src="/_static/js/wombat.js?v=txqj7nKC" charset="utf-8"></script> <script>window.RufflePlayer=window.RufflePlayer||{};window.RufflePlayer.config={"autoplay":"on","unmuteOverlay":"hidden"};</script> <script type="text/javascript" src="/_static/js/ruffle/ruffle.js"></script> <script type="text/javascript"> __wm.init("https://web.archive.org/web"); __wm.wombat("https://rubybib.org/","20240725011033","https://web.archive.org/","web","/_static/", "1721869833"); </script> <link rel="stylesheet" type="text/css" href="/_static/css/banner-styles.css?v=S1zqJCYt" /> <link rel="stylesheet" type="text/css" href="/_static/css/iconochive.css?v=3PDvdIFv" /> <!-- End Wayback Rewrite JS Include --> <meta charset="utf-8"> <link rel="stylesheet" href="https://web.archive.org/web/20240725011033cs_/https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/css/bootstrap.min.css"> <link rel="icon" type="image/png" sizes="32x32" href="/web/20240725011033im_/https://rubybib.org/favicon-32x32.png"> <link rel="icon" type="image/png" sizes="96x96" href="/web/20240725011033im_/https://rubybib.org/favicon-96x96.png"> <link rel="icon" type="image/png" sizes="16x16" href="/web/20240725011033im_/https://rubybib.org/favicon-16x16.png"> <link rel="stylesheet" href="https://web.archive.org/web/20240725011033cs_/https://fonts.googleapis.com/css?family=Source+Code+Pro|Source+Serif+Pro&display=swap"> <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> <style> body { font-family: 'Source Serif Pro', serif; } header { margin-top: 2em; } .jumbotron { background-color: #f5f3f0; } h1 { hyphens: auto; -webkit-hyphens: auto; } h2 { margin-top: 1em; margin-bottom: 1em; } h3 { margin-top: 1em; margin-bottom: 1em; } a.paper { padding-top: 1em; margin-top: -1em; font-weight: bold; font-style: italic; outline: none; margin-left: 0.5em; margin-right: 0.75em; } a.paper:not(:hover) { color: #B0B0B0; } a.paper:hover { text-decoration: none !important; } footer.jumbotron { text-align: center; margin-top: 4em; padding: 1em; } </style> <title>The Ruby Bibliography</title> </head> <body> <div class="container"> <header> <div class="jumbotron"> <div class="d-none d-md-none d-lg-none d-xl-block"> <img src="/web/20240725011033im_/https://rubybib.org/library.png" style="width: 150px; height: 150px; float: left; margin-right: 1em;"> <h1 class="display-3">The Ruby Bibliography</h1> </div> <div class="d-none d-md-none d-lg-block d-xl-none"> <img src="/web/20240725011033im_/https://rubybib.org/library.png" style="width: 150px; height: 150px; float: left; margin-right: 1em;"> <h1 class="display-3">The Ruby Bib</h1> </div> <div class="d-none d-md-block d-lg-none d-xl-none"> <img src="/web/20240725011033im_/https://rubybib.org/library.png" style="width: 150px; height: 150px; float: left; margin-right: 1em;"> <h1 class="display-3">Ruby Bib</h1> </div> <div class="d-block d-md-none d-lg-none d-xl-none"> <h1 class="display-3">Ruby Bib</h1> </div> <p class="lead">Academic writing on the Ruby programming language</p> </div> </header> <p class="text-justify">The <a href="https://web.archive.org/web/20240725011033/https://www.ruby-lang.org/en/">Ruby programming language</a> hasn't historically been the subject of much research, either in industry or academia. A lot of recent systems research has used languages like C, C++ and Java. Contemporary programming language research often uses languages like Java, Scala, Racket and Haskell. Modern research into VMs, compilers and garbage collectors is often based on Java or recently Python.</p> <p class="text-justify">However there are now a growing number of research projects using Ruby. On this page we list theses and peer-reviewed papers and articles that cover Ruby implementation or use Ruby, including alternative implementations such as JRuby.</p> <p class="text-justify">Also see the <a href="https://web.archive.org/web/20240725011033/https://ruby-compilers.com/">Ruby Compiler Survey</a>.</p> <h3 id="virtual-machines-and-compilers">Virtual Machines and Compilers</h3> <p><a class="paper" name="kaleba2022" href="#kaleba2022">#</a> S. Kaleba, O. Larose, R. Jones, S. Marr. <strong><a href="https://web.archive.org/web/20240725011033/https://stefan-marr.de/downloads/dls22-kaleba-et-al-analyzing-the-run-time-call-site-behavior-of-ruby-applications.pdf">Who You Gonna Call: Analyzing the Run-time Call-Site Behavior of Ruby Applications</a></strong>. In Proceedings of the 18th Symposium on Dynamic Languages (DLS), 2022. <span class="badge badge-warning">TruffleRuby</span></p> <p><a class="paper" name="chevalier-boisvert2021" href="#chevalier-boisvert2021">#</a> M. Chevalier-Boisvert, N. Gibbs, J. Boussier, S. Wu, A. Patterson, K. Newton, J. Hawthorn. <strong><a href="https://web.archive.org/web/20240725011033/https://dl.acm.org/doi/pdf/10.1145/3486606.3486781">YJIT: a basic block versioning JIT compiler for CRuby</a></strong>. In Proceedings of the 13th ACM SIGPLAN International Workshop on Virtual Machines and Intermediate Languages (VMIL), 2021. <span class="badge badge-danger">MRI</span></p> <p><a class="paper" name="daloze2019" href="#daloze2019">#</a> B. Daloze. <strong><a href="https://web.archive.org/web/20240725011033/https://eregon.me/blog/assets/research/thesis-thread-safe-data-representations-in-dynamic-languages.pdf">Thread-Safe and Efficient Data Representations in Dynamically-Typed Languages</a></strong>. PhD thesis, Johannes Kepler University Linz, 2019. <span class="badge badge-warning">TruffleRuby</span></p> <p><a class="paper" name="mosaner2019" href="#mosaner2019">#</a> R. Mosaner, D. Leopoldseder, M. Rigger, R. Schatz, H. Mössenböck. <strong><a href="https://web.archive.org/web/20240725011033/https://arxiv.org/pdf/1909.08815.pdf">Supporting On-Stack Replacement in Unstructured Languages by Loop Reconstruction and Extraction</a></strong>. In Proceedings of the 16th International Conference on Managed Programming Languages and Runtimes (MPLR), 2019. <span class="badge badge-warning">TruffleRuby</span></p> <p><a class="paper" name="sasada2019" href="#sasada2019">#</a> K. Sasada. <strong><a href="https://web.archive.org/web/20240725011033/https://www.atdot.net/~ko1/activities/rgengc_ismm.pdf">Gradual Write-Barrier Insertion into a Ruby interpreter</a></strong>. In Proceedings of the International Symposium on Memory Management (ISMM), 2019. <span class="badge badge-danger">MRI</span></p> <p><a class="paper" name="sugiyama2018" href="#sugiyama2018">#</a> K. Sugiyama, K. Sasada, M. J. Dürst. <strong><a href="https://web.archive.org/web/20240725011033/https://ipsj.ixsq.nii.ac.jp/ej/index.php?active_action=repository_view_main_item_detail&page_id=13&block_id=8&item_id=191427&item_no=1">Dynamic Extension of the Ruby Virtual Machine Stack</a></strong>. In the IPSJ Journal of Programming (PRO), 2018. <em>In Japanese</em>. <span class="badge badge-danger">MRI</span> <!-- link is flaky --></p> <p><a class="paper" name="menard2018" href="#menard2018">#</a> K. Menard, C. Seaton, B. Daloze. <strong><a href="https://web.archive.org/web/20240725011033/https://chrisseaton.com/truffleruby/ropes-manlang.pdf">Specializing Ropes for Ruby</a></strong>. In Proceedings of 15th International Conference on Managed Languages & Runtimes (ManLang), 2018. <span class="badge badge-warning">TruffleRuby</span></p> <p><a class="paper" name="grimmer2018" href="#grimmer2018">#</a> M. Grimmer, R. Schatz, C. Seaton, T. Würthinger, M. Luján. <strong><a href="https://web.archive.org/web/20240725011033/https://chrisseaton.com/truffleruby/cross-language-interop.pdf">Cross-Language Interoperability in a Multi-Language Runtime</a></strong>. In ACM Transactions on Programming Languages and Systems (TOPLAS), Vol. 40, No. 2, 2018. <span class="badge badge-warning">TruffleRuby</span></p> <p><a class="paper" name="pereira" href="#pereira">#</a> R. Pereira, M. Couto, F. Ribeiro, R. Rua, J. Cunha, J. P. Fernandes, J. Saraiva. <strong><a href="https://web.archive.org/web/20240725011033/https://greenlab.di.uminho.pt/wp-content/uploads/2017/10/sleFinal.pdf">Energy efficiency across programming languages: how do energy, time, and memory relate?</a></strong> In Proceedings of the 10th ACM SIGPLAN International Conference on Software Language Engineering, 2017. <span class="badge badge-danger">MRI</span> <span class="badge badge-info">JRuby</span></p> <p><a class="paper" name="yang2017" href="#yang2017">#</a> B. Yang, J. Kim, S. Moon. <strong><a href="https://web.archive.org/web/20240725011033/https://dl.acm.org/doi/pdf/10.1145/3046681">Exceptionalization: A Java VM Optimization for Non-Java Languages</a></strong>. In ACM Transactions on Architecture and Code Optimization (TACO), volume 14, issue 1, 2017. <span class="badge badge-info">JRuby</span> <span class="badge badge-dark">Paywall</span></p> <p><a class="paper" name="xu2017" href="#xu2017">#</a> S. Xu, D. Bremner, D. Heidinga. <strong><a href="https://web.archive.org/web/20240725011033/https://xushijie.github.io/papers/vmil17.pdf">Fusing Method Handle Graphs for Efficient Dynamic JVM Language Implementations</a></strong>. In Proceedings of the 9th ACM SIGPLAN International Workshop on Virtual Machines and Intermediate Languages (VMIL), 2017. <span class="badge badge-info">JRuby</span></p> <p><a class="paper" name="wuerthinger2017" href="#wuerthinger2017">#</a> T. Würthinger, C. Wimmer, C. Humer, A. Wöss, L. Stadler, C. Seaton, G. Duboscq, D. Simon, M. Grimmer. <strong><a href="https://web.archive.org/web/20240725011033/https://chrisseaton.com/rubytruffle/pldi17-truffle/pldi17-truffle.pdf">Practical Partial Evaluation for High-Performance Dynamic Language Runtimes</a></strong>. In Proceedings of the 38th Conference on Programming Language Design and Implementation (PLDI), 2017. <span class="badge badge-warning">TruffleRuby</span></p> <p><a class="paper" name="georgiou2017" href="#georgiou2017">#</a> S. Georgiou, M. Kechagia, D. Spinellis. <strong><a href="https://web.archive.org/web/20240725011033/https://stefanos1316.github.io/my_curriculum_vitae/GKS17.pdf">Analyzing Programming Languages’ Energy Consumption: An Empirical Study</a></strong>. In Proceedings of the 21st Pan-Hellenic Conference on Informatics (PCI), 2017.</p> <p><a class="paper" name="marr2016" href="#marr2016">#</a> S. Marr, B. Daloze, H. Mössenböck. <strong><a href="https://web.archive.org/web/20240725011033/https://stefan-marr.de/downloads/dls16-marr-et-al-cross-language-compiler-benchmarking-are-we-fast-yet.pdf">Cross-Language Compiler Benchmarking - Are We Fast Yet?</a></strong> In Proceedings of the 12th Dynamic Languages Symposium (DLS), 2016. <span class="badge badge-warning">TruffleRuby</span> <span class="badge badge-info">JRuby</span> <span class="badge badge-secondary">Rubinius</span> <span class="badge badge-danger">MRI</span></p> <p><a class="paper" name="seaton2016" href="#seaton2016">#</a> C. Seaton. <strong><a href="https://web.archive.org/web/20240725011033/https://chrisseaton.com/rubytruffle/meta16/meta16-ruby.pdf">AST Specialisation and Partial Evaluation for Easy High-Performance Metaprogramming</a></strong>. In Proceedings of the 1st Workshop on Meta-Programming Techniques and Reflection (META), 2016. <span class="badge badge-warning">TruffleRuby</span></p> <p><a class="paper" name="xu2016" href="#xu2016">#</a> S. Xu, D. Bremner, D. Heidinga. <strong><a href="https://web.archive.org/web/20240725011033/https://xushijie.github.io/papers/deduplication.pdf">MHDeS: Deduplicating Method Handle Graphs for Efficient Dynamic JVM Language Implementations</a></strong>. In Proceedings of the 11th Workshop on Implementation, Compilation, Optimization of Object-Oriented Languages, Programs and Systems (ICOOOLPS), 2016. <span class="badge badge-info">JRuby</span></p> <p><a class="paper" name="ide2015a" href="#ide2015a">#</a> M. Ide. <strong><a href="https://web.archive.org/web/20240725011033/https://ynu.repo.nii.ac.jp/?action=repository_action_common_download&item_id=4714&item_no=1&attribute_id=20&file_no=1">Study on Method-based and Trace-based Just-in-time Compilation for Scripting Languages</a></strong>. PhD thesis, Yokohama National University, 2015. <span class="badge badge-danger">MRI</span></p> <p><a class="paper" name="ide2015b" href="#ide2015b">#</a> M. Ide, K. Kuramitsu. <strong><a href="https://web.archive.org/web/20240725011033/https://kuramitsulab.github.io/paper/rujit.pdf">A Trace-based Just-in-time Compiler for Ruby</a></strong>. In Journal of Information Processing Society of Japan, Transactions on Programming, 2015. <em>In Japanese</em>. <span class="badge badge-danger">MRI</span></p> <p><a class="paper" name="tanaka2015" href="#tanaka2015">#</a> K. Tanaka, A. D. Nagumanthri, Y. Matsumoto. <strong><a href="https://web.archive.org/web/20240725011033/https://www.researchgate.net/profile/Aviansh-Nagumanthri/publication/282816987_mruby_-_Rapid_Software_Development_for_Embedded_Systems/links/561f03e308ae50795aff64d0/mruby-Rapid-Software-Development-for-Embedded-Systems.pdf">mruby – Rapid Software Development for Embedded Systems</a></strong>. In Proceedings of the 15th International Conference on Computational Science and its Applications (ICCSA), 2015. <span class="badge badge-success">mruby</span></p> <p><a class="paper" name="xu2015" href="#xu2015">#</a> S. Xu, D. Bremner, D. Heidinga. <strong><a href="https://web.archive.org/web/20240725011033/https://xushijie.github.io/papers/mh_mining.pdf">Mining Method Handle Graphs for Efficient Dynamic JVM Languages</a></strong>. In ACM proceedings 12th Conference on Principles and Practices of Programming on the Java Platform (PPPJ), 2015. <span class="badge badge-info">JRuby</span></p> <p><a class="paper" name="viering2015" href="#viering2015">#</a> M. Viering. <strong><a href="https://web.archive.org/web/20240725011033/http://mviering.de/reactiveruby.pdf">An Efficient Runtime System for Reactive Programming</a></strong>. Master thesis, Technische Universität Darmstadt, 2015. <span class="badge badge-warning">TruffleRuby</span></p> <p><a class="paper" name="seaton2015" href="#seaton2015">#</a> C. Seaton. <strong><a href="https://web.archive.org/web/20240725011033/https://chrisseaton.com/phd/specialising-ruby.pdf">Specialising Dynamic Techniques for Implementing the Ruby Programming Language</a></strong>. PhD thesis, University of Manchester, 2015. <span class="badge badge-warning">TruffleRuby</span></p> <p><a class="paper" name="grimmer2015b" href="#grimmer2015b">#</a> M. Grimmer, C. Seaton, R. Schatz, T. Würthinger, H. Mössenböck. <strong><a href="https://web.archive.org/web/20240725011033/https://chrisseaton.com/rubytruffle/dls15-interop/dls15-interop.pdf">High-Performance Cross-Language Interoperability in a Multi-Language Runtime</a></strong>. In Proceedings of the 11th Dynamic Languages Symposium (DLS), 2015. <span class="badge badge-warning">TruffleRuby</span></p> <p><a class="paper" name="niephaus2015" href="#niephaus2015">#</a> F. Niephaus, M. Springer, T. Felgentreff, T. Pape, R. Hirschfeld. <strong><a href="https://web.archive.org/web/20240725011033/https://raw.githubusercontent.com/HPI-SWA-Lab/TargetSpecific-ICOOOLPS/gh-pages/call_target_specific_method_arguments.pdf">Call-target-specific Method Arguments</a></strong>. In Proceedings of the 10th Implementation, Compilation, Optimization of Object-Oriented Languages, Programs and Systems Workshop (ICOOOLPS), 2015. <span class="badge badge-warning">TruffleRuby</span></p> <p><a class="paper" name="daloze2015" href="#daloze2015">#</a> B. Daloze, C. Seaton, D. Bonetta, H. Mössenböck. <strong><a href="https://web.archive.org/web/20240725011033/https://chrisseaton.com/rubytruffle/icooolps15-safepoints/safepoints.pdf">Techniques and Applications for Guest-Language Safepoints</a></strong>. In Proceedings of the 10th Implementation, Compilation, Optimization of Object-Oriented Languages, Programs and Systems Workshop (ICOOOLPS), 2015. <span class="badge badge-warning">TruffleRuby</span></p> <p><a class="paper" name="marr2015" href="#marr2015">#</a> S. Marr, C. Seaton, S. Ducasse. <strong><a href="https://web.archive.org/web/20240725011033/https://chrisseaton.com/rubytruffle/pldi15-metaprogramming/pldi15-marr-et-al-zero-overhead-metaprogramming.pdf">Zero-Overhead Metaprogramming: Reflection and Metaobject Protocols Fast and without Compromises</a></strong>. In Proceedings of the 36th Conference on Programming Language Design and Implementation (PLDI), 2015. <span class="badge badge-warning">TruffleRuby</span></p> <p><a class="paper" name="grimmer2015a" href="#grimmer2015a">#</a> M. Grimmer, C. Seaton, T. Würthinger, H. Mössenböck. <strong><a href="https://web.archive.org/web/20240725011033/https://chrisseaton.com/rubytruffle/modularity15/rubyextensions.pdf">Dynamically Composing Languages in a Modular Way: Supporting C Extensions for Dynamic Languages</a></strong>. In Proceedings of the 14th International Conference on Modularity, 2015. <span class="badge badge-warning">TruffleRuby</span></p> <p><a class="paper" name="woess2014" href="#woess2014">#</a> A. Wöß, C. Wirth, D. Bonetta, C. Seaton, C. Humer, H. Mössenböck. <strong><a href="https://web.archive.org/web/20240725011033/https://chrisseaton.com/rubytruffle/pppj14-om/pppj14-om.pdf">An Object Storage Model for the Truffle Language Implementation Framework</a></strong>. In Proceedings of the International Conference on Principles and Practices of Programming on the Java Platform (PPPJ), 2014. <span class="badge badge-warning">TruffleRuby</span></p> <p><a class="paper" name="sarimbekov2013" href="#sarimbekov2013">#</a> A. Sarimbekov, A. Podzimek, L. Bulej, Y. Zheng, N. Ricci, W. Binder. <strong><a href="https://web.archive.org/web/20240725011033/https://design.cs.iastate.edu/vmil/2013/papers/p05-Sarimbekov.pdf">Characteristics of Dynamic JVM Languages</a></strong>. In Proceedings of the 7th Workshop on Virtual Machines and Intermediate Languages (VMIL), 2013. <span class="badge badge-info">JRuby</span></p> <p><a class="paper" name="hang2013" href="#hang2013">#</a> <a name="talk-talk">W. Hang Li, D. R. White, J. Singer. <strong><a href="https://web.archive.org/web/20240725011033/http://www.dcs.gla.ac.uk/~jsinger/pdfs/pppj13.pdf">JVM-Hosted Languages: They Talk the Talk, but do they Walk the Walk?</a></strong> In Proceedings of the International Conference on Principles and Practices of Programming on the Java Platform (PPPJ), 2013. <span class="badge badge-info">JRuby</span></a></p> <p><a class="paper" name="springer2013" href="#springer2013">#</a> M. Springer. <strong><a href="https://web.archive.org/web/20240725011033/http://matthiasspringer.de/downloads/BP2012H1_intra-language_collaboration.pdf">Inter-language Collaboration in an Object-oriented Virtual Machine</a></strong>. Bachelor’s thesis, Hasso-Plattner-Institute, 2013. <span class="badge badge-primary">MagLev</span></p> <p><a class="paper" name="castanos2012" href="#castanos2012">#</a> J. Castanos, D. Edelsohn, K. Ishizaki, P. Nagpurkar, T. Nakatani, T. Ogasawara, P. Wu. <strong><a href="https://web.archive.org/web/20240725011033/https://researcher.watson.ibm.com/researcher/files/us-pengwu/oopsla12-final-dsl.pdf">On the Benefits and Pitfalls of Extending a Statically Typed Language JIT Compiler for Dynamic Scripting Languages</a></strong>. In Proceedings of the 20th Conference on Object-Oriented Programming, Systems, Languages, and Applications (OOPSLA), 2012. <span class="badge badge-info">JRuby</span> <span class="badge badge-secondary">Rubinius</span></p> <p><a class="paper" name="shiba2012" href="#shiba2012">#</a> S. Shiba, K. Sasada, K. Hiraki. <strong><a href="https://web.archive.org/web/20240725011033/https://ipsj.ixsq.nii.ac.jp/ej/?action=pages_view_main&active_action=repository_view_main_item_detail&item_id=83510&item_no=1&page_id=13&block_id=8">CastOff: A Compiler for Ruby Implemented as a Library</a></strong>. In Journal of Information Processing Society of Japan, Transactions on Programming, 2012. <em>In Japanese</em>. <span class="badge badge-danger">MRI</span> <!-- link is flaky --></p> <p><a class="paper" name="shiba2011" href="#shiba2011">#</a> S. Shiba, K. Sasada, S. Urabe, Y. Matsumoto, M. Inaba, K. Hiraki. <strong><a href="https://web.archive.org/web/20240725011033/https://ipsj.ixsq.nii.ac.jp/ej/?action=pages_view_main&active_action=repository_view_main_item_detail&item_id=73661&item_no=1&page_id=13&block_id=8">A Practical AOT Compiler for Ruby</a></strong>. In Journal of Information Processing Society of Japan, Transactions on Programming, 2011. <em>In Japanese</em>. <span class="badge badge-danger">MRI</span> <!-- link is flaky --></p> <p><a class="paper" name="zakirov2010" href="#zakirov2010">#</a> S. Zakirov, S. Chiba, E. Shibayama. <strong><a href="https://web.archive.org/web/20240725011033/https://www.researchgate.net/publication/239436707_How_to_Select_Superinstructions_for_Ruby">How to Select Superinstructions for Ruby</a></strong>. In Journal of Information Processing Society of Japan, Transactions on Programming, 2010. <span class="badge badge-danger">MRI</span></p> <p><a class="paper" name="zakirov2010b" href="#zakirov2010b">#</a> S. Zakirov, S. Chiba, E. Shibayama. <strong><a href="https://web.archive.org/web/20240725011033/https://dl.acm.org/doi/10.1145/1869631.1869634">Optimizing Dynamic Dispatch with Fine-grained State Tracking</a></strong>. In Proceedings of the Dynamic Language Symposium, 2010. <span class="badge badge-dark">Paywall</span></p> <p><a class="paper" name="furr2009" href="#furr2009">#</a> M. Furr, J. An, J. S. Foster, M. Hicks. <strong><a href="https://web.archive.org/web/20240725011033/http://www.cs.umd.edu/projects/PL/druby/papers/druby-dls09.pdf">The Ruby Intermediate Language</a></strong>. In Proceedings of the Dynamic Language Symposium, 2009.</p> <p><a class="paper" name="sasada2009" href="#sasada2009">#</a> K. Sasada. <strong><a href="https://web.archive.org/web/20240725011033/https://www.atdot.net/~ko1/activities/ricsin2009.pdf">Ricsin: A System for “C Mix-in to Ruby”</a></strong>. In Proceedings of the IPSJ Programming Workshop, 2009. <em>In Japanese</em>. <span class="badge badge-danger">MRI</span></p> <p><a class="paper" name="sasada2008" href="#sasada2008">#</a> K. Sasada. <strong><a href="https://web.archive.org/web/20240725011033/https://www.atdot.net/~ko1/activities/rubyfp2008.pdf">A Lightweight Representation of Floting-Point Numbers on Ruby Interpreter</a></strong>. In Proceedings of PPL, 2008. <em>In Japanese</em>. <span class="badge badge-danger">MRI</span></p> <p><a class="paper" name="prokopski2008" href="#prokopski2008">#</a> G. B. Prokopski, C. Verbrugge. <strong><a href="https://web.archive.org/web/20240725011033/https://dl.acm.org/doi/10.1145/1449764.1449796">Analyzing the Performance of Code-Copying Virtual Machines</a></strong>. In Proceedings of the 23rd Conference on Object-Oriented Programming, Systems, Languages, and Applications (OOPSLA), 2008. <span class="badge badge-danger">MRI</span> <span class="badge badge-dark">Paywall</span></p> <p><a class="paper" name="kelly2008" href="#kelly2008">#</a> W. Kelly, J. Gough. <strong><a href="https://web.archive.org/web/20240725011033/http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.294.2678">Ruby.NET: a Ruby Compiler for the Common Language Infrastructure</a></strong>. In Proceedings of the 31st Australasian Conference on Computer Science, 2008.</p> <p><a class="paper" name="sasada2005b" href="#sasada2005b">#</a> K. Sasada, Y. Matsumoto, A. Maeda, M. Namiki. <strong><a href="https://web.archive.org/web/20240725011033/https://www.atdot.net/~ko1/activities/yarv2005vm.pdf">YARV: Yet Another RubyVM The Implementation and Evaluation</a></strong>. In the IPSJ Journal of Programming (PRO), 2005. <em>In Japanese</em>. <span class="badge badge-danger">MRI</span></p> <p><a class="paper" name="keep2008" href="#keep2008">#</a> A. Keep and A. Chauhan. <strong><a href="https://web.archive.org/web/20240725011033/http://andykeep.com/pubs/escience-08-poster.pdf">Concrete partial evaluation in Ruby</a></strong>. In Proceedings of the 4th IEEE International Conference on eScience, ESCIENCE, 2008.</p> <p><a class="paper" name="sasada2005" href="#sasada2005">#</a> K. Sasada. <strong><a href="https://web.archive.org/web/20240725011033/https://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.482.9851&rep=rep1&type=pdf">YARV: Yet Another RubyVM: Innovating the Ruby Interpreter</a></strong>. In Proceedings of the 20th Conference on Object-Oriented Programming, Systems, Languages, and Applications (OOPSLA), 2005. <span class="badge badge-danger">MRI</span></p> <p><a class="paper" name="alexandersson2004" href="#alexandersson2004">#</a> A. Alexandersson. <strong><a href="https://web.archive.org/web/20240725011033/https://llvm.org/pubs/2004-Spring-AlexanderssonMSThesis.pdf">RubyComp: A Ruby-to-LLVM Compiler Prototype</a></strong>. MSc thesis, University of Trollhättan/Uddevalla, 2004. <span class="badge badge-danger">MRI</span></p> <h3 id="parallelism-and-concurrency">Parallelism and Concurrency</h3> <p><a class="paper" name="springer2019" href="#springer2019">#</a> M. Springer. <strong><a href="https://web.archive.org/web/20240725011033/https://m-sp.org/downloads/phd_thesis.pdf">Memory-Efficient Object-Oriented Programming on GPUs</a></strong>. PhD thesis, Tokyo Institute of Technology, 2019.</p> <p><a class="paper" name="ohiwa2019" href="#ohiwa2019">#</a> A. Ohiwa, H. Haga. <strong><a href="https://web.archive.org/web/20240725011033/https://dl.acm.org/doi/abs/10.1145/3362752.3362770">Design and Implementation of Multi Agent Simulation Library MasCUDA for Parallel Processing with GPU</a></strong>. In Proceedings of the 2nd International Conference on Electronics and Electrical Engineering Technology (EEET), 2019. <span class="badge badge-dark">Paywall</span></p> <p><a class="paper" name="daloze2018" href="#daloze2018">#</a> B. Daloze, A. Tal, S. Marr, H. Mössenböck, E. Petrank. <strong><a href="https://web.archive.org/web/20240725011033/https://ssw.jku.at/General/Staff/Daloze/thread-safe-collections.pdf">Parallelization of Dynamic Languages: Synchronizing Built-in Collections</a></strong>. In Proceedings of the Conference on Object-Oriented Programming, Systems, Languages, and Applications (OOPSLA), 2018. <span class="badge badge-warning">TruffleRuby</span></p> <p><a class="paper" name="springer2017" href="#springer2017">#</a> M. Sprinter, P. Wauligmann, H. Masuhara. <strong><a href="https://web.archive.org/web/20240725011033/https://m-sp.org/downloads/array2017.pdf">Modular Array-Based GPU Computing in a Dynamically-Typed Language</a></strong>. In Proceedings of the 4th International Workshop on Libraries, Languages, and Compilers for Array Programming (ARRAY), 2017.</p> <p><a class="paper" name="springer2016" href="#springer2016">#</a> M. Springer, H. Masuhara. <strong><a href="https://web.archive.org/web/20240725011033/https://m-sp.org/downloads/array16.pdf">Object Support in an Array-Based GPGPU Extension for Ruby</a></strong>. In Proceedings of the 3rd International Workshop on Libraries, Languages, and Compilers for Array Programming (ARRAY), 2016.</p> <p><a class="paper" name="daloze2016" href="#daloze2016">#</a> B. Daloze, S. Marr, D. Bonetta, H. Mössenböck. <strong><a href="https://web.archive.org/web/20240725011033/https://ssw.jku.at/General/Staff/Daloze/thread-safe-objects.pdf">Efficient and Thread-Safe Objects for Dynamically-Typed Languages</a></strong>. In Proceedings of the Conference on Object-Oriented Programming, Systems, Languages, and Applications (OOPSLA), 2016. <span class="badge badge-warning">TruffleRuby</span></p> <p><a class="paper" name="alcazarzapien2015" href="#alcazarzapien2015">#</a> J. Alcázar Zapién. <strong><a href="https://web.archive.org/web/20240725011033/https://modprobe.files.wordpress.com/2015/09/jalcazar_pmam20151.pdf">Debugging Parallel Programs Using Fork Handlers</a></strong>. In Proceedings of the Sixth International Workshop on Programming Models and Applications for Multicores and Manycores (PMAM), 2015. <span class="badge badge-danger">MRI</span></p> <p><a class="paper" name="ding2015" href="#ding2015">#</a> C. Ding, B. Gernhardt, P. Li, M. Hertz. <strong><a href="https://web.archive.org/web/20240725011033/http://polaris.cs.uiuc.edu/hpsl/abstracts/a7-ding.pdf">Safe Parallel Programming in an Interpreted Language</a></strong>. In Proceedings of the First Workshop on the High Performance Scripting Languages, 2015. <span class="badge badge-danger">MRI</span></p> <p><a class="paper" name="lu2014" href="#lu2014">#</a> L. Lu, W. Ji, M. L. Scott. <strong><a href="https://web.archive.org/web/20240725011033/https://www.cs.rochester.edu/u/scott/papers/2014_PLDI_DPR.pdf">Dynamic Enforcement of Determinism in a Parallel Scripting Language</a></strong>. In Proceedings of the 35th Conference on Programming Language Design and Implementation (PLDI), 2014. (<a href="https://web.archive.org/web/20240725011033/https://github.com/RB-DPR/RB-DPR">source code</a>) <span class="badge badge-info">JRuby</span></p> <p><a class="paper" name="odaira2014" href="#odaira2014">#</a> R. Odaira, J. G. Castanos, H. Tomari. <strong><a href="https://web.archive.org/web/20240725011033/https://researcher.watson.ibm.com/researcher/files/jp-ODAIRA/PPoPP2014_RubyGILHTM.pdf">Eliminating Global Interpreter Locks in Ruby Through Hardware Transactional Memory</a></strong>. In Proceedings of the 19th Symposium on Principles and Practice of Parallel Programming (PPoPP), 2014. <span class="badge badge-danger">MRI</span></p> <p><a class="paper" name="ji2013" href="#ji2013">#</a> W. Ji, L. Lu, M. L. Scott. <strong><a href="https://web.archive.org/web/20240725011033/https://wodet.cs.washington.edu/wp-content/uploads/2013/03/wodet2013-final9.pdf">TARDIS: Task-level Access Race Detection by Intersecting Sets</a></strong>. In Proceedings of the 4th Workshop on Determinism and Correctness in Parallel Programming (WoDet), 2013. <span class="badge badge-info">JRuby</span></p> <p><a class="paper" name="masuhara2012" href="#masuhara2012">#</a> H. Masuhara, Y. Nishiguchi. <strong><a href="https://web.archive.org/web/20240725011033/https://dl.acm.org/doi/abs/10.1145/2237887.2237888">A Data-Parallel Extension to Ruby for GPGPU - Toward a Framework for Implementing Domain-Specific Optimizations</a></strong>. In Proceedings of the 9th ECOOP Workshop on Reflection, AOP, and Meta-Data for Software Evolution, 2012. <span class="badge badge-dark">Paywall</span></p> <p><a class="paper" name="nakagawa2012" href="#nakagawa2012">#</a> H. Nakagawa, K. Sasada. <strong><a href="https://web.archive.org/web/20240725011033/https://ipsj.ixsq.nii.ac.jp/ej/index.php?action=pages_view_main&active_action=repository_action_common_download&item_id=83710&item_no=1&attribute_id=1&file_no=1&page_id=13&block_id=8">Design and Implementation of Efficient Interprocess Transfer and Sharing Mechanism for Ruby Objects</a></strong>. In the IPSJ Journal of Programming (PRO), 2012. <em>In Japanese</em>. <span class="badge badge-danger">MRI</span> <!-- link is flaky --></p> <p><a class="paper" name="sasada2012" href="#sasada2012">#</a> K. Sasada, S. Urabe, Y. Matsumoto, K Hiraki. <strong><a href="https://web.archive.org/web/20240725011033/https://www.atdot.net/~ko1/activities/sasada_mvm_paper.pdf">Parallel Processing on Multiple Virtual Machine for Ruby</a></strong>. In the IPSJ Journal of Programming (PRO), 2012. <em>In Japanese</em>. <span class="badge badge-danger">MRI</span></p> <p><a class="paper" name="sasada2011" href="#sasada2011">#</a> K. Sasada. <strong><a href="https://web.archive.org/web/20240725011033/https://www.atdot.net/~ko1/activities/prosym2011-thread_kaizen_paper.pdf">The Improvement of Thread Implementation for Ruby Interpreter</a></strong>. In the IPSJ Programming Symposium, 2011. <em>In Japanese</em>. <span class="badge badge-danger">MRI</span></p> <p><a class="paper" name="sillito2008" href="#sillito2008">#</a> J. Sillito. <strong><a href="https://web.archive.org/web/20240725011033/https://dl.acm.org/doi/abs/10.1145/1370082.1370092">Stage: Exploring Erlang Style Concurrency in Ruby</a></strong>. In Proceedings of the 1st International Workshop on Multicore Software Engineering, 2008. <span class="badge badge-dark">Paywall</span></p> <p><a class="paper" name="sasada2007" href="#sasada2007">#</a> K. Sasada, Y. Matsumoto, A. Maeda, M. Namiki. <strong><a href="https://web.archive.org/web/20240725011033/https://www.atdot.net/~ko1/activities/yarv2007thread.pdf">An Implementation of Parallel Threads for YARV: Yet Another RubyVM</a></strong>. In the IPSJ Journal of Programming (PRO), 2007. <em>In Japanese</em>. <span class="badge badge-danger">MRI</span></p> <h3 id="type-systems">Type Systems</h3> <p><a class="paper" name="guria2021" href="#guria2021">#</a> S. N. Guria, J. S. Foster, D. Van Horn. <strong><a href="https://web.archive.org/web/20240725011033/https://arxiv.org/pdf/2102.13183.pdf">RbSyn: Type- and Effect-Guided Program Synthesis</a></strong>. In Proceedings of the 42nd ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI), 2021.</p> <p><a class="paper" name="kazerounian2019" href="#kazerounian2019">#</a> M. Kazerounian, S. N. Guria, N. Vazou, J. S. Foster, D. Van Horn. <strong><a href="https://web.archive.org/web/20240725011033/https://arxiv.org/pdf/1904.03521.pdf">Type-level Computations for Ruby Libraries</a></strong>. In Proceedings of the 40th ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI), 2019.</p> <p><a class="paper" name="kazerounian2018" href="#kazerounian2018">#</a> M. Kazerounian, N. Vazou, A. Bourgerie, J. S. Foster, E. Torlak. <strong><a href="https://web.archive.org/web/20240725011033/https://arxiv.org/pdf/1711.09281.pdf">Refinement Types for Ruby</a></strong>. In Proceedings of the 19th International Conference on Verification, Model Checking, and Abstract Interpretation (VMCAI), 2018.</p> <p><a class="paper" name="ren2016" href="#ren2016">#</a> B. M. Ren, J. S. Foster. <strong><a href="https://web.archive.org/web/20240725011033/http://www.cs.tufts.edu/~jfoster/papers/pldi16.pdf">Just-in-Time Static Type Checking for Dynamic Languages</a></strong>. In Proceedings of the 37th Conference on Programming Language Design and Implementation (PLDI), 2016.</p> <p><a class="paper" name="ren2013" href="#ren2013">#</a> B. M. Ren, J. Toman, T. S. Strickland, J. S. Foster. <strong><a href="https://web.archive.org/web/20240725011033/http://www.cs.tufts.edu/~jfoster/papers/oops13.pdf">The Ruby Type Checker</a></strong>. In Proceedings of the 28th Symposium on Applied Computing (SAC), 2013.</p> <p><a class="paper" name="an2011" href="#an2011">#</a> J. An, A. Chaudhuri, J. S. Foster, M. Hicks. <strong><a href="https://web.archive.org/web/20240725011033/http://www.cs.tufts.edu/~jfoster/papers/popl11.pdf">Dynamic Inference of Static Types for Ruby</a></strong>. In Proceedings of the 38th ACM Symposium on Principles of Programming Languages (POPL), 2011.</p> <p><a class="paper" name="edgar2011" href="#edgar2011">#</a> M. J. Edgar. <strong><a href="https://web.archive.org/web/20240725011033/https://digitalcommons.dartmouth.edu/cgi/viewcontent.cgi?article=1071&context=senior_theses">Static Analysis for Ruby in the Presence of Gradual Typing</a></strong>. Bachelor’s thesis, 2011.</p> <p><a class="paper" name="furr2009b" href="#furr2009b">#</a> M. Furr, J. An, J. S. Foster, M. Hicks. <strong><a href="https://web.archive.org/web/20240725011033/http://www.cs.umd.edu/projects/PL/druby/papers/drails-ase09.pdf">Static Typing for Ruby on Rails</a></strong>. In Proceedings of the 24th Annual ACM Symposium on Applied Computing, 2009.</p> <p><a class="paper" name="furr2009a" href="#furr2009a">#</a> M. Furr, J. An, J. S. Foster. <strong><a href="https://web.archive.org/web/20240725011033/http://www.cs.umd.edu/projects/PL/druby/papers/druby-pilot-plateau09.pdf">Work In Progress: an Empirical Study of Static Typing in Ruby</a></strong>. In Proceedings of the PLATEAU Workshop on Evaluation and Usability of Programming Languages and Tools, 2009.</p> <p><a class="paper" name="daly2009" href="#daly2009">#</a> M. Daly, V. Sazawal, J. S. Foster. <strong><a href="https://web.archive.org/web/20240725011033/http://www.cs.umd.edu/projects/PL/druby/papers/druby-oopsla09.pdf">Profile-Guided Static Typing for Dynamic Scripting Languages</a></strong>. In Proceedings of the Conference on Object-Oriented Programming, Systems, Languages, and Applications (OOPSLA), 2009.</p> <p><a class="paper" name="an2009" href="#an2009">#</a> J. An, A. Chaudhuri, J. S. Foster. <strong><a href="https://web.archive.org/web/20240725011033/http://www.cs.umd.edu/projects/PL/druby/papers/druby-oops09.pdf">Static Type Inference for Ruby</a></strong>. In Proceedings of the 24th IEEE/ACM International Conference on Automated Software Engineering, 2009.</p> <p><a class="paper" name="madsen2007" href="#madsen2007">#</a> M. Madsen, P. Sørensen, K. Kristensen. <strong><a href="https://web.archive.org/web/20240725011033/https://projekter.aau.dk/projekter/files/61071016/1181807983.pdf">Ecstatic - Type Inference for Ruby Using the Cartesian Product Algorithm</a></strong>. Master’s thesis, Aalborg University, 2007.</p> <h3 id="garbage-collection">Garbage Collection</h3> <p><a class="paper" name="powers2019" href="#powers2019">#</a> B. Powers, D. Tench, E. D. Berger, A. McGregor. <strong><a href="https://web.archive.org/web/20240725011033/https://arxiv.org/pdf/1902.04738.pdf">Mesh: Compacting Memory Management for C/C++ Applications</a></strong>. In Proceedings of the 40th ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI), 2019.</p> <h3 id="tooling">Tooling</h3> <p><a class="paper" name="gaikwad2018" href="#gaikwad2018">#</a> S. Gaikwad, A. Nisbet, M. Luján. <strong><a href="https://web.archive.org/web/20240725011033/https://dl.acm.org/doi/10.1145/3237009.3237019">Performance Analysis for Languages Hosted on the Truffle Framework</a></strong>. In Proceedings of the 15th International Conference on Managed Languages and Runtimes (MANLANG), 2018. <span class="badge badge-warning">TruffleRuby</span> <span class="badge badge-dark">Paywall</span></p> <p><a class="paper" name="kreindl2018" href="#kreindl2018">#</a> J. Kreindl, M. Rigger, H. Mössenböck. <strong><a href="https://web.archive.org/web/20240725011033/https://arxiv.org/pdf/1808.00823.pdf">Debugging Native Extensions of Dynamic Languages</a></strong>. In Proceedings of 15th International Conference on Managed Languages & Runtimes (ManLang), 2018. <span class="badge badge-warning">TruffleRuby</span></p> <p><a class="paper" name="vandevanter2018" href="#vandevanter2018">#</a> M. Van De Vanter, C. Seaton, M. Haupt, C. Humer, T. Würthinger. <strong><a href="https://web.archive.org/web/20240725011033/https://arxiv.org/pdf/1803.10201v1.pdf">Fast, Flexible, Polyglot Instrumentation Support for Debuggers and other Tools</a></strong>. In The Art, Science, and Engineering of Programming, Vol. 2, No. 3, 2018. <span class="badge badge-warning">TruffleRuby</span></p> <p><a class="paper" name="miranda2016" href="#miranda2016">#</a> S. Miranda, E. Rodrigues Jr, M. T. Valente, R. Terra. <strong><a href="https://web.archive.org/web/20240725011033/http://www.sergiohenriquemiranda.com.br/publications/2016_jot.pdf">Architecture Conformance Checking in Dynamically Typed Languages</a></strong>. In the Journal of Object Technology (JOT), 2016. <!-- there's two regional conference papers in 2015 from the same authors, but I don't know the conference - I'm assuming the same content went into this journal paper and I'm including only this one --></p> <p><a class="paper" name="savrunyeniceri2015" href="#savrunyeniceri2015">#</a> G. Savrun-Yeniçeri, M. L. Van de Vanter, P. Larsen, S. Brunthaler. <strong><a href="https://web.archive.org/web/20240725011033/https://dl.acm.org/doi/abs/10.1145/2807426.2807435">An Efficient and Generic Event-based Profiler Framework for Dynamic Languages</a></strong>. In Proceedings of the Principles and Practices of Programming on the Java Platform (PPPJ), 2015. <span class="badge badge-warning">TruffleRuby</span> <span class="badge badge-dark">Paywall</span></p> <p><a class="paper" name="seaton2014" href="#seaton2014">#</a> C. Seaton, M. L. Van De Vanter, M. Haupt. <strong><a href="https://web.archive.org/web/20240725011033/https://www.cristal.univ-lille.fr/dyla14/papers/dyla14-3-Debugging_at_Full_Speed.pdf">Debugging at Full Speed</a>)</strong>. In Proceedings of the 8th Workshop on Dynamic Languages and Applications (DYLA), 2014. (<a href="https://web.archive.org/web/20240725011033/https://web.archive.org/web/20150117042919/https://lafo.ssw.uni-linz.ac.at/truffle/debugging/dyla14-debugging-artifact-0557a4f756d4.tar.gz">source code</a>) <span class="badge badge-warning">TruffleRuby</span></p> <p><a class="paper" name="sunaga2012" href="#sunaga2012">#</a> T. Sunaga, K. Sasada. <strong><a href="https://web.archive.org/web/20240725011033/https://www.jstage.jst.go.jp/article/jssst/29/4/29_4_95/_pdf">Design and Implementation of Real-time Profilers for Scripting Languages</a></strong>. In the JSSST Computer Software (2012). <em>In Japanese</em>. <span class="badge badge-danger">MRI</span></p> <p><a class="paper" name="nijjar2011" href="#nijjar2011">#</a> J. Nijjar, T. Bultan. <strong><a href="https://web.archive.org/web/20240725011033/https://sites.cs.ucsb.edu/~bultan/publications/issta11.pdf">Bounded Verification of Ruby on Rails Data Models</a></strong>. In Proceedings of the 2011 International Symposium on Software Testing and Analysis, 2011.</p> <h3 id="software-engineering">Software Engineering</h3> <p><a class="paper" name="rodrigues2018" href="#rodrigues2018">#</a> E. Rodrigues, R. S. Durelli, R. W. de Bettio, L. Montecchi, R. Terra. <strong><a href="https://web.archive.org/web/20240725011033/https://dl.acm.org/doi/abs/10.1145/3264637.3264645">Refactorings for Replacing Dynamic Instructions with Static Ones: the Case of Ruby</a></strong>. In Proceedings of the XXII Brazilian Symposium on Programming Languages (SBLP), 2018. <em>In Portuguese.</em> <span class="badge badge-dark">Paywall</span></p> <p><a class="paper" name="kikvas2017" href="#kikvas2017">#</a> R. Kikvas, G. Gousious, M. Dumas, D. Pfahl. <strong><a href="https://web.archive.org/web/20240725011033/https://github.com/amilajack/reading/blob/master/Computer_Science/Structure%20and%20Evolution%20of%20Package%20Dependency%20Networks.pdf">Structure and Evolution of Package Dependency Networks</a></strong>. In Proceedings of the 14th International Conference on Mining Software Repositories, 2017.</p> <p><a class="paper" name="salem2016" href="#salem2016">#</a> P. Salem. <strong><a href="https://web.archive.org/web/20240725011033/https://dl.acm.org/doi/abs/10.1145/2889160.2889226">Practical Programming, Validation and Verification with Finite-State Machines: a Library and its Industrial Application</a></strong>. In Proceedings of the 38th International Conference on Software Engineering Companion (ICSE), 2016. <span class="badge badge-dark">Paywall</span></p> <p><a class="paper" name="strickland2014" href="#strickland2014">#</a> T. S. Strickland, B. M. Ren, J. S. Foster. <strong><a href="https://web.archive.org/web/20240725011033/http://www.cs.tufts.edu/~jfoster/papers/dls12.pdf">Contracts for Domain-Specific Languages in Ruby</a></strong>. In Proceedings of the 10th Symposium on Dynamic Languages (DLS), 2014.</p> <p><a class="paper" name="pasquier2014" href="#pasquier2014">#</a> T. F. J.-M. Pasquier, J. Bacon, B. Shand. <strong><a href="https://web.archive.org/web/20240725011033/https://scholar.harvard.edu/files/tfjmp/files/2014modularity.pdf">FlowR: Aspect Oriented Programming for Information Flow Control in Ruby</a></strong>. In Proceedings of the 13th International Conference on Modularity (MODULARITY), 2014.</p> <p><a class="paper" name="pancelet2012" href="#pancelet2012">#</a> T. Poncelet, L. Vigneron. <strong><a href="https://web.archive.org/web/20240725011033/https://raw.githubusercontent.com/phenomenal/rphenomenal/master/public/The_Phenomenal_Gem_Poncelet_Vigneron_2012.pdf">The Phenomenal Gem - Putting Features as a Service on Rails</a></strong>. Master’s thesis, Université Catholique de Louvain, 2012.</p> <p><a class="paper" name="loh2012" href="#loh2012">#</a> A. Loh, W. R. Cook, T. van der Storm. <strong><a href="https://web.archive.org/web/20240725011033/https://www.cs.utexas.edu/~wcook/Drafts/2012/ensodata.pdf">Managed Data: Modular Strategies for Data Abstraction</a></strong>. In Proceedings of <em>Onward!</em>, 2012.</p> <p><a class="paper" name="vanderstorm2012" href="#vanderstorm2012">#</a> T. van der Storm, A. Loh, W. R. Cook. <strong><a href="https://web.archive.org/web/20240725011033/https://www.cs.utexas.edu/~wcook/Drafts/2012/ensogrammars.pdf">Object Grammars: Compositional & Bidirectional Mapping Between Text and Graphs</a></strong>. In Proceedings of the 5th International Conference on Software Language Engineering, 2012.</p> <p><a class="paper" name="mairhofer2011" href="#mairhofer2011">#</a> S. Mairhofer, R. Feldt, R. Torkar, S. Poulding. <strong><a href="https://web.archive.org/web/20240725011033/https://arxiv.org/pdf/1804.09232.pdf">Search-Based Software Testing and Test Data Generation for a Dynamic Programming Language</a></strong>. In Proceedings of the 13th Annual Conference on Genetic and Evolutionary Computation, 2011.</p> <p><a class="paper" name="guenther2010b" href="#guenther2010b">#</a> S. Günther, M. Fischer. <strong><a href="https://web.archive.org/web/20240725011033/https://www.hillside.net/plop/2010/papers/ACMVersions/papers/gunther-1.pdf">Metaprogramming in Ruby - A Pattern Catalog</a></strong>. In Proceedings of the 17th Conference on Pattern Languages of Programs, 2010.</p> <p><a class="paper" name="guenther2010a" href="#guenther2010a">#</a> S. Günther, T. Cleenewerck. <strong><a href="https://web.archive.org/web/20240725011033/https://www.hillside.net/plop/2010/papers/ACMVersions/papers/gunther-2.pdf">Design Principles for Internal Domain-Specific Languages: A Pattern Catalog Illustrated by Ruby</a></strong>. In Proceedings of the 17th Conference on Pattern Languages of Programs, 2010.</p> <p><a class="paper" name="guenther2010c" href="#guenther2010c">#</a> S. Günther, S. Sunkle. <strong><a href="https://web.archive.org/web/20240725011033/https://www.se.cs.uni-saarland.de/apel/FOSD2010/80-guenther.pdf">Dynamically Adaptable Software Product Lines using Ruby Metaprogramming</a></strong>. In Proceedings of the 2nd International Workshop on Feature-Oriented Software Development, 2010.</p> <p><a class="paper" name="guenther2009" href="#guenther2009">#</a> S. Günther, S. Sunkle. <strong><a href="https://web.archive.org/web/20240725011033/https://dl.acm.org/doi/abs/10.1145/1629716.1629721">Feature-Oriented Programming with Ruby</a></strong>. Technical report, 2009.</p> <p><a class="paper" name="guenther2009b" href="#guenther2009b">#</a> S. Günther, S. Sunkle. <strong><a href="https://web.archive.org/web/20240725011033/https://www.inf.ovgu.de/inf_media/downloads/forschung/technical_reports_und_preprints/2009/2009_internet/TechReport16-p-2226.pdf">Enabling Feature-Oriented Programming in Ruby</a></strong>. In Proceedings of the 1st International Workshop on Feature-Oriented Software Development, 2009. <span class="badge badge-dark">Paywall</span></p> <p><a class="paper" name="oritz08" href="#oritz08">#</a> A. Oritz. <strong><a href="https://web.archive.org/web/20240725011033/http://34.212.143.74/publicaciones/sif.pdf">Language Design and Implementation Using Ruby and the Interpreter Pattern</a></strong>. In Proceedings of the 39th SIGCSE Technical Symposium on Computer Science Education, 2008.</p> <p><a class="paper" name="geebelen2008" href="#geebelen2008">#</a> K. Geebelen, S. Michiels, W. Joosen. <strong><a href="https://web.archive.org/web/20240725011033/https://dl.acm.org/doi/abs/10.1145/1462802.1462811">Dynamic Reconfiguration Using Template Based Web Service Composition</a></strong>. In Proceedings of the 3rd Workshop on Middleware for Service Oriented Computing, 2008. <span class="badge badge-dark">Paywall</span></p> <p><a class="paper" name="sheehan07" href="#sheehan07">#</a> R. J. Scheehan. <strong><a href="https://web.archive.org/web/20240725011033/https://dl.acm.org/doi/10.1145/1268784.1268798">Teaching Operating Systems With Ruby</a></strong>. In Proceedings of the 12th Annual SIGCSE Conference on Innovation and Technology in Computer Science Education, 2007. <span class="badge badge-dark">Paywall</span></p> <h3 id="security">Security</h3> <p><a class="paper" name="near2016" href="#near2016">#</a> J. P. Near, D. Jackson. <strong><a href="https://web.archive.org/web/20240725011033/https://dspace.mit.edu/bitstream/handle/1721.1/102281/jnear-icse16.pdf">Finding Security Bugs in Web Applications using a Catalog of Access Control Patterns</a></strong>. In Proceedings of the 38th International Conference on Software Engineering, 2016.</p> <p><a class="paper" name="chaudhuri2010" href="#chaudhuri2010">#</a> A. Chaudhuri, J. Foster. <strong><a href="https://web.archive.org/web/20240725011033/https://cseweb.ucsd.edu/~dstefan/cse291-winter18/papers/rubyx.pdf">Symbolic Security Analysis of Ruby-on-Rails Web Applications</a></strong>. In Proceedings of the 17th Conference on Computer and Communications Security, 2010.</p> <h3 id="computer-vision">Computer Vision</h3> <p><a class="paper" name="wedekind2012" href="#wedekind2012">#</a> J. Wedekind. <strong><a href="https://web.archive.org/web/20240725011033/https://s3-eu-west-1.amazonaws.com/pfigshare-u-files/143003/thesis_wedekind.pdf">Efficient Implementations of Machine Vision Algorithms using a Dynamically Typed Programming Language</a></strong>. PhD thesis, 2012.</p> <h3 id="bioinformatics">Bioinformatics</h3> <p><a class="paper" name="smith2013" href="#smith2013">#</a> R. Smith, R. Williamson, D. Ventura, J. T. Prince. <strong><a href="https://web.archive.org/web/20240725011033/https://jcheminf.biomedcentral.com/track/pdf/10.1186/1758-2946-5-35.pdf">Rubabel: wrapping open Babel with Ruby</a></strong>. Journal of Cheminformatics, 5(1), 35, 2013.</p> <p><a class="paper" name="goto2010" href="#goto2010">#</a> N. Goto, P. Prins, M. Nakao, R. Bonnal, J. Aerts, T. Katayama. <strong><a href="https://web.archive.org/web/20240725011033/https://www.ncbi.nlm.nih.gov/pmc/articles/PMC2951089/pdf/btq475.pdf">Bioruby: bioinformatics software for the Ruby programming language</a></strong>. Bioinformatics, 26(20):2617–9, Oct 2010.</p> <h3 id="robotics">Robotics</h3> <p><a class="paper" name="roman2007" href="#roman2007">#</a> B. Roman, C. Scholin, S. Jensen, E. Massion, R. Marin III, C. Preston, D. Greenfield, W. Jones, K. Wheeler. <strong><a href="https://web.archive.org/web/20240725011033/https://journals.sagepub.com/doi/pdf/10.1016/j.jala.2006.07.013">Controlling a Robotic Marine Environmental Sampler with the Ruby Scripting Language</a></strong>. JALA - Journal of the Association for Laboratory Automation, 12(1), 56-61, 2007.</p> <h3 id="electronic-design-automation">Electronic Design Automation</h3> <p><a class="paper" name="lelann2020" href="#lelann">#</a> J-C. Le Lann, H. Badier, F. Kermarrec. <strong><a href="https://web.archive.org/web/20240725011033/https://arxiv.org/abs/2004.09858">Towards a Hardware DSL Ecosystem : RubyRTL and friends</a></strong>. OSDA - Open Source Design Automation workshop, collocated with DATE Conference, Design Automation and Test in Europe, 2020.</p> <h3 id="modeling-and-simulation">Modeling and Simulation</h3> <p><a class="paper" name="cuadrado2006" href="#cuadrado2006">#</a> J. S. Cuadrado, J. G. Molina, M. M. Tortosa. <strong><a href="https://web.archive.org/web/20240725011033/https://link.springer.com/chapter/10.1007/11787044_13">RubyTL: A Practical, Extensible Transformation Language</a></strong>. Model Driven Architecture - Foundations and Applications, 2006. <span class="badge badge-dark">Paywall</span></p> <h2 id="standards">Standards</h2> <p><a class="paper" name="iso" href="#iso">#</a> IPA Ruby Standardization WG. <strong><a href="https://web.archive.org/web/20240725011033/https://www.iso.org/standard/59579.html">ISO/IEC 30170:2012 Information technology — Programming languages — Ruby</a></strong>. The Ruby ISO standard, 2012. <span class="badge badge-dark">Paywall</span></p> <footer class="jumbotron"> <p>All paper links were publicly available.</p> <p>Compiled by <a href="https://web.archive.org/web/20240725011033/https://chrisseaton.com/">Chris Seaton</a> and others.</p> <p>Icon made by <a href="https://web.archive.org/web/20240725011033/https://www.flaticon.com/authors/icon-pond" title="Icon Pond">Icon Pond</a> from <a href="https://web.archive.org/web/20240725011033/https://www.flaticon.com/" title="Flaticon">www.flaticon.com</a> is licensed by <a href="https://web.archive.org/web/20240725011033/https://creativecommons.org/licenses/by/3.0/" title="Creative Commons BY 3.0" target="_blank">CC 3.0 BY</a>.</p> <p>Contributions appreciated — <a href="https://web.archive.org/web/20240725011033/https://github.com/rubybib/rubybib.org">fork on GitHub</a>.</p> </footer> <!-- Global site tag (gtag.js) - Google Analytics --> <script async src="https://web.archive.org/web/20240725011033js_/https://www.googletagmanager.com/gtag/js?id=G-59ZQ0DT4EB"></script> <script> window.dataLayer = window.dataLayer || []; function gtag(){dataLayer.push(arguments);} gtag('js', new Date()); gtag('config', 'G-59ZQ0DT4EB'); </script> </body> </html> <!-- FILE ARCHIVED ON 01:10:33 Jul 25, 2024 AND RETRIEVED FROM THE INTERNET ARCHIVE ON 23:33:25 Nov 27, 2024. JAVASCRIPT APPENDED BY WAYBACK MACHINE, COPYRIGHT INTERNET ARCHIVE. ALL OTHER CONTENT MAY ALSO BE PROTECTED BY COPYRIGHT (17 U.S.C. SECTION 108(a)(3)). --> <!-- playback timings (ms): captures_list: 0.501 exclusion.robots: 0.027 exclusion.robots.policy: 0.017 esindex: 0.009 cdx.remote: 11.693 LoadShardBlock: 183.469 (3) PetaboxLoader3.datanode: 100.556 (4) PetaboxLoader3.resolve: 126.403 (2) load_resource: 110.471 -->