Static Typing for Ruby on Rails
Static Typing for Ruby on Rails
Files
Publication or External Link
Date
2010-01-27
Authors
An, Jong-hoon (David)
Chaudhuri, Avik
Foster, Jeffrey S.
Advisor
Citation
DRUM DOI
Abstract
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 help make Rails development extremely
lightweight, this comes at a cost: Ruby is dynamically
typed, and so type errors in a Rails application can 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.