Journal of East China Normal University(Natural Science) ›› 2024, Vol. 2024 ›› Issue (4): 18-29.doi: 10.3969/j.issn.1000-5641.2024.04.002

• Computer Science • Previous Articles     Next Articles

Machine-learning-based model checker performance prediction

Chengyu ZHANG1(), Jiayi ZHU2, Yihao HUANG3, Di YANG2, Jianwen LI2, Weikai MIAO2, Di YAN4, Bin GU5, Naijun ZHAN6, Geguang PU2,*()   

  1. 1. Department of Computer Science, ETH Zurich, Zurich 8006, Switzerland
    2. Software Engineering Institute, East China Normal University, Shanghai 200062, China
    3. College of Computer Science and Technology, Nanyang Technological University, Singapore 211106, Singapore
    4. Aero Engine Corporation of China, Shanghai 200241, China
    5. China Aerospace Science and Technology Corporation, Beijing 100048, China
    6. The Institute of Software, Chinese Academy of Sciences, Beijing 100190, China
  • Received:2023-07-22 Online:2024-07-25 Published:2024-08-14
  • Contact: Geguang PU E-mail:chengyu.zhang@inf.ethz.ch;ggpu@sei.ecnu.edu.cn

Abstract:

An and-inverter graph (AIG) is a representation of electrical circuits typically passed as input into a model checker. In this paper, we propose an AIG structural encoding that we use to extract the features of AIGs and construct a portfolio-based model checker called Liquid. The underlying concept of the proposed structural encoding is the enumeration of all possible AIG substructures, with the frequency of each substructure encoded as a feature vector for use in subsequent machine-learning processes. Because the performance of model-checking algorithms varies across different AIGs, Liquid combines multiple such algorithms and selects the algorithm appropriate for a given AIG via machine learning. In our experiments, Liquid outperformed all state-of-the-art model checkers in the portfolio, achieving a high prediction accuracy. We further studied the effectiveness of Liquid from several perspectives.

Key words: model checking, and-inverter graph, portfolio-based model checker

CLC Number: