TY - GEN
T1 - Tyche
T2 - 37th Annual ACM Symposium on User Interface Software and Technology, UIST 2024
AU - Goldstein, Harrison
AU - Tao, Jeffrey
AU - Hatfield-Dodds, Zac
AU - Pierce, Benjamin C.
AU - Head, Andrew
N1 - Publisher Copyright: © 2024 Owner/Author.
PY - 2024/10/13
Y1 - 2024/10/13
N2 - Software developers increasingly rely on automated methods to assess the correctness of their code. One such method is property-based testing (PBT), wherein a test harness generates hundreds or thousands of inputs and checks the outputs of the program on those inputs using parametric properties. Though powerful, PBT induces a sizable gulf of evaluation: developers need to put in nontrivial effort to understand how well the different test inputs exercise the software under test. To bridge this gulf, we propose Tyche, a user interface that supports sensemaking around the effectiveness of property-based tests. Guided by a formative design exploration, our design of Tyche supports developers with interactive, configurable views of test behavior with tight integrations into modern developer testing workflow. These views help developers explore global testing behavior and individual test inputs alike. To accelerate the development of powerful, interactive PBT tools, we define a standard for PBT test reporting and integrate it with a widely used PBT library. A self-guided online usability study revealed that Tyche's visualizations help developers to more accurately assess software testing effectiveness.
AB - Software developers increasingly rely on automated methods to assess the correctness of their code. One such method is property-based testing (PBT), wherein a test harness generates hundreds or thousands of inputs and checks the outputs of the program on those inputs using parametric properties. Though powerful, PBT induces a sizable gulf of evaluation: developers need to put in nontrivial effort to understand how well the different test inputs exercise the software under test. To bridge this gulf, we propose Tyche, a user interface that supports sensemaking around the effectiveness of property-based tests. Guided by a formative design exploration, our design of Tyche supports developers with interactive, configurable views of test behavior with tight integrations into modern developer testing workflow. These views help developers explore global testing behavior and individual test inputs alike. To accelerate the development of powerful, interactive PBT tools, we define a standard for PBT test reporting and integrate it with a widely used PBT library. A self-guided online usability study revealed that Tyche's visualizations help developers to more accurately assess software testing effectiveness.
KW - multiple program executions
KW - property-based testing (PBT)
KW - Randomized testing
KW - visual feedback
UR - https://www.scopus.com/pages/publications/85204249665
U2 - 10.1145/3654777.3676407
DO - 10.1145/3654777.3676407
M3 - Conference contribution
T3 - UIST 2024 - Proceedings of the 37th Annual ACM Symposium on User Interface Software and Technology
BT - UIST 2024 - Proceedings of the 37th Annual ACM Symposium on User Interface Software and Technology
PB - Association for Computing Machinery, Inc
Y2 - 13 October 2024 through 16 October 2024
ER -