2009 IEEE/ACM International Conference on Automated Software Engineering (2009)
Auckland, New Zealand
Nov. 16, 2009 to Nov. 20, 2009
DOI Bookmark: http://doi.ieeecomputersociety.org/10.1109/ASE.2009.80
Ruby on Rails (or just "Rails") is a popular web application framework built on top of Ruby, an object-oriented scripting language. While Ruby’s powerful features such as dynamic typing help make Rails development extremely lightweight, this comes at a cost. Dynamic typing in particular means that type errors in Rails applications remain latent until run time, making debugging and maintenance harder. In this paper, we describe DRails, a novel tool that brings static typing to Rails applications to detect a range of run time errors. DRails works by translating Rails programs into pure Ruby code in which Rails’s numerous implicit conventions are made explicit. We then discover type errors by applying DRuby, a previously developed static type inference system, to the translated program. We ran DRails on a suite of applications and found that it was able to detect several previously unknown errors.
Ruby, Ruby on Rails, scripting languages, type systems, web frameworks
J. An, A. Chaudhuri and J. S. Foster, "Static Typing for Ruby on Rails," 2009 IEEE/ACM International Conference on Automated Software Engineering(ASE), Auckland, New Zealand, 2009, pp. 590-594.