ANNOUNCEMENT

NOBEL PRIZE 2026

This year's laureates, their fields, and the discoveries that earned them the prize.Live nowSee the winners
Moonbase
← Back to Awards
NSFDirectorate for Computer and Information Science and Engineering

SHF: Medium: Usable Property-Based Testing

Active
Institution
University of Pennsylvania, PA
Principal investigator
Benjamin C Pierce
Funding
$1.0M
Duration
2024–2027
Open portfolio

Moonbase score

Still being scored

Abstract

Property-based testing (PBT) is a contemporary software engineering methodology in which users write executable formal specifications of system components and an automated test harness checks these specifications against many automatically generated inputs. PBT has become the testing method of choice across much of the functional programming community, and it is making inroads into industrial practice at companies such as Amazon, Volvo, Strip, Galois, and IOG. However, one thing remains a significant concern: A recent need-finding study of professional software developers who use PBT revealed great enthusiasm about the usefulness of PBT but frustration with its usability. This project’s impacts are accelerating the adoption of PBT by amplifying its power and solving key usability issues. To achieve these impacts, the project advances, in parallel, the tools developers use to write specifications, generate random inputs, and assess the strength of their test suites. The project’s novelties are the development of more configurable (“reflective”) generators, specification languages, and in-editor interfaces for visualizing and tuning distributions of generated inputs. In addition, this project launches new curricula for teaching mature and powerful PBT practices in the undergraduate and master’s classrooms. The project is developing novel techniques for PBT by bringing together methods from programming languages and human-computer interaction (HCI). First, it is working to establish an understanding of user needs with HCI studies of PBT in industry and real-time observations of developers interacting with PBT tools. Second, it is developing new abstractions for random input generation that enable a range of novel use cases—generating inputs satisfying validity conditions and tuning distributions based on examples or coverage—alongside benchmarks for evaluating PBT tools. Third, it is developing more usable specification tools, including a language for temporal properties over program traces and a programming assistant that helps programmers imagine and implement properties. And fourth, it is contributing new tools for effective interaction between developers on their tests, and in particular tools for visualizing and manipulating generated data distributions. The ultimate goal is to advance the state of the art in PBT and put it on every software developer’s toolbelt. This award reflects NSF's statutory mission and has been deemed worthy of support through evaluation using the Foundation's intellectual merit and broader impacts review criteria.

Research team

  • Benjamin C PiercePI
  • Andrew HeadCo-PI

LOADING MOONBASE SCORE

Directorate for Computer and Information Science and EngineeringSoftware & Hardware FoundationSOFTWARE ENG & FORMAL METHODSMEDIUM PROJECTPROGRAMMING LANGUAGESinputsspecificationsvisualizingdeveloperswritedistributionshciusable

Questions for University of Pennsylvania

Answered by the team behind this research.

Same researchers, same institution, same topic, scored first.