Xiaomu Shi

dblp:14/10262 · DBLP profile ↗
← Back
13ranked-venue papers
2as first author
8since 2021 · last 2026
0000-0001-6277-2813ORCID · corroborated

Domains — the database's venue-derived domains; a paper can count in several

Software engineering, systems software and programming languages · 9 · 2 first-author · 7 since 2021Theory of computation · 6 · 2 first-author · 3 since 2021Security and privacy · 2 · 1 since 2021
YearPublicationVenuePosition
2026 A Formally Verified Procedure for Width Inference in FIRRTL
Keyin Wang, Xiaomu Shi, Jiaxiang Liu 0001, Zhilin Wu, Fu Song, Taolue Chen 0001, David N. Jansen
ESOP (2)2
2024 Automatic Verification of Cryptographic Block Function Implementations with Logical Equivalence Checking
Li-Chang Lai, Jiaxiang Liu 0001, Xiaomu Shi, Ming-Hsien Tsai 0001, Bow-Yaw Wang, Bo-Yin Yang
ESORICS (4)3
2024 Abstraction and Refinement: Towards Scalable and Exact Verification of Neural Networks
abstract
As a new programming paradigm, deep neural networks (DNNs) have been increasingly deployed in practice, but the lack of robustness hinders their applications in safety-critical domains. While there are techniques for verifying DNNs with formal guarantees, they are limited in scalability and accuracy. In this article, we present a novel counterexample-guided abstraction refinement (CEGAR) approach for scalable and exact verification of DNNs. Specifically, we propose a novel abstraction to break down the size of DNNs by over-approximation. The result of verifying the abstract DNN is conclusive if no spurious counterexample is reported. To eliminate each spurious counterexample introduced by abstraction, we propose a novel counterexample-guided refinement that refines the abstract DNN to exclude the spurious counterexample while still over-approximating the original one, leading to a sound, complete yet efficient CEGAR approach. Our approach is orthogonal to and can be integrated with many existing verification techniques. For demonstration, we implement our approach using two promising tools, Marabou and Planet , as the underlying verification engines, and evaluate on widely used benchmarks for three datasets ACAS , Xu , MNIST , and CIFAR-10 . The results show that our approach can boost their performance by solving more problems in the same time limit, reducing on average 13.4%–86.3% verification time of Marabou on almost all the verification tasks, and reducing on average 8.3%–78.0% verification time of Planet on all the verification tasks. Compared to the most relevant CEGAR-based approach, our approach is 11.6–26.6 times faster.
Jiaxiang Liu 0001, Yunhan Xing, Xiaomu Shi, Fu Song, Zhiwu Xu 0001, Zhong Ming 0001
ACM Trans. Softw. Eng. Methodol.3
2023 Certified Verification for Algebraic Abstraction
abstract
Abstract We present a certified algebraic abstraction technique for verifying bit-accurate non-linear integer computations. In algebraic abstraction, programs are lifted to polynomial equations in the abstract domain. Algebraic techniques are employed to analyze abstract polynomial programs; SMT QF_BV solvers are adopted for bit-accurate analysis of soundness conditions. We explain how to verify our abstraction algorithm and certify verification results. Our hybrid technique has verified non-linear computations in various security libraries such as Bitcoin and OpenSSL. We also report the certified verification of Number-Theoretic Transform programs from the post-quantum cryptosystem Kyber.
Ming-Hsien Tsai 0001, Yu-Fu Fu, Jiaxiang Liu 0001, Xiaomu Shi, Bow-Yaw Wang, Bo-Yin Yang
CAV (3)4
2023 CoqCryptoLine: A Verified Model Checker with Certified Results
abstract
Abstract We present the verified model checker CoqCryptoLine for cryptographic programs with certified verification results. The CoqCryptoLine verification algorithm consists of two reductions. The algebraic reduction transforms into a root entailment problem; and the bit-vector reduction transforms into an SMTQF_BV problem. We specify and verify both reductions formally using Coq with MathComp. The CoqCryptoLine tool is built on the OCaml programs extracted from verified reductions. CoqCryptoLine moreover employs certified techniques for solving the algebraic and logic problems. We evaluate CoqCryptoLine on cryptographic programs from industrial security libraries.
Ming-Hsien Tsai 0001, Yu-Fu Fu, Jiaxiang Liu 0001, Xiaomu Shi, Bow-Yaw Wang, Bo-Yin Yang
CAV (2)4
2023 llvm2CryptoLine: Verifying Arithmetic in Cryptographic C Programs
abstract
Correct implementations of cryptographic primitives are essential for modern security. These implementations often contain arithmetic operations involving non-linear computations that are infamously hard to verify. We present llvm2CryptoLine, an automated formal verification tool for arithmetic operations in cryptographic C programs. llvm2CryptoLine successfully verifies 51 arithmetic C programs from industrial cryptographic libraries OpenSSL, wolfSSL and NaCl. Most of the programs are verified fully automatically and efficiently. A screencast that showcases llvm2CryptoLine can be found at https://youtu.be/QXuSmja45VA. Source code is available at https://github.com/fmlab-iis/llvm2cryptoline.
Ruiling Chen, Jiaxiang Liu 0001, Xiaomu Shi, Ming-Hsien Tsai 0001, Bow-Yaw Wang, Bo-Yin Yang
ESEC/SIGSOFT FSE3
2022 MpBP: verifying robustness of neural networks with multi-path bound propagation
abstract
Robustness of neural networks need be guaranteed in many safety-critical scenarios, such as autonomous driving and cyber-physical controlling. In this paper, we present MpBP, a tool for verifying the robustness of neural networks. MpBP is inspired by classical bound propagation methods for neural network verification, and aims to improve the effectiveness by exploiting the notion of propagation paths. Specifically, MpBP extends classical bound propagation methods, including forward bound propagation, backward bound propagation, and forward+backward bound propagation, with multiple propagation paths. MpBP is based on the widely-used PyTorch machine learning framework, hence providing efficient parallel verification on GPUs and user-friendly usage. We evaluate MpBP on neural networks trained on standard datasets MNIST, CIFAR-10 and Tiny ImageNet. The results demonstrate the effectiveness advantage of MpBP beyond two state-of-the-art bound propagation tools LiRPA and GPUPoly, with comparable efficiency to LiRPA and significantly higher efficiency than GPUPoly. A video demonstration that showcases the main features of MpBP can be found at https://youtu.be/3KyPMuPpfR8. Source code is available at https://github.com/formes20/MpBP and https://doi.org/10.5281/zenodo.7029261.
Jiaxiang Liu 0001, Xiaomu Shi
ESEC/SIGSOFT FSE3
2021 CoqQFBV: A Scalable Certified SMT Quantifier-Free Bit-Vector Solver
abstract
Abstract We present a certified SMT QF_BV solver CoqQFBV built from a verified bit blasting algorithm, Kissat, and the verified SAT certificate checker GratChk in this paper. Our verified bit blasting algorithm supports the full QF_BV logic of SMT-LIB; it is specified and formally verified in the proof assistant Coq . We compare CoqQFBV with CVC4, Bitwuzla, and Boolector on benchmarks from the QF_BV division of the single query track in the 2020 SMT Competition, and real-world cryptographic program verification problems. CoqQFBV surprisingly solves more program verification problems with certification than the 2020 SMT QF_BV division winner Bitwuzla without certification.
Xiaomu Shi, Yu-Fu Fu, Jiaxiang Liu 0001, Ming-Hsien Tsai 0001, Bow-Yaw Wang, Bo-Yin Yang
CAV (2)1
2019 Signed Cryptographic Program Verification with Typed CryptoLine
abstract
We develop an automated formal technique to specify and verify signed computation in cryptographic programs. In addition to new instructions, we introduce a type system to detect type errors in programs. A type inference algorithm is also provided to deduce types and instruction variants in cryptographic programs. In order to verify signed cryptographic C programs, we develop a translator from the GCC intermediate representation to our language. Using our technique, we have verified 82 C functions in cryptography libraries including NaCl, wolfSSL, bitcoin, OpenSSL, and BoringSSL.
Yu-Fu Fu, Jiaxiang Liu 0001, Xiaomu Shi, Ming-Hsien Tsai 0001, Bow-Yaw Wang, Bo-Yin Yang
CCS3
2019 Verifying Arithmetic in Cryptographic C Programs
abstract
Cryptographic primitives are ubiquitous for modern security. The correctness of their implementations is crucial to resist malicious attacks. Typical arithmetic computation of these C programs contains large numbers of non-linear operations, hence is challenging existing automatic C verification tools. We present an automated approach to verify cryptographic C programs. Our approach successfully verifies C implementations of various arithmetic operations used in NIST P-224, P-256, P-521 and Curve25519 in OpenSSL. During verification, we expose a bug and a few anomalies that have been existing for a long time. They have been reported to and confirmed by the OpenSSL community. Our results establish the functional correctness of these C implementations for the first time.
Jiaxiang Liu 0001, Xiaomu Shi, Ming-Hsien Tsai 0001, Bow-Yaw Wang, Bo-Yin Yang
ASE2
2015 Towards Verified Faithful Simulation
Vania Joloboff, Jean-François Monin, Xiaomu Shi
SETTA3
2013 Handcrafted Inversions Made Operational on Operational Semantics
Jean-François Monin, Xiaomu Shi
ITP2
2011 First Steps towards the Certification of an ARM Simulator Using Compcert
Xiaomu Shi, Jean-François Monin, Frédéric Tuong, Frédéric Blanqui
CPP1