Cost-Effective Testing of MPC Compilers
Sebastian Watzinger, Valentin Wüstholz, Deepak Garg, Maria Christakis
Abstract
Secure multi-party computation (MPC) enables privacy-preserving computations using secret data, with applications ranging from health care and finance to machine learning and blockchains. MPC compilers translate high-level function descriptions to the low-level representations required for the actual execution, making them critical for both usability and scalability of MPC. However, these compilers may contain logic bugs that cause them to quietly produce wrong outputs, the consequences of which could be catastrophic given the sensitive applications of this technology. Testing MPC compilers in order to find these severe bugs is, therefore, paramount.
With only a single testing tool currently available (which is not publicly available in its entirety and has several serious limitations), this issue is far from resolved. In this paper, we present BabelFuzz, a cost-effective framework for testing MPC compilers. By introducing an expressive intermediate representation (IR) for its seed-program generation, BabelFuzz is able to support multiple compilers that use different input languages, while keeping the development effort of adding new targets low. Even better, this approach allows us to translate our IR to mainstream languages, which provides a powerful differential-testing oracle for highly efficient bug detection.
BabelFuzz not only found 27 new logic bugs across four MPC compilers, but it is also able to rediscover every fixed bug the previous state of the art in testing MPC compilers found.
CCS Concepts: • Software and its engineering → Software testing and debugging.
Ask about this paper
Your agent reads all of it.
Lune indexed this paper to the last equation, along with the top-tier papers that cite it. Ask a question and the answer quotes them.
Your agent calls
Luneget_paper_fulltext
Free to start. No credit card required.
Terminal
Install the CLIlune papers fulltext e2c544a2-d3e9-4ab2-947e-5656e8bf0616Builds on22
- Fuzz4All: Universal Fuzzing with Large Language ModelsChunqiu Steven Xia, Matteo Paltenghi, Jia Le Tian, Michael Pradel et al.ICSE 2024 · 155 citations
- Random testing for C and C++ compilers with YARPGenVsevolod Livinskii, Dmitry Babokin, John RegehrOOPSLA 2020 · 140 citations
- Secure Quantized Training for Deep LearningMarcel Keller, Ke SunICML 2022 · 84 citations
- Validating SMT solvers via semantic fusionDominik Winterer, Chengyu Zhang, Zhendong SuPLDI 2020 · 80 citations
- CirC: Compiler infrastructure for proof systems, software verification, and moreAlex Ozdemir, Fraser Brown, Riad S. WahbyS&P 2022 · 60 citations
Related papers
- Metamorphic Testing of Secure Multi-party Computation (MPC) CompilersYichen Li, Dongwei Xiao, Zhibo Liu, Qi Pang et al.FSE 2024 · 5 citations
- MPCDiff: Testing and Repairing MPC-Hardened Deep Learning ModelsQi Pang, Yuanyuan Yuan, Shuai WangNDSS 2024
- MTZK: Testing and Exploring Bugs in Zero-Knowledge (ZK) CompilersDongwei Xiao, Zhibo Liu, Yiteng Peng, Shuai WangNDSS 2025
- One Engine to Fuzz 'em All: Generic Language Processor Testing with Semantic ValidationYongheng Chen, Rui Zhong, Hong Hu, Hangfan Zhang et al.S&P 2021 · 70 citations
- Smaug: Modular Augmentation of LLVM for MPCRadhika Garg, Xiao WangS&P 2025
