Testing Secure Multi-Party Computation Compilers

The Hong Kong University of Science and Technology
Department of Computer Science and Engineering


MPhil Thesis Defence


Title: "Testing Secure Multi-Party Computation Compilers"

By

Mr. Yichen LI


Abstract:

The increasing requirement for privacy-preserving computations among multiple 
data owners has driven the significant advancement of secure multi-party 
computation (MPC) protocols. These protocols enable parties to collaboratively 
compute a function over their inputs while ensuring the privacy of those 
inputs. MPC has found widespread application in various realworld sectors that 
require privacy, such as healthcare and finance. To facilitate the adoption of 
MPC, both industrial and academic efforts have resulted in the development of 
MPC compilers, which automatically convert high-level MPC programs into 
low-level executable code.

Translating high-level MPC descriptions into efficient executables is a complex 
task. This process typically involves transforming high-level languages into 
multiple intermediate representations (IR), such as arithmetic or boolean 
circuits, optimizing computational and communication costs, and selecting 
suitable MPC protocols and virtual machines for specific tasks and threat 
models. A variety of optimizations and heuristics are applied during the 
compilation to enhance the efficiency of the resulting MPC executables.

Despite the widespread adoption of MPC compilers in industry and academia, a 
systematic and principled understanding of their correctness is still lacking. 
To address this critical gap, this paper introduces MT-MPC, a metamorphic 
testing (MT) framework specifically designed to uncover erroneous compilations 
in MPC compilers. Our approach introduces three metamorphic relations (MRs) 
tailored for MPC programs, which mutate high-level MPC programs to serve as 
compiler inputs. We then compare the execution results of the original and 
mutated MPC programs to verify if the compilers produce semantics-equivalent 
MPC executables.

Although real-world MPC compilers exhibit a high level of engineering quality, 
our testing identified 4,772 inputs that could lead to erroneous compilations 
in three popular MPC compilers. ix While these error-triggering inputs do not 
cause the compilers to crash, they can generate incorrect MPC executables, 
compromising the reliability of the computations. Through extensive manual 
effort and collaboration with MPC compiler developers, we identified thirteen 
bugs using the error-triggering inputs. Our testing framework and findings 
provide valuable guidance for developers aiming to improve MPC compilers.


Date:                   Wednesday, 31 July 2024

Time:                   5:00pm - 7:00pm

Venue:                  Room 5501
                        Lifts 25/26

Chairman:               Dr. Jiasi SHEN

Committee Members:      Dr. Shuai WANG (Supervisor)
                        Dr. Wei WANG