Refinement Types for Ruby

التفاصيل البيبلوغرافية
العنوان: Refinement Types for Ruby
المؤلفون: Kazerounian, Milod, Vazou, Niki, Bourgerie, Austin, Foster, Jeffrey S., Torlak, Emina
سنة النشر: 2017
المجموعة: Computer Science
مصطلحات موضوعية: Computer Science - Programming Languages
الوصف: Refinement types are a popular way to specify and reason about key program properties. In this paper, we introduce RTR, a new system that adds refinement types to Ruby. RTR is built on top of RDL, a Ruby type checker that provides basic type information for the verification process. RTR works by encoding its verification problems into Rosette, a solver-aided host language. RTR handles mixins through assume-guarantee reasoning and uses just-in-time verification for metaprogramming. We formalize RTR by showing a translation from a core, Ruby-like language with refinement types into Rosette. We apply RTR to check a range of functional correctness properties on six Ruby programs. We find that RTR can successfully verify key methods in these programs, taking only a few minutes to perform verification.
نوع الوثيقة: Working Paper
URL الوصول: http://arxiv.org/abs/1711.09281
رقم الأكسشن: edsarx.1711.09281
قاعدة البيانات: arXiv