中文
相关论文

相关论文: Refinement Types for Ruby

200 篇论文

Refinement types enrich a language's type system with logical predicates that circumscribe the set of values described by the type, thereby providing software developers a tunable knob with which to inform the type system about what…

编程语言 · 计算机科学 2020-10-16 Ranjit Jhala , Niki Vazou

Refinement transforms an abstract system model into a concrete, executable program, such that properties established for the abstract model carry over to the concrete implementation. Refinement has been used successfully in the development…

计算机科学中的逻辑 · 计算机科学 2023-11-27 Aurel Bílý , João C. Pereira , Jan Schär , Peter Müller

We present a new type system combining occurrence typing, previously used to type check programs in dynamically-typed languages such as Racket, JavaScript, and Ruby, with dependent refinement types. We demonstrate that the addition of…

编程语言 · 计算机科学 2016-10-05 Andrew M. Kent , David Kempe , Sam Tobin-Hochstadt

We present Refined TypeScript (RSC), a lightweight refinement type system for TypeScript, that enables static verification of higher-order, imperative programs. We develop a formal core of RSC that delineates the interaction between…

编程语言 · 计算机科学 2016-04-12 Panagiotis Vekris , Benjamin Cosman , Ranjit Jhala

Refinement types are a well-studied manner of performing in-depth analysis on functional programs. The dependency pair method is a very powerful method used to prove termination of rewrite systems; however its extension to higher order…

计算机科学中的逻辑 · 计算机科学 2011-01-25 Cody Roux

Practical checkers based on refinement types use the combination of implicit semantic sub-typing and parametric polymorphism to simplify the specification and automate the verification of sophisticated properties of programs. However, a…

编程语言 · 计算机科学 2022-07-13 Michael Borkowski , Niki Vazou , Ranjit Jhala

Refinement types turn typechecking into lightweight verification. The classic form of refinement type is the datasort refinement, in which datasorts identify subclasses of inductive datatypes. Existing type systems for datasort refinements…

编程语言 · 计算机科学 2020-11-17 Jana Dunfield

We introduce Flux, which shows how logical refinements can work hand in glove with Rust's ownership mechanisms to yield ergonomic type-based verification of low-level pointer manipulating programs. First, we design a novel refined type…

编程语言 · 计算机科学 2022-11-15 Nico Lehmann , Adam Geller , Niki Vazou , Ranjit Jhala

Many researchers have explored ways to bring static typing to dynamic languages. However, to date, such systems are not precise enough when types depend on values, which often arises when using certain Ruby libraries. For example, the type…

编程语言 · 计算机科学 2019-04-09 Milod Kazerounian , Sankha Narayan Guria , Niki Vazou , Jeffrey S. Foster , David Van Horn

We introduce a new methodology based on refinement for testing the functional correctness of hardware and low-level software. Our methodology overcomes several major drawbacks of the de facto testing methodologies used in industry: (1) it…

计算机科学中的逻辑 · 计算机科学 2017-03-17 Mitesh Jain , Panagiotis Manolios

This work introduces the novel concept of kind refinement, which we develop in the context of an explicitly polymorphic ML-like language with type-level computation. Just as type refinements embed rich specifications by means of…

编程语言 · 计算机科学 2019-08-02 Luís Caires , Bernardo Toninho

We present {\lambda}ert, a type theory supporting refinement types with explicit proofs. Instead of solving refinement constraints with an SMT solver like DML and Liquid Haskell, our system requires and permits programmers to embed proofs…

编程语言 · 计算机科学 2023-11-27 Jad Elkhaleq Ghalayini , Neel Krishnaswami

Refinement types -- types qualified with logical predicates -- have proven effective for lightweight verification in languages like Liquid Haskell, F*, and Dafny. However, in these systems refinements are either written in a separate…

编程语言 · 计算机科学 2026-05-12 Matt Bovel , Viktor Kunčak , Martin Odersky

When scripts in untyped languages grow into large programs, maintaining them becomes difficult. A lack of explicit type annotations in typical scripting languages forces programmers to must (re)discover critical pieces of design information…

编程语言 · 计算机科学 2011-06-15 Sam Tobin-Hochstadt , Matthias Felleisen

Refinement types decorate types with assertions that enable automatic verification. Like assertions, refinements are limited to binders that are in scope, and hence, cannot express higher-order specifications. Ghost variables circumvent…

编程语言 · 计算机科学 2021-05-06 Anish Tondwalkar , Matthew Kolosick , Ranjit Jhala

Dynamic languages such as Ruby, Python, and JavaScript have many compelling benefits, but the lack of static types means subtle errors can remain latent in code for a long time. While many researchers have developed various systems to bring…

编程语言 · 计算机科学 2016-04-14 Brianna M. Ren , Jeffrey S. Foster

We present a new technique called type targeted testing, which translates precise refinement types into comprehensive test-suites. The key insight behind our approach is that through the lens of SMT solvers, refinement types can also be…

编程语言 · 计算机科学 2017-08-29 Eric L. Seidel , Niki Vazou , Ranjit Jhala

Algorithmic and data refinement are well studied topics that provide a mathematically rigorous approach to gradually introducing details in the implementation of software. Program refinements are performed in the context of some programming…

编程语言 · 计算机科学 2016-06-08 Jason Koenig , K. Rustan M. Leino

Refinement types sharpen systems of simple and dependent types by offering expressive means to more precisely classify well-typed terms. We present a system of refinement types for LF in the style of recent formulations where only canonical…

编程语言 · 计算机科学 2015-07-01 William Lovas , Frank Pfenning

Model-driven design of software for safety-critical applications often relies on mathematically grounded techniques such as the B method. Such techniques consist in the successive applications of refinements to derive a concrete…

软件工程 · 计算机科学 2009-07-14 David Deharbe , Bruno E. G. Gomes , Anamaria M. Moreira
‹ 上一页 1 2 3 10 下一页 ›