The Ruby programming language 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 and Haskell. Modern research into VMs, compilers and garbage collectors is often based on Java or recently Python.
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. We also list other notable papers that don't mention Ruby but are applied in Ruby implementations.
M. Grimmer, C. Seaton, T. Würthinger, H. Mössenböck. Dynamically Composing Languages in a Modular Way: Supporting C Extensions for Dynamic Languages. In Proceedings of the 14th International Conference on Modularity, 2015 (to appear). JRuby Truffle
A. Wöß, C. Wirth, D. Bonetta, C. Seaton, C. Humer, and H. Mössenböck. An object storage model for the Truffle language implementation framework. In Proceedings of the International Conference on Principles and Practices of Programming on the Java Platform (PPPJ), 2014. JRuby Truffle
M. Furr, J. An, J. S. Foster, and M. Hicks. The Ruby intermediate language. In Proceedings of the Dynamic Language Symposium, 2009.
L. Lu, W. Ji, and M. L. Scott. Dynamic enforcement of determinism in a parallel scripting language. In Proceedings of the 35th Conference on Programming Language Design and Implementation (PLDI), 2014. (source code) JRuby
R. Odaira, J. G. Castanos, and H. Tomari. Eliminating global interpreter locks in Ruby through hardware transactional memory. In Proceedings of the 19th Symposium on Principles and Practice of Parallel Programming (PPoPP), 2014. MRI
W. Ji, L. Lu, and M. L. Scott. TARDIS: Task-level access race detection by intersecting sets. In Proceedings of the 4th Workshop on Determinism and Correctness in Parallel Programming (WoDet), 2013. JRuby
B. M. Ren, J. Toman, T. S. Strickland, and J. S. Foster. The Ruby type checker. In Proceedings of the 28th Symposium on Applied Computing (SAC), 2013.
J. An, A. Chaudhuri, J. S. Foster, and M. Hicks. Dynamic inference of static types for Ruby. In Proceedings of the 38th ACM Symposium on Principles of Programming Languages (POPL), 2011.
M. J. Edgar. Static analysis for Ruby in the presence of gradual typing, 2011.
M. Madsen, P. Sørensen, and K. Kristensen. Ecstatic – type inference for Ruby using the cartesian product algorithm. Master’s thesis, Aalborg University, 2007.
M. Furr, J. An, J. S. Foster, and M. Hicks. Static typing for Ruby on Rails. In Proceedings of the 24th Annual ACM Symposium on Applied Computing, 2009.
M. Furr, J. An, and J. S. Foster. Work in progress: an empirical study of static typing in Ruby. In Proceedings of the 24th Annual Conference on Object-Oriented Programming Systems, Languages, and Applications, 2009.
M. Daly, V. Sazawal, and J. S. Foster. Profile-guided static typing for dynamic scripting languages. In First Workshop on Evaluation and Usability of Programming Languages and Tools, 2009.
J. An, A. Chaudhuri, and J. S. Foster. Static type inference for Ruby. In Proceedings of the 24th IEEE/ACM International Conference on Automated Software Engineering, 2009.
R. Smith, R. Williamson, D. Ventura, and J. T. Prince. Rubabel: wrapping open Babel with Ruby. Journal of Cheminformatics, 5(1), 35, 2013.
N. Goto, P. Prins, M. Nakao, R. Bonnal, J. Aerts, and T. Katayama. Bioruby: bioinformatics software for the Ruby programming language. Bioinformatics, 26(20):2617–9, Oct 2010.
Compiled by Chris Seaton
Contributions appreciated - fork on GitHub