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

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
Controls
|||
ALL TIME
JAN
FEB
MAR
APR
MAY
JUN
JUL
AUG
SEP
OCT
article

Metamorphic Testing of ZKC Infrastructure

reposiTUm (TU Wien)
Software Testing and Debugging Techniques
article

Metamorphic Testing of ZKC Infrastructure

article en

Abstract

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.

reposiTUm (TU Wien)
TU Wien (AT)
Industry, innovation and infrastructure
Openalex Percentile: Top 57%
Software Testing and Debugging Techniques
AI Navigator

Ask Laika to Summarize, Analyze, and Connect papers live on the map.

Summarize Papers & Methodologies

Extract key findings, datasets, and comparative methods across publications.

Benchmark Rankings & Visual Analytics

Rank top research institutions, authors, funders, topics, and journals by Field-Weighted Citation Impact (FWCI) and paper volume with instant charts.

Connect Distant Disciplines

Bridge topological clusters on the map to find hidden collaborative intersections.