About
56
Publications
7,103
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
191
Citations
Citations since 2017
Introduction
Homepage: https://zhehou.github.io
DBLP: https://dblp.org/pid/76/5461.html
Google Scholar: https://scholar.google.com/citations?hl=en&user=sxuQmIIAAAAJ
Skills and Expertise
Additional affiliations
July 2017 - July 2018
Education
September 2011 - December 2015
Publications
Publications (56)
N-PAT is a new model-checking tool that supports the verification of nested-models, i.e. models whose behaviour depends on the results of verification tasks. In this paper, we describe its operation and discuss mechanisms that are tailored to the efficient verification of nested-models. Further, we motivate the advantages of N-PAT over traditional...
The SPARC instruction set architecture (ISA) has been used in various processors in workstations, embedded systems, and in mission-critical industries such as aviation and space engineering. Hence, it is important to provide formal frameworks that facilitate the verification of hardware and software that run on or interface with these processors. I...
This work follow the verification as planning paradigm and propose to use model-checking techniques to solve planning and goal reasoning problems for autonomous systems with high-degree of assurance. It presents a novel modelling framework — Goal Task Network (GTN) that encompass both goal reasoning and planning under a unified formal description t...
This paper introduces a new high-performance machine learning tool named Silas, which is built to provide a more transparent, dependable and efficient data analytics service. We discuss the machine learning aspects of Silas and demonstrate the advantage of Silas in its predictive and computational performance. We show that several customised algori...
The future of multi-blockchain architecture depends on the emergence of new protocols that enable consensus between trustless cross-blockchain participants. However, interoperability between blockchains remains a research challenge. The existing interoperability approaches provide integration through solutions using a middleware system, making it d...
Ensemble trees are a popular machine learning model which often yields high prediction performance when analysing structured data. Although individual small decision trees are deemed explainable by nature, an ensemble of large trees is often difficult to understand. In this work, we propose an approach called optimised explanation (OptExplain) that...
Neural networks have been widely applied in security applications such as spam and phishing detection, intrusion prevention, and malware detection. This black-box method, however, often has uncertainty and poor explainability in applications. Furthermore, neural networks themselves are often vulnerable to adversarial attacks. For those reasons, the...
Formal methods for verification of programs are extended to testing of programs. Their combination is intended to lead to benefits in reliable program development, testing, and evolution. Our geometric theory of testing is intended to serve as the specification of a testing environment, included as the last stage of a toolchain that assists profess...
Automated model repair techniques enable machines to synthesise patches that ensure models meet given requirements. B-repair, which is an existing model repair approach, assists users in repairing erroneous models in the B formal method, but repairing large models is inefficient due to successive applications of repair. In this work, we improve the...
The Level of Conceptual Interoparbilty Model (LCIM) is a widely used framework that represents interrelationship among integratability, interoperability, and compos-ability of different information systems. Although this model has been successfully applied to various domains such as cybernetics and informatics, there are many challenges in directly...
Interoperability is identified as one of the major design constraints for blockchain technology. Cross-blockchain technology is fast evolving as the demand for value transfer among different blockchain systems is growing. A generic cross-blockchain design methodology for interoperability requires a set of suitable components to facilitate the integ...
This paper presents the conceptualisation of a framework that combines digital twins with runtime verification and applies the techniques in the context of security monitoring and verification for satellites. We focus on special considerations needed for space missions and satellites, and we discuss how digital twins in such applications can be dev...
The broad adoption of Machine Learning (ML) in security-critical fields demands the explainability of the approach. However, the research on understanding ML models, such as Random Forest (RF), is still in its infant stage. In this work, we leverage formal methods and logical reasoning to develop a novel model-specific method for explaining the pre...
The internet is responsible for global connectivity and ensuring its safety is a paramount task for governments and organisations. Cybersecurity concerns led to the encryption of over 87% of internet traffic. Encryption ensures security by improving privacy between sender and receiver but creates a problem of inaccurate traffic classification. Prev...
In the hardware design process, hardware components are usually described in a hardware description language. Most of the hardware description languages, such as Verilog and VHDL, do not have mathematical foundation and hence are not fit for formal reasoning about the design. To enable formal reasoning in one of the most commonly used description l...
Neural networks have been widely applied in security applications such as spam and phishing detection, intrusion prevention, and malware detection. This black-box method, however, often has uncertainty and poor explainability in applications. Furthermore, neural networks themselves are often vulnerable to adversarial attacks. For those reasons, the...
This chapter begins with Turing’s model of computable functions, called Turing Machines, and presents them as upgraded pushdown automata. We give informal arguments that Turing machines can perform any computation that a modern computer can compute. We then discuss two different computational models: partial recursive functions and \(\lambda \)-cal...
In this chapter, we discuss three flavours of non-classical logics. Intuitionistic logic is a weakened classical logic, whereas linear logic is stronger than classical logic. Linear temporal logic can express the future of paths one can take. We focus on the propositional fragment of these logics as we have seen the difficulty that comes with quant...
We first introduce the syntax and semantics of FOL, then we look at its proof theory. We extend the natural deduction calculus for propositional logic to that for FOL. We then proceed with a similar treatment for sequent calculus for FOL. Furthermore, this time we will consider how to improve a proof calculus, which leads to several variants of LK....
This chapter is focused on two classes of automata: finite automata and pushdown automata. They accept two classes of languages, respectively: regular languages and context-free languages. Those languages are generated by two classes of grammars: right-linear grammars and context-free grammars. We will discuss simple algorithms for converting betwe...
This chapter draws examples from Wadler’s paper [1] to demonstrate the correspondence between natural deduction for intuitionistic logic and simply-typed \(\lambda \)-calculus—both concepts are built upon previously discussed topics. We also give examples in a programming language to help the reader relate logic to program code.
This chapter focuses on a simple logic: propositional logic, which has an incredibly wide range of applications such as digital circuits and programming. We discuss its syntax, semantics, and similarity with Boolean algebra, from which we introduce the first proof method of this book: truth tables. We then move on to discuss more sophisticated proo...
Simulink has been widely used in model-based design and development. While we witness a growing demand on testing and verification for safety-critical systems, it remains a challenge to verify Simulink models, due largely to a lack of standardized formal semantics for Simulink. In this paper, we propose a comprehensive framework that allows us to a...
With the development of artificial intelligence, machine learning algorithms are currently being used in more and more fields, such as autonomous driving, medical diagnosis, etc. In recent years, much research focuses on property verification of machine learning models. As one of the machine learning models, the tree ensemble model's structure is a...
Ensemble trees are a popular machine learning model which often yields high prediction performance when analysing structured data. Although individual small decision trees are deemed explainable by nature, an ensemble of large trees is often difficult to understand. In this work, we propose an approach called optimised explanation (OptExplain) that...
The future of multi-blockchain architecture depends on the emergence of new protocols that achieve communication between trustless cross-chain participants. However, interoper-ability between blockchains remains an open problem. Existing approaches provide integration through solutions using a middle-ware system, which makes it harder to gain confi...
This book constitutes the refereed proceedings of the 19th International Symposium on Automated Technology for Verification and Analysis, ATVA 2021, held in Gold Coast, Australia in October 2021. The symposium is dedicated to promoting research in theoretical and practical aspects of automated analysis, verification and synthesis by providing an in...
Although the fields of logic and computation are intrinsically related, most courses treat the two topics separately. This unique textbook aims to compress and unify important concepts of logical reasoning and computational theory, facilitating an in-depth understanding.
Delivering theory with practical approaches, the book features early chapters...
N-PAT is a new model-checking tool that supports the verification of nested-models, i.e. models whose behaviour depends on the results of verification tasks. In this paper, we describe its operation and discuss mechanisms that are tailored to the efficient verification of nested-models. Further, we motivate the advantages of N-PAT over traditional...
This book constitutes the proceedings of the 22nd International Conference on Formal Engineering Methods, ICFEM 2020, held in Singapore, Singapore, in March 2021. The 16 full and 4 short papers presented together with 1 doctoral symposium paper in this volume were carefully reviewed and selected from 41 submissions. The papers cover theory and appl...
In order to define executable hardware description language while at the same time be fit for formal proofs of properties, a hardware description language VeriFormal, embedded in Isabelle/HOL, was created. VeriFormal, together with a translator and Isabelle/HOL proof facility, provides a platform for designing, simulating and reasoning about hardwa...
While AI techniques have found many successful applications in autonomous systems, many of them permit behaviours that are difficult to interpret and may lead to uncertain results. We follow the "verification as planning" paradigm and propose to use model checking techniques to solve planning and goal reasoning problems for autonomous systems. We g...
This paper introduces a new classification tool named Silas, which is built to provide a more transparent and dependable data analytics service. A focus of Silas is on providing a formal foundation of decision trees in order to support logical analysis and verification of learned prediction models. This paper describes the distinct features of Sila...
SPARC processors have many applications in mission-critical industries such as aviation and space engineering. Hence, it is important to provide formal frameworks that facilitate the verification of hardware and software that run on or interface with these processors. This paper presents the first mechanised SPARC Total Store Ordering (TSO) memory...
Decision making seeks the optimal choice for maximum rewards or minimal costs under certain conditions, requirements and constraints. Decision making problems in practice are usually complicated as they may be partially observable, stochas-tic, and dynamic. Such complexities make the traditional decision making methods like mathematical programming...
separation logics are a family of extensions of Hoare logic for reasoning about programs that manipulate resources such as memory locations. These logics are “abstract” because they are independent of any particular concrete resource model. Their assertion languages, called Propositional Abstract Separation Logics (PASLs), extend the logic of (Bool...
This paper presents tactics for reasoning about the assertions of separation logic.
We formalise our proof methods in Isabelle/HOL based on Klein
et al.’s separation algebra library. Our methods can also be used in other separation
logic frameworks that are instances of the separation algebra of Calcagno et
al. The first method, separata , is bas...
Analogous to planning via model checking, we propose to apply model checking on goal analyt-ics of self-regulated agents in autonomous systems. Our project involves investigating how to integrate goal reasoning techniques into the Process Analysis Toolkit (PAT) model checking framework and evaluating which model checking algorithms are efficient fo...
It is essential to deal with the interference of the environment between programs in concurrent program verification. This has led to the development of concurrent program reasoning techniques such as rely-guarantee. However, the source code of the programs to be verified often involves language features such as exceptions and procedures which are...
The SPARCv8 instruction set architecture (ISA) has been used in various processors for workstations, embedded systems, and space missions. However, there are no publicly available formal models for the SPARCv8 ISA. In this work, we give the first formal model for the integer unit of SPARCv8 ISA in Isabelle/HOL. We capture the operational semantics...
Existing work on theorem proving for the assertion language of separation logic (SL) either focuses on abstract semantics which are not readily available in most applications of program verification, or on concrete models for which completeness is not possible. An important element in concrete SL is the points-to predicate which denotes a singleton...
Separation logic (SL) is an extension of Hoare logic to reason about programs with mutable data structures. This thesis studies automated reasoning for the assertional language (i.e., formulae that represent pre- and post-conditions) of separation logic. We start from the core of separation logic called Boolean BI (BBI), then consider various propo...
This paper considers Reynolds’s separation logic with all logical connectives but without arbitrary predicates. This logic is not recursively enumerable but is very useful in practice. We give a sound labelled sequent calculus for this logic. Using numerous examples, we illustrate the subtle deficiencies of several existing proof calculi for separa...
separation logics are a family of extensions of Hoare logic for reasoning about programs that mutate memory. These logics are "abstract" because they are independent of any particular concrete memory model. Their assertion languages, called propositional abstract separation logics, extend the logic of (Boolean) Bunched Implications (BBI) in various...
We present a labelled sequent calculus for Boolean BI, a classical variant of
O'Hearn and Pym's logic of Bunched Implication. The calculus is simple, sound,
complete, and enjoys cut-elimination. We show that all the structural rules in
our proof system, including those rules that manipulate labels, can be
localised around applications of certain lo...
Companies have to adhere to compliance requirements. The compliance analysis of business operations is typically a joint effort of business experts and compliance experts. Those experts need to create a common understanding of business processes to effectively conduct compliance management. In this paper, we present a technique that aims at support...