• Title/Summary/Keyword: SAT solver

Search Result 10, Processing Time 0.038 seconds

Implementation and Experiments of SAT preprocessor (SAT Preprocessor의 구현 및 실험)

  • 남명진;최진영;곽희환
    • Proceedings of the Korean Information Science Society Conference
    • /
    • 2003.10a
    • /
    • pp.517-519
    • /
    • 2003
  • 하드웨어 검증과 모델 체킹 등의 분야에서, SAT(satisfiability problem)나 항진 명제 검사(tautology checking)는 매우 중요한 문제이다. 그러나 이들은 모두 NP-complete 문제이므로 그 복잡도가 매우 크다. 이를 해결하기 위한 여러 연구가 진행되고 있고, 그 결과 성능이 좋은 solver들이 개발되었다. 하지만 문제가 커질수록 solver의 처리 시간이 급격하게 증가한다. 이 논문에서는 solver가 복잡한 문제를 더 효율적으로 풀기 위해 논문“Local search for Boolean relations on the basis of unit propagation”[5]에서 제안된 preprocessor(전처리기), P_EQ의 개념을 설명하고, 실험을 통한 결과를 제시한다.

  • PDF

Modeling Pairwise Test Generation from Cause-Effect Graphs as a Boolean Satisfiability Problem

  • Chung, Insang
    • International Journal of Contents
    • /
    • v.10 no.3
    • /
    • pp.41-46
    • /
    • 2014
  • A cause-effect graph considers only the desired external behavior of a system by identifying input-output parameter relationships in the specification. When testing a software system with cause-effect graphs, it is important to derive a moderate number of tests while avoiding loss in fault detection ability. Pairwise testing is known to be effective in determining errors while considering only a small portion of the input space. In this paper, we present a new testing technique that generates pairwise tests from a cause-effect graph. We use a Boolean Satisbiability (SAT) solver to generate pairwise tests from a cause-effect graph. The Alloy language is used for encoding the cause-effect graphs and its SAT solver is applied to generate the pairwise tests. Using a SAT solver allows us to effectively manage constraints over the input parameters and facilitates the generation of pairwise tests, even in the situations where other techniques fail to satisfy full pairwise coverage.

GPGPU Acceleration of SAT Algorithm with Propagation Routine Parallelization (전달 루틴의 병렬화를 통한 SAT 알고리즘의 GPGPU 가속화)

  • Kang, Hyeong-Ju
    • Journal of the Korea Institute of Information and Communication Engineering
    • /
    • v.20 no.10
    • /
    • pp.1919-1926
    • /
    • 2016
  • Because of the enormous processing ability, General-Purpose Graphics Processing Unit(GPGPU) has been applied to many fields including electronics design automation. The SAT algorithm is one of the core algorithm in many electronics design automation tools. There has been some efforts to apply GPGPU to the SAT algorithm, but it is difficult to parallelize the SAT algorithm because of its characteristics. In this paper, I applied GPGPU to the SAT algorithm by parallelizing the propagation routine that is relatively suitable to parallel processing. On the basis of the similarity of the propagation routine to the sparse matrix multiplication, the data structure for the SAT problem is constituted, and the parallel propagation routine is described. To prevent data loss between paralllel threads, atomic operations are exploited. The experimental results for some benchmark SAT problems show that the proposed algorithm is superior to the previous GPGPU-based SAT solver.

Security Analysis of Information Flow using SAT (SAT를 이용한 정보흐름의 안전성 분석)

  • Kim, Je-Min;Kouh, Hoon-Joon
    • Journal of Digital Convergence
    • /
    • v.14 no.6
    • /
    • pp.253-261
    • /
    • 2016
  • As many people use internet through the various programs of PC and mobile devices, the possibility of private data leak is increasing. A program should be used after checking security of information flow. Security analysis of information flow is a method that analyzes security of information flow in program. If the information flow is secure, there is no leakage of personal information. If the information flow not secure, there may be a leakage of personal information. This paper proposes a method of analyzing information flow that facilitates SAT solver. The method translates a program that includes variables where security level is set into propositional formula representing control and information flow. The satisfiability of the formula translated is determined by using SAT solver. The security of program is represented through the result. Counter-example is generated if the program is not secure.

Calculating the Approximate Probability of Differentials for ARX-Based Cipher Using SAT Solver (SAT 솔버를 이용한 ARX 구조 암호의 디퍼렌셜 확률 근사값 계산)

  • Lee, HoChang;Kim, Seojin;Kang, HyungChul;Hong, Deukjo;Sung, Jaechul;Hong, Seokhie
    • Journal of the Korea Institute of Information Security & Cryptology
    • /
    • v.28 no.1
    • /
    • pp.15-24
    • /
    • 2018
  • In this paper, we explain a method of appproximating the differentials probability using a SAT solver. It is possible to increase the probability by constructing the differential characteristic which already known to differentials with a SAT solver. We apply our method to SPECK32 and SPECK48. As a result, we introduced a SPECK32's 10-round differentials with a probability of$2^{-30.39}$, and SPECK48's 12-round differentials with probability of $2^{-46.8}$. Both differentials are new and longer round and higher probability than previous ones. Using the differentials presented in this paper, we improved attacks of SPECK32/64 to 15 round, SPECK48/72 to 16 round, SPECK48/96 to 17 round, which attack 1 more rounds of previous works.

k-SAT Problem Algorithm Based on Maximum-Maximum Frequency (최대-최대 빈도수 k-SAT 알고리즘)

  • Sang-Un Lee
    • The Journal of the Institute of Internet, Broadcasting and Communication
    • /
    • v.23 no.6
    • /
    • pp.125-132
    • /
    • 2023
  • To NP-complete 3-SAT problem, this paper proposes a O(nm) polynomial time algorithm, where n is the number of literals and m is the total frequency of all literals in equation f. Conventionally well-known DPLLs should perform O(2𝑙) in the worst case by performing backtracking if they fail to find a solution in a brute-force search of a branch-and-bound for the number of literals 𝑙. DPLL forms the core of the SAT Solver by substituting true(T) or false(F) for a literal so that a clause containing the least frequency literal is true(T) and removing a clause containing that literal. Contrary to DPLL, the proposed algorithm selects a literal max𝑙 with the maximum frequency and sets $_{\max}({\mid}l{\mid},{\mid}{\bar{l}}{\mid})=1$. It then deletes 𝑙∈ci clause in addition to ${\bar{l}}$ from ${\bar{l}}{\in}c_i$ clause. Its test results on various k-SAT problems not only show that it performs less than existing DPLL algorithm, but prove its simplicity in satisfiability verification.

Extracting Subsequence of Boolean Variables using SAT-solver (만족가능성 처리기를 이용한 이진 변수 서브시퀀스 추출)

  • Park, Sa-Choun;Kwon, Gi-Hwon
    • The KIPS Transactions:PartD
    • /
    • v.15D no.6
    • /
    • pp.777-784
    • /
    • 2008
  • Recently in the field of model checking, to overcome the state explosion problem, the method of using a SAT-solver is mainly researched. To use a SAT-solver, the system to be verified is translated into CNF and the Boolean cardinality constraint is widely used in translating the system into CNF. In BCC it is dealt with set of boolean variables, but there is no translating method of the sequence among Boolean variables. In this paper, we propose methods for translating the problem, which is extracting a subsequence with length k from a sequence of Boolean variables, into CNF formulas. Through experimental results, we show that our method is more efficient than using only BCC.

Optimized Encoding of Sudoku Puzzle for SAT Solvers (SAT 처리기를 위한 수도쿠 퍼즐의 최적화된 인코딩)

  • Kwon, Gi-Hwon
    • Journal of KIISE:Software and Applications
    • /
    • v.34 no.7
    • /
    • pp.616-624
    • /
    • 2007
  • Sudoku can be regarded as a SAT problem. Various encodings are known for encoding Sudoku as a Conjunctive Normal Form (CNF) formula, which is the standard input for most SAT solvers. Using these encodings for large Sudoku, however, generates too many clauses, which impede the performance of state-of-the-art SAT solvers. This paper presents an optimized CNF encodings of Sudoku to deal with large instances of the puzzle. We use fixed cells in Sudoku to remove redundant clauses during the encoding phase. This results in reducing the number of clauses and a significant speedup in the SAT solving time.

Optimal CNF Encoding for Representing Adjacency in Boolean Cardinality Constraints (이진 기수 조건에서 인접성 표현을 위한 최적화된 CNF 변환)

  • Park, Sa-Choun;Kwon, Gi-Hwon
    • Journal of KIISE:Software and Applications
    • /
    • v.35 no.11
    • /
    • pp.661-670
    • /
    • 2008
  • In some applications of software engineering such as the verification of software model or embedded program, SAT solver is used. To practical use a SAT solver, a problem is encoded to a CNF formula, but because the formula has lower expressiveness than software models or source codes, optimal CNF encoding is required. In this paper, we propose optimal encoding techniques for the problem of "Selecting adjacent $k{\leq}n$ among n objects," Through experimental results we show the proposed constraint is efficient and correct to solve Japanese puzzle. As we know, this paper is the first study about CNF encoding for adjacency in BCC.

Detecting Race Conditions In ANSI-C concurrent program (ANSI-C 동시 프로그램 내 경합 상황 탐지)

  • Ahn, So-Jin;Sim, Jae-Hwan;Nam, Won-Hong;Choi, Jin-Young
    • Proceedings of the Korean Information Science Society Conference
    • /
    • 2011.06d
    • /
    • pp.306-307
    • /
    • 2011
  • 경합 상황, 교착 상태 등과 같은 동시 프로그램의 오류는 기존의 순차 프로그램에 적용되는 테스팅 방법으로는 탐지 및 재현이 힘들다. 하이젠버그라 불리는 이러한 오류는 프로그램의 안정성 및 신뢰성을 떨어뜨리는 원인이 될 수 있으므로 반드시 탐지하고 재현해야 한다. 본 논문은 SAT-solver와 경합 상태 탐지를 위한 Happens-before 알고리즘을 사용하여 ANSI-C 프로그램 내 존재하는 이러한 오류를 탐지하고 재현할 수 있는 방법을 제안한다.