Metamorphic Testing and Debugging of Tax Preparation Software
Saeid Tizpaz-Niari, Verya Monjezi, Morgan Wagner, Shiva Darian,, Krystia Reed, Ashutosh Trivedi

TL;DR
This paper introduces a data-driven metamorphic testing framework for US tax software, leveraging legal precedents to validate correctness and uncover bugs despite the absence of explicit specifications.
Contribution
It proposes a novel metamorphic testing approach using legal doctrine-based relations and visual explanations to improve trustworthiness of tax software.
Findings
Uncovered bugs related to corner-case behavior and eligibility conditions
Validated the effectiveness of metamorphic relations in software testing
Enhanced understanding of tax software behavior through decision-tree explanations
Abstract
This paper presents a data-driven framework to improve the trustworthiness of US tax preparation software systems. Given the legal implications of bugs in such software on its users, ensuring compliance and trustworthiness of tax preparation software is of paramount importance. The key barriers in developing debugging aids for tax preparation systems are the unavailability of explicit specifications and the difficulty of obtaining oracles. We posit that, since the US tax law adheres to the legal doctrine of precedent, the specifications about the outcome of tax preparation software for an individual taxpayer must be viewed in comparison with individuals that are deemed similar. Consequently, these specifications are naturally available as properties on the software requiring similar inputs provide similar outputs. Inspired by the metamorphic testing paradigm, we dub these relations…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Code & Models
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsSoftware Engineering Research · Software Reliability and Analysis Research · Software Testing and Debugging Techniques
