Huixing Fang

Dr. Huixing Fang

orcid

Research Focus & Metrics

Academic Career Length

15Years (2012-Present)

(Calculated once Scilit publication data is synced: current year − year of first publication + 1)

Representative Publications

View All Publications
1 July 2012
Verified
Conference Paper
Closed access
JSJianqi Shi
Jianqi Shi
JHJifeng He
Jifeng He
HZHuibiao Zhu
Huibiao Zhu
HFHuixing Fang
Huixing Fang
YHYanhong Huang
Yanhong Huang
XZXiaoxian Zhang
Xiaoxian Zhang
In this paper, we report on the formal, machine-verified operating system - ORIENTAIS. ORIENTAIS is an OSEK/VDX standard based real-time operating system for automotive applications. About 8000 lines of C and 60 lines of assembler are comprised in the ORIENTAIS. The operating system is of vital importance to embedded systems, especially for some time sensitive and accurate controlling applications just like automotive applications. We prove that the implementation of ORIENTAIS application programming interfaces strictly follow the OSEK/VDX specification which we formalized from natural language expressed OSEK/VDX specification. Meanwhile, we model the high level interaction behaviors with CSP and verify the properties just like deadlock-free. To guarantee the safety of memory access and bounded response time with interrupt program involved, binary code level verification is developed based on xBIL which is a binary intermediate language we proposed. We introduce a series of techniques and approaches for verifying the ORIENTAIS. Our approach is an efficient work for the verification of ORIENTAIS, with whose help several bugs are detected. Now, ORIENTAIS has been certificated by OSEK certification group and installed on more than 1.38 million cars in China.

27 May 2014 in International Journal on Software Tools for Technology Transfer
Verified
Journal Article
Closed access
PDF file
HFHuixing Fang
Huixing Fang
JSJianqi Shi
Jianqi Shi
HZHuibiao Zhu
Huibiao Zhu
JGJian Guo
Jian Guo
KLKim Guldstrand Larsen
Kim Guldstrand Larsen
ADAlexandre David
Alexandre David

17 November 2017 in Journal of Software: Evolution and Process
Verified
Journal Article
Open access
PDF file
YFYuan Fei
Yuan Fei
HZHuibiao Zhu
Huibiao Zhu
XWXi Wu
Xi Wu
HFHuixing Fang
Huixing Fang
SQShengchao Qin
Shengchao Qin
The POSIX threads (Pthreads) library is a thread API for C/C++ to control parallel threads and spawn concurrent process flows. Programming in Pthreads usually suffers from undesirable deadlock, data race, and race condition problems due to the potential nondeterministic execution behaviors between parallel threads. Dthreads, as another multithreading model that re‐implements Pthreads, was proposed by Liu et al for efficient deterministic multithreading. They found out that, under specific test cases, Dthreads can effectively prevent data races. However, no comparison test has been made with Pthreads.To perform a formal comparison between Pthreads and Dthreads over deadlocks, data races, and race conditions, in this paper, we adopt CSP (communicating sequential processes) as a formal model for specifying part of API functions in Pthreads and Dthreads and illustrate the model construction using 4 classical example programs. By feeding the models into the model checker PAT (process analysis toolkit), we have verified that deadlocks and data races exist in Pthreads, but do not exist in Dthreads, for the considered programs. We have also found that neither of them can prevent race conditions. Our comparative modelling and verification of Pthreads and Dthreads show that though Dthreads cannot prevent all the deadlock situations, shown by verification results of another 2 example programs, Dthreads is better than Pthreads on eliminating data races and preventing deadlocks. Considering limited scalability of Dthreads, we have introduced a new programming model to support coarse granularity in bank transfer. Our modelling is also extended by covering the synchronization operations in Liu et al work.

1 January 2014
Verified
Book Chapter
Closed access
PDF file
ADAlexandre David
Alexandre David
HFHuixing Fang
Huixing Fang
KLKim Guldstrand Larsen
Kim Guldstrand Larsen
ZZZhengkui Zhang
Zhengkui Zhang

1 January 2016
Verified
Conference Paper
Closed access
YFYuan Fei
Yuan Fei
HZHuibiao Zhu
Huibiao Zhu
XWXi Wu
Xi Wu
HFHuixing Fang
Huixing Fang
The POSIX threads (Pthreads) library is a thread API for C/C++ to control parallel threads and spawn concurrent process flows. Programming in Pthreads usually suffers from undesirable deadlock and data race problems due to the potential non-deterministic execution behaviors between parallel threads. Dthreads is another multithreading model re-implementing Pthreads, which was proposed by Liu et al. for efficient deterministic multithreading. Under specific test cases, they found out that Dthreads can effectively prevent data races. But they have not made comparison test with Pthreads. In order to formally compare Pthreads with Dthreads over deadlocks and data races, in this paper, we apply CSP (Communicating Sequential Processes) to model part of APIs in Pthreads and Dthreads, as well as two classical example programs. By using the model checker PAT (Process Analysis Toolkit), for our considered examples, we verify that deadlocks and data races exist in Pthreads, but do not exist in Dthreads. Our comparative modeling and verification of Pthreads and Dthreads show that Dthreads is better than Pthreads on eliminating data races and preventing deadlocks.

1 July 2012
Verified
Conference Paper
Closed access
HFHuixing Fang
Huixing Fang
JGJian Guo
Jian Guo
HZHuibiao Zhu
Huibiao Zhu
JSJianqi Shi
Jianqi Shi
For hybrid systems, hybrid automata based tools are capable of verification while Matlab Simulink/Stateflow is proficient in simulation. In this paper, a methodology is developed in which the formal verification tool PHAVer and simulation tool Matlab are integrated to analyze and verify hybrid systems. For application of this methodology, a Platform Screen Doors System (abbreviated as PSDS), a subsystem of the subway, is modeled with formal verification techniques based on hybrid automata and Matlab Simulink/Stateflow charts, respectively. The models of PSDS are simulated by Matlab and verified by PHAVer. It is verified that the sandwich situation can be avoided under time interval conditions. We conclude that this integration methodology is competent in verifying Platform Screen Doors System.