Trustworthy Distributed Certification of Program Execution
<|reference_start|>Trustworthy Distributed Certification of Program Execution: Verifying the execution of a program is complicated and often limited by the inability to validate the code's correctness. It is a crucial aspect of scientific research, where it is needed to ensure the reproducibility and validity of experimental results. Similarly, in customer software testing, it is difficult for customers to verify that their specific program version was tested or executed at all. Existing state-of-the-art solutions, such as hardware-based approaches, constraint solvers, and verifiable computation systems, do not provide definitive proof of execution, which hinders reliable testing and analysis of program results. In this paper, we propose an innovative approach that combines a prototype programming language called Mona with a certification protocol OCCP to enable the distributed and decentralized re-execution of program segments. Our protocol allows for certification of program segments in a distributed, immutable, and trustworthy system without the need for naive re-execution, resulting in significant improvements in terms of time and computational resources used. We also explore the use of blockchain technology to manage the protocol workflow following other approaches in this space. Our approach offers a promising solution to the challenges of program execution verification and opens up opportunities for further research and development in this area. Our findings demonstrate the efficiency of our approach in reducing the number of program executions compared to existing state-of-the-art methods, thus improving the efficiency of certifying program executions.<|reference_end|>
@article{wolf2024trustworthy,
    title={Trustworthy Distributed Certification of Program Execution},
    author={Alex Wolf, Marco Edoardo Palma, Pasquale Salza, Harald C. Gall},
    journal={arXiv preprint arXiv:2402.13792},
    year={2024},
    archivePrefix={arXiv},
    eprint={2402.13792},
    primaryClass={cs.SE}
}