TY - GEN
T1 - Tyche
T2 - 36th Annual ACM Symposium on User Interface Software and Technology, UIST 2023
AU - Goldstein, Harrison
AU - Pierce, Benjamin C.
AU - Head, Andrew
N1 - Publisher Copyright:
© 2023 Owner/Author.
PY - 2023/10/29
Y1 - 2023/10/29
N2 - Automated testing tools have adapted to increasing program complexity by reducing the user's role in the testing process. Approaches like property-based testing supplement traditional unit-testing with a mode declarative approach: rather than write traditional input-output examples, the user writes executable specifications of their programs. The testing framework then exercises those specifications with randomly generated values. However, more automated approaches to testing risk hiding too much from the user. Current property-based testing frameworks give insufficient feedback about the specific values that were used to test a given program and about the distributional trends in those values. In the worst case, this lack of visibility process may give users false confidence, encouraging them to believe their testing was thorough when, in fact, it had critical gaps. We demonstrate Tyche, an editor extension that recovers visibility into the property-based testing process. Tyche provides an interactive interface for understanding testing effectiveness, surfacing both "pre-testing"information about test inputs and their distributions and "post-testing"information like code coverage. The extension is designed to work out of the box with tests written in Python's popular Hypothesis framework, so users can immediately start using it to improve their testing.
AB - Automated testing tools have adapted to increasing program complexity by reducing the user's role in the testing process. Approaches like property-based testing supplement traditional unit-testing with a mode declarative approach: rather than write traditional input-output examples, the user writes executable specifications of their programs. The testing framework then exercises those specifications with randomly generated values. However, more automated approaches to testing risk hiding too much from the user. Current property-based testing frameworks give insufficient feedback about the specific values that were used to test a given program and about the distributional trends in those values. In the worst case, this lack of visibility process may give users false confidence, encouraging them to believe their testing was thorough when, in fact, it had critical gaps. We demonstrate Tyche, an editor extension that recovers visibility into the property-based testing process. Tyche provides an interactive interface for understanding testing effectiveness, surfacing both "pre-testing"information about test inputs and their distributions and "post-testing"information like code coverage. The extension is designed to work out of the box with tests written in Python's popular Hypothesis framework, so users can immediately start using it to improve their testing.
UR - https://www.scopus.com/pages/publications/85178253267
U2 - 10.1145/3586182.3615788
DO - 10.1145/3586182.3615788
M3 - Conference contribution
AN - SCOPUS:85178253267
T3 - UIST 2023 Adjunct - Adjunct Proceedings of the 36th Annual ACM Symposium on User Interface Software and Technology
BT - UIST 2023 Adjunct - Adjunct Proceedings of the 36th Annual ACM Symposium on User Interface Software and Technology
PB - Association for Computing Machinery, Inc
Y2 - 29 October 2023 through 1 November 2023
ER -