English
Related papers

Related papers: Polymorphic Coverage Types

200 papers

Coverage Types provide a suitable type mechanism that integrates under-approximation logic to support Property-Based Testing. They are used to type the return value of a function that represents an input test generator. This allows us to…

Logic in Computer Science · Computer Science 2025-02-25 Angelo Passarelli , Gian-Luigi Ferrari

Property-based testing (PBT) is a popular technique for automatically testing semantic properties of a program, specified as a pair of pre- and post-conditions. The efficacy of this approach depends on being able to quickly generate inputs…

Programming Languages · Computer Science 2025-10-07 Patrick LaFontaine , Zhe Zhou , Ashish Mishra , Suresh Jagannathan , Benjamin Delaware

A coverage type generalizes refinement types found in many functional languages with support for must-style underapproximate reasoning. Property-based testing frameworks are one particularly useful domain where such capabilities are useful…

Programming Languages · Computer Science 2025-09-03 Zhe Zhou , Benjamin Delaware , Suresh Jagannathan

We present an automated framework for solidifying the cohesion between software specifications, their dependently typed models, and implementation at compile time. Model Checking and type checking are currently separate techniques for…

Programming Languages · Computer Science 2024-07-18 Thomas Ekström Hansen , Edwin Brady

In model-based testing (MBT) we may have to deal with a non-deterministic model, e.g. because abstraction was applied, or because the software under test itself is non-deterministic. The same test case may then trigger multiple possible…

Software Engineering · Computer Science 2019-09-13 I. S. W. B. Prasetya , Rick Klomp

Property-based testing (PBT) is a technique for validating code against an executable specification by automatically generating test-data. We present a proof-theoretical reconstruction of this style of testing for relational specifications…

Logic in Computer Science · Computer Science 2025-01-22 Dale Miller , Alberto Momigliano

A type system is introduced for a generic Object Oriented programming language in order to infer resource upper bounds. A sound andcomplete characterization of the set of polynomial time computable functions is obtained. As a consequence,…

Programming Languages · Computer Science 2018-02-20 Emmanuel Hainry , Romain Péchoux

We present a method for synthesizing recursive functions that provably satisfy a given specification in the form of a polymorphic refinement type. We observe that such specifications are particularly suitable for program synthesis for two…

Programming Languages · Computer Science 2016-04-22 Nadia Polikarpova , Ivan Kuraj , Armando Solar-Lezama

Software Model Checkers have shown outstanding performance improvements in recent times. Moreover, for specific use cases, formal verification techniques have shown to be highly effective, leading to a number of high-profile success…

Software Engineering · Computer Science 2017-06-14 Rodrigo Castaño , Victor Braberman , Diego Garbervetsky , Sebastian Uchitel

Property-based testing validates software against an executable specification by evaluating it on randomly generated inputs. The standard way that PBT users generate test inputs is via generators that describe how to sample test inputs…

Programming Languages · Computer Science 2025-11-18 Ryan Tjoa , Poorva Garg , Harrison Goldstein , Todd Millstein , Benjamin Pierce , Guy Van den Broeck

Bidirectional typechecking, in which terms either synthesize a type or are checked against a known type, has become popular for its applicability to a variety of type systems, its error reporting, and its ease of implementation. Following…

Programming Languages · Computer Science 2020-09-22 Jana Dunfield , Neelakantan R. Krishnaswami

Among the biggest challenges in property-based testing (PBT) is the constrained random generation problem: given a predicate on program values, randomly sample from the set of all values satisfying that predicate, and only those values.…

Programming Languages · Computer Science 2026-04-15 Harrison Goldstein , Hila Peleg , Cassia Torczon , Daniel Sainati , Leonidas Lampropoulos , Benjamin C. Pierce

Metamorphic testing (MT) is a general approach for the testing of a specific kind of software systems -- so-called ``non-testable'', where the ``classical'' testing approaches are difficult to apply. MT is an effective approach for…

Software Engineering · Computer Science 2022-11-23 Nasser Alzahrani , Maria Spichkova , James Harland

A type system combining type application, constants as types, union types (associative, commutative and idempotent) and recursive types has recently been proposed for statically typing path polymorphism, the ability to define functions that…

Logic in Computer Science · Computer Science 2020-06-30 Juan Edi , Andrés Viso , Eduardo Bonelli

Automated unit test generation is an established research field that has so far focused on statically-typed programming languages. The lack of type information in dynamically-typed programming languages, such as Python, inhibits test…

Software Engineering · Computer Science 2025-07-03 Lukas Krodinger , Stephan Lukasczyk , Gordon Fraser

Parser generators generate translators from language specifications. In many cases, such specifications contain semantic actions written in the same language as the generated code. Since these actions are subject to little static checking,…

Programming Languages · Computer Science 2010-02-09 Andrey Breslav

Search-based test generators are effective at producing unit tests with high coverage. However, such automatically generated tests have no meaningful test and variable names, making them hard to understand and interpret by developers. On…

Software Engineering · Computer Science 2025-06-12 Matteo Biagiola , Gianluca Ghislotti , Paolo Tonella

In the context of software testing, generating complex data inputs is frequently performed using a grammar-based specification. For combinatorial reasons, an exhaustive generation of the data -- of a given size -- is practically impossible,…

Software Engineering · Computer Science 2013-11-27 Alois Dreyfus , Pierre-Cyrille Heam , Olga Kouchnarenko

Property-based testing (PBT) is a popular technique for establishing confidence in software, where users write properties -- i.e., executable specifications -- that can be checked many times in a loop by a testing framework. In modern PBT…

Software Engineering · Computer Science 2026-02-24 Alperen Keles , Justine Frank , Ceren Mert , Harrison Goldstein , Leonidas Lampropoulos

With the accelerating development of quantum technologies and their growing computational potential, quantum systems are being adapted for simulations and other critical tasks across diverse domains, making the reliability of the…

Software Engineering · Computer Science 2026-05-06 Maryse Ernzer , Seung Yeob Shin , Fabrizio Pastore , Domenico Bianculli
‹ Prev 1 2 3 10 Next ›