
Ximeng LiCapital Normal University
Ximeng Li
About
36
Publications
2,236
Reads
How we measure 'reads'
A 'read' is counted each time someone views a publication summary (such as the title, abstract, and list of authors), clicks on a figure, or views or downloads the full-text. Learn more
74
Citations
Publications
Publications (36)
A reliable technique for deductive program verification should be proven sound with respect to the semantics of the programming language. For each different language, the construction of a separate soundness proof is often a laborious undertaking. In language-independent program verification, common aspects of computer programs are addressed to ena...
Smart contracts are notoriously vulnerable to bugs and loopholes. This is due largely to an unusual combination of features: re-entrant calls, transfer-triggered code execution, the way exceptions are propagated, etc. Numerous validation techniques have been developed to ensure the safety and security of smart contracts. An important class of probl...
The flow of information in a computing system is a crucial indicator for the security of the system. In a system of multiple message-passing processes, the flow of information could depend on the states of different processes. We devise a type-based verification technique for flow policies with such multi-process (global) dependencies, to provide c...
We propose a solution for verifying the information-flow security of distributed programs in a compositional manner. Our focus is on the treatment of message passing in such a verification, and our goal is to boost the precision of modular reasoning using rely-guarantee-style reasoning. Enabling a more precise treatment of message passing required...
An OS microkernel can be extended by implementing services upon it. A service could introduce an object that references a kernel object, and implement a group of functions that invokes the functions for manipulating the kernel object. We consider the scenario where the microkernel has been verified with machine-checkable proofs, while the services...
A reliable technique for deductive program verification should be proven sound with respect to the semantics of the programming language. For each different language, the construction of a separate soundness proof is often a laborious undertaking. In language-independent program verification, common aspects of computer programs are addressed to ena...
As the theoretical foundation of Lagrangian mechanics, Euler–Lagrange equation sets are widely applied in building mathematical models of physical systems, especially in solving dynamics problems. However, their preconditions are often not fully satisfied in practice. Therefore, it is necessary to verify their applications. The purpose of the prese...
Blockchains leverage the synergy of technologies from networking, cryptography, distributed protocols, security policies, and computer programming, to provide guarantees such as distributed consensus and tamper-resistance over records of data and activities. The interaction of diverse technical elements in a blockchain could create obstacles in pre...
Camera pose estimation is key to the proper functioning of robotic systems, supporting critical tasks such as robot navigation, target tracking, camera calibration, etc.Whilemultiple algorithms solving this problem have been proposed, their correctness has rarely been validated using formal techniques. This is true despite the fact that the adoptio...
Smart contracts are notoriously vulnerable to bugs and loopholes. This is due largely to an unusual combination of features: re-entrant calls, transfer-triggered code execution, the way exceptions are propagated, etc. Numerous validation techniques have been developed to ensure the safety and security of smart contracts. An important class of probl...
Fourier transform (FT) is an essential method in signal processing—it transforms a signal from the time domain into the frequency domain.
The theory of complex numbers underlies a great number of mathematical, physical, and engineering disciplines—control theory, signal analysis, quantum mechanics, relativity, fluid dynamics, etc. The formalization of complex numbers in HOL4 is a prerequisite for formalizing the core theories of all these disciplines in this theorem prover.
There are multiple ways to formally define an integral. The major definitions include the Newton integral, the Riemann integral, the Lebesgue integral, and the gauge integral. The gauge integral proposed by Kurzweil and Henstock is a generalization of the Riemann integral and the Lebesgue integral, and it is applicable in a wider class of situation...
The inner product space is a mathematical concept studied in functional analysis (Jain and Ahuja 2010).
algebra is the mathematical subject concerned with the study of algebraic systems (or algebraic structures).
The theory of matrices is a core branch of linear algebra. Matrices are used as operators of linear space transformations and play an important role in modeling linear systems.
Function matrices (i.e., matrices of functions) are heavily involved in the analysis of dynamical systems, such as control systems (Hu 2008; Shen 2012), energy systems (Sidorov and Matskevich 2015; Hu et al. 2010), robotic systems, etc. In this chapter, we formalize the theory of function vectors and function matrices in HOL4.
The Discrete Fourier Transform (DFT) is the discrete version of the Fourier Transform (FT) both in the time domain and in the frequency domain. It can be seen as an adaption of FT for use on computers and digital signal processing (DSP) chips.
In this chapter, we formalize different types of matrix transformation in Euclidean spaces.
Analytical mechanics provides the central guidelines for the design of engineering machinery in use today. One of the main pillars for analytical mechanics is the principle of virtual work. In the establishment of this principle, the Gateaux derivative plays an indispensable role. In this paper, we formalize the Gateaux derivative in the interactiv...
This book discusses the formalization of mathematical theories centering on complex analysis and matrix theory, covering topics such as algebraic systems, complex numbers, gauge integration, the Fourier transformation and its discrete counterpart, matrices and their transformation, inner product spaces, and function matrices. The formalization is p...
Smart contracts have exhibited great potential in a spectrum of applications, ranging from digital currency to online gaming. Yet smart contracts are known to be prone to errors and vulnerable to attacks. The validation of smart contracts before their deployment is an indispensable step for their correctness and security, and the highest level of g...
The RS3 Information-Flow Specification Language (RIFL) is a policy language for information-flow security. RIFL originated from the need for a common language for specifying security requirements within the DFG priority program Reliably Secure Software Systems (RS3) [30]. In this report, we present the syntax and informal semantics of RIFL 1.1, the...
Content-dependency often plays an important role in the information flow security of real world IT systems. Content-dependency gives rise to informative policies and permissive static enforcement, and sometimes avoids the need for downgrading. We develop a static type system to soundly enforce future-dependent flow policies --- policies that can de...
We present a coordination language for the modeling of distributed database applications. The language, baptized Klaim-DB, borrows the concepts of localities and nets of the coordination language Klaim but re-incarnates the tuple spaces of Klaim as databases. It provides high-level abstractions and primitives for the access and manipulation of stru...
We present a coordination language for the modeling of distributed database applications. The language, baptized Klaim-DB, borrows the concepts of localities and nets of the coordination language Klaim but re-incarnates the tuple spaces of Klaim as databases. It provides high-level abstractions and primitives for the access and manipulation of stru...
The security validation of practical computer systems calls for the ability to specify and verify information flow policies that are dependent on data content. Such policies play an important role in concurrent, communicating systems: consider a scenario where messages are sent to different processes according to their tagging. We devise a security...
Information flow control extends access control by not only regulating who is allowed to access what data but also the subsequent use of the data accessed. Applications within communication networks require such information flow control to depend on the actual data. For a concurrent language with synchronous communication and separate data domains...
We develop a bisimulation-based nonintereference property that describes the allowed dependencies between communication behaviors of different integrity levels. The property is able to capture all possible combinations of integrity levels for the “presence” and “content” of actual communications. Channels of low presence integrity and high content...
We present the modelling language, Klaim-DB, for distributed database applications. Klaim-DB borrows the distributed nets of the coordination language Klaim but essentially re-incarnates the tuple spaces of Klaim as databases, and provides high-level language abstractions for the access and manipulation of structured data, with integrity and atomic...