Metamorphic Testing of ZKC Infrastructure
Zero knowledge proofs gained a lot of attention over the last few years in the security domain. With the rising number of zero knowledge proof languages, the need for compiler testing should also be considered. Since the very early days of programming, automated software testing is an important part of quality management, especially for critical infrastructure such as compilers. In this thesis, we propose and implement a testing framework which utilizes metamorphic testing and evaluate it on the Circom language. Metamorphic testing on zero knowledge proof infrastructure has not been done before and is the main contribution of this work. The proposed framework consists of metamorphic transformers, oracles and two fuzzers which are utilized to generate new test instances and verify them. The experiments revealed new challenges when applying metamorphic testing in this context. The results exposed 3 bugs while covering 33.02% of the lines in the Circom compiler. Additionally, the time consumption of the coverage instrumentations are measured.
Institutions
- TU Wien (AT)
Publication Details
- Journal
- reposiTUm (TU Wien)
- Published
- 2024-09-01
- DOI
- https://doi.org/10.34726/hss.2024.116110
- Primary Topic
- Software Testing and Debugging Techniques
- Type
- article
- Field-Weighted Citation Impact
- 0.00