华东师范大学学报(自然科学版) ›› 2024, Vol. 2024 ›› Issue (4): 18-29.doi: 10.3969/j.issn.1000-5641.2024.04.002

• 计算机科学 • 上一篇    下一篇

一种基于机器学习的模型检查算法性能预测方法

张枨宇1(), 诸嘉逸2, 黄怿豪3, 杨迪2, 李建文2, 缪炜恺2, 阎迪4, 顾斌5, 詹乃军6, 蒲戈光2,*()   

  1. 1. 苏黎世联邦理工学院 计算机科学学院, 苏黎世 8006
    2. 华东师范大学 软件工程学院, 上海 200062
    3. 南洋理工大学 计算机科学与技术学院, 新加坡 211106
    4. 中航商用航空发动机有限责任公司, 上海 200241
    5. 中国航天科技集团有限公司, 北京 100048
    6. 中国科学院 软件研究所, 北京 100190
  • 收稿日期:2023-07-22 出版日期:2024-07-25 发布日期:2024-08-14
  • 通讯作者: 蒲戈光 E-mail:chengyu.zhang@inf.ethz.ch;ggpu@sei.ecnu.edu.cn
  • 作者简介:张枨宇, 男, 博士后, 研究方向为软件工程、形式化方法. E-mail: chengyu.zhang@inf.ethz.ch

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

摘要:

与非图模型是一种表示电路设计的通用基础形式, 同时也是模型检查器的一种通用输入格式. 介绍了一种基于与非图结构编码的特征提取方法, 并基于该方法实现了一种快速的组合模型检查器Liquid. 所提出的结构编码的核心思想: 首先罗列出与非图中所有可能的子结构, 再将每个子结构出现的次数编码成向量, 该向量即作为与非图的特征向量参与之后的机器学习过程. 由于各种模型检查算法的性能在不同的与非图上参差不齐, Liquid的设计目标是组合多种模型检查算法, 针对不同的与非图使用机器学习模型挑选出合适的算法. 收集了目前所有的模型检查器基准测试集作为实验数据集并进行了实验. 实验结果表明, Liquid在实验数据集上的表现优于所有组合中的独立模型检查算法, 并有着不错的预测准确率. 同时, 还从多个维度分析了Liquid有效的原因.

关键词: 模型检查, 与非图, 组合模型检查器

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

中图分类号: