PIPages
Labs

Benjamin Pierce

University of Pennsylvania, PA·Computer Science

How can programmers check that their software really does what it should? Property-based testing (PBT) is one answer.

Fields

Computer Science

Engineering

Education Research

Topics

property-based testing

software testing

software engineering

Grants
1 known grant, through Apr 2027

What they work on

  1. Study how professional developers use property-based testing through HCI studies in industry and real-time observation of developers working with PBT tools.
  2. Develop reflective random-input generators that can produce inputs meeting validity conditions and tune their distributions from examples or code coverage, along with benchmarks for evaluating PBT tools.
  3. Create more usable specification tools, including a language for temporal properties over program traces and a programming assistant that helps developers devise and implement properties.
  4. Build in-editor interfaces for visualizing and tuning the distribution of generated test inputs and for supporting collaboration between developers on their tests.

More about the research

Developers write executable rules, called properties, describing how a piece of code must behave. A tool then checks those rules against many automatically generated random inputs. PBT is widely used in functional programming and is spreading in industry. But a study of professional developers found that, while they liked its power, they struggled to use it. This project aims to make PBT easier to use and more powerful, combining programming-languages methods with human-computer interaction (HCI), the study of how people use technology.

Why it matters

Software bugs are costly, and better testing helps catch them early. By making property-based testing easier to learn and use, this work could help developers at companies and in open-source projects write more reliable software, and it brings these practices into undergraduate and master's classrooms.

Known grants

From NIH and NSF research grants. Labs often have other funding we can't see.

SHF: Medium: Usable Property-Based Testing

NSF · May 2024 – Apr 2027

Closest labs

Milos Gligoric

University of Texas at Austin, TX·Computer Science

Develop a language and framework for writing fine-grained tests that check individual statements and code fragments inside functions, and evaluate it on open-source projects.

Qirun Zhang

Georgia Institute of Technology, GA·Computer Science·Early-career

Characterize what the InterDyck graph abstraction can and cannot express. This is a graph model of programs with matched-edge patterns that represents program meaning for analysis.

Haijun Xia

University of California-San Diego, CA·Computer Science

Analyze diagrams that programmers produce themselves to identify what qualities make graphics effective and directly manipulable for understanding and changing code.

The school

University of Pennsylvania: 90 labs on PI Pages, $2.2B a year on research, 750 research doctorates a year.

More about University of Pennsylvania

Reach out

A start for your email. Fill in the brackets.