English
Related papers

Related papers: pun: Fun with Properties; Towards a Programming La…

200 papers

Property-based random testing a la QuickCheck requires building efficient generators for well-distributed random data satisfying complex logical predicates, but writing these generators can be difficult and error prone. We propose a…

Programming Languages · Computer Science 2019-10-15 Leonidas Lampropoulos , Diane Gallois-Wong , Catalin Hritcu , John Hughes , Benjamin C. Pierce , Li-yao Xia

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

We propose to extend property-based testing to substructural logics to overcome the current lack of reasoning tools in the field. We take the first step by implementing a property-based testing system for specifications written in the…

Logic in Computer Science · Computer Science 2021-08-04 Marco Mantovani , Alberto Momigliano

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

We introduce the notion of property signatures, a representation for programs and program specifications meant for consumption by machine learning algorithms. Given a function with input type $\tau_{in}$ and output type $\tau_{out}$, a…

Programming Languages · Computer Science 2020-02-24 Augustus Odena , Charles Sutton

Runtime efficiency and termination are crucial properties in the studies of program verification. Instead of dealing with these issues in an ad hoc manner, it would be useful to develop a robust framework in which such properties are…

Programming Languages · Computer Science 2026-04-06 Weijun Chen , Yuxi Fu , Huan Long

In recent years, we observe an increasing amount of software with machine learning components being deployed. This poses the question of quality assurance for such components: how can we validate whether specified requirements are fulfilled…

Software Engineering · Computer Science 2021-05-04 Arnab Sharma , Caglar Demir , Axel-Cyrille Ngonga Ngomo , Heike Wehrheim

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

While hardware generators have drastically improved design productivity, they have introduced new challenges for the task of verification. To effectively cover the functionality of a sophisticated generator, verification engineers require…

Large language models are becoming increasingly practical for translating code across programming languages, a process known as $transpiling$. Even though automated transpilation significantly boosts developer productivity, a key concern is…

Software Engineering · Computer Science 2024-01-31 Hasan Ferit Eniser , Valentin Wüstholz , Maria Christakis

We present CurryCheck, a tool to automate the testing of programs written in the functional logic programming language Curry. CurryCheck executes unit tests as well as property tests which are parameterized over one or more arguments. In…

Programming Languages · Computer Science 2016-08-22 Michael Hanus

In Programming by Example, a system attempts to infer a program from input and output examples, generally by searching for a composition of certain base functions. Performing a naive brute force search is infeasible for even mildly involved…

Artificial Intelligence · Computer Science 2012-09-19 Aditya Krishna Menon , Omer Tamuz , Sumit Gulwani , Butler Lampson , Adam Tauman Kalai

Generating structured input files to test programs can be performed by techniques that produce them from a grammar that serves as the specification for syntactically correct input files. Two interesting scenarios then arise for effective…

Software Engineering · Computer Science 2018-12-20 Esteban Pavese , Ezekiel Soremekun , Nikolas Havrikov , Lars Grunske , Andreas Zeller

Generating valid test inputs for a program is much easier if one knows the input language. We present first successes for a technique that, given a program P without any input samples or models, learns an input grammar that represents the…

Software Engineering · Computer Science 2018-10-22 Rahul Gopinath , Björn Mathis , Mathias Höschele , Alexander Kampmann , Andreas Zeller

We consider a new approach to generate tests from natural language. Rather than relying on machine learning or templated extraction from structured comments, we propose to apply classic ideas from linguistics to translate natural-language…

Software Engineering · Computer Science 2022-02-14 Colin S. Gordon

A program is characterized by its input model, and a formal input model can be of use in diverse areas including vulnerability analysis, reverse engineering, fuzzing and software testing, clone detection and refactoring. Unfortunately,…

Software Engineering · Computer Science 2019-12-13 Rahul Gopinath , Björn Mathis , Andreas Zeller

One of the problems of formal verification is that it is not functionally complete due the incompleteness of specifications. An implementation meeting an incomplete specification may still have a lot of bugs. In testing, this issue is…

Logic in Computer Science · Computer Science 2020-10-14 Eugene Goldberg

Haskell is a popular choice for hosting deeply embedded languages. A recurring challenge for these embeddings is how to seamlessly integrate user defined algebraic data types. In particular, one important, convenient, and expressive feature…

Programming Languages · Computer Science 2022-08-01 Trevor L. McDonell , Joshua D. Meredith , Gabriele Keller

Probabilistic programming languages (PPLs) allow programmers to construct statistical models and then simulate data or perform inference over them. Many PPLs restrict models to a particular instance of simulation or inference, limiting…

Programming Languages · Computer Science 2024-12-24 Minh Nguyen , Roly Perera , Meng Wang , Nicolas Wu

Property Testing is a formal framework to study the computational power and complexity of sampling from combinatorial objects. A central goal in standard graph property testing is to understand which graph properties are testable with…

Data Structures and Algorithms · Computer Science 2025-09-08 Artur Czumaj , Christian Sohler , Stefan Walzer
‹ Prev 1 2 3 10 Next ›