• DocumentCode
    1850872
  • Title

    Static Typing for Ruby on Rails

  • Author

    An, Jong-hoon ; Chaudhuri, Avik ; Foster, Jeffrey S.

  • Author_Institution
    Comput. Sci. Dept., Univ. of Maryland, College Park, MD, USA
  • fYear
    2009
  • fDate
    16-20 Nov. 2009
  • Firstpage
    590
  • Lastpage
    594
  • 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 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.
  • Keywords
    Internet; authoring languages; object-oriented languages; program debugging; program diagnostics; program interpreters; software maintenance; Rails program translation; Ruby on Rails; Web application framework; object-oriented scripting language; static type inference system; static typing; Application software; Computer bugs; Computer science; Costs; Educational institutions; Object oriented modeling; Rails; Software engineering; USA Councils; Vehicle crash testing; Ruby; Ruby on Rails; scripting languages; type systems; web frameworks;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Automated Software Engineering, 2009. ASE '09. 24th IEEE/ACM International Conference on
  • Conference_Location
    Auckland
  • ISSN
    1938-4300
  • Print_ISBN
    978-1-4244-5259-0
  • Electronic_ISBN
    1938-4300
  • Type

    conf

  • DOI
    10.1109/ASE.2009.80
  • Filename
    5431729