Deeply Optimizing the SAT Solver for the IC3 Algorithm

Fuente: arXiv
Gespeichert in:
Bibliographische Detailangaben
Hauptverfasser: Su, Yuheng, Yang, Qiusong, Ci, Yiwei, Li, Yingcheng, Bu, Tianjun, Huang, Ziyu
Format: Preprint
Veröffentlicht: 2025
Schlagworte:
Online-Zugang:
Tags: Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
_version_ 1866913849223938048
author Su, Yuheng
Yang, Qiusong
Ci, Yiwei
Li, Yingcheng
Bu, Tianjun
Huang, Ziyu
author_facet Su, Yuheng
Yang, Qiusong
Ci, Yiwei
Li, Yingcheng
Bu, Tianjun
Huang, Ziyu
contents The IC3 algorithm, also known as PDR, is a SAT-based model checking algorithm that has significantly influenced the field in recent years due to its efficiency, scalability, and completeness. It utilizes SAT solvers to solve a series of SAT queries associated with relative induction. In this paper, we introduce several optimizations for the SAT solver in IC3 based on our observations of the unique characteristics of these SAT queries. By observing that SAT queries do not necessarily require decisions on all variables, we compute a subset of variables that need to be decided before each solving process while ensuring that the result remains unaffected. Additionally, noting that the overhead of binary heap operations in VSIDS is non-negligible, we replace the binary heap with buckets to achieve constant-time operations. Furthermore, we support temporary clauses without the need to allocate a new activation variable for each solving process, thereby eliminating the need to reset solvers. We developed a novel lightweight CDCL SAT solver, GipSAT, which integrates these optimizations. A comprehensive evaluation highlights the performance improvements achieved by GipSAT. Specifically, the GipSAT-based IC3 demonstrates an average speedup of 3.61 times in solving time compared to the IC3 implementation based on MiniSat.
format Preprint
id arxiv_https___arxiv_org_abs_2501_18612
institution arXiv
publishDate 2025
record_format arxiv
spellingShingle Deeply Optimizing the SAT Solver for the IC3 Algorithm
Su, Yuheng
Yang, Qiusong
Ci, Yiwei
Li, Yingcheng
Bu, Tianjun
Huang, Ziyu
Logic in Computer Science
Artificial Intelligence
The IC3 algorithm, also known as PDR, is a SAT-based model checking algorithm that has significantly influenced the field in recent years due to its efficiency, scalability, and completeness. It utilizes SAT solvers to solve a series of SAT queries associated with relative induction. In this paper, we introduce several optimizations for the SAT solver in IC3 based on our observations of the unique characteristics of these SAT queries. By observing that SAT queries do not necessarily require decisions on all variables, we compute a subset of variables that need to be decided before each solving process while ensuring that the result remains unaffected. Additionally, noting that the overhead of binary heap operations in VSIDS is non-negligible, we replace the binary heap with buckets to achieve constant-time operations. Furthermore, we support temporary clauses without the need to allocate a new activation variable for each solving process, thereby eliminating the need to reset solvers. We developed a novel lightweight CDCL SAT solver, GipSAT, which integrates these optimizations. A comprehensive evaluation highlights the performance improvements achieved by GipSAT. Specifically, the GipSAT-based IC3 demonstrates an average speedup of 3.61 times in solving time compared to the IC3 implementation based on MiniSat.
title Deeply Optimizing the SAT Solver for the IC3 Algorithm
topic Logic in Computer Science
Artificial Intelligence
url https://arxiv.org/abs/2501.18612