DOI QR코드

DOI QR Code

Efficient Counterexample Generation for Safety Violation in Model Checking

모델 체킹에서 안전성 위반에 대한 효율적인 반례 생성

  • 이태훈 (경기대학교 정보과학부) ;
  • 권기현 (경기대학교 정보과학부)
  • Published : 2005.02.01

Abstract

Given a model and a property, model checking determines whether the model satisfies the property. In case the model does not satisfy the property model checking gives a counterexample which explains where the violation occurs. Since counterexamples are useful for model debugging as well as model understanding, counterexample generation is one of the indispensable components in the model checking tool. This paper presents efficient counterexample generation techniques when a safety property is falsified. These techniques are used to solve Push Push games which consist of 50 games. As a result, all the games are solved with the proposed techniques. However, with the original NuSMV, 42 games are solved but 8 failed. In addition, we obtain $86{\%}$ time improvement and $62{\%}$ space improvement compared to the original NuSMV in solving the game.

모델 체킹은 주어진 모델과 속성간의 만족성 관계를 검사한다. 만일 모델이 속성을 만족하지 않는 경우, 모델 체킹은 그 이유를 담은 반례를 생성한다. 반례는 모델의 디버깅에 사용되며 모델을 이해하는데 도움을 주기 때문에, 반례 생성은 모델 체킹의 필수 구성 요소 중의 하나이다. 본 논문에서는 모델 체킹에서 안전성 속성이 위반되었을 때 그에 대한 반례를 효율적으로 생성하는 방법을 제시하였고, 푸쉬 푸쉬 게임 풀이에 제안한 방법을 적용했다. 그 결과, 기존 NuSMV로는 전체 50게임 중에서 42게임밖에 풀지 못했으나 본 논문의 방법으로는 50게임을 모두 풀었다. 뿐만 아니라, 반례 생성에 소요된 시간과 메모리 사용량이 기존 NuSMV에 비해서 각각 $86{\%}$$62{\%}$ 개선되었다.

Keywords

References

  1. E. M. Clarke, E. A. Emerson, and A. P. Sistla, 'Automatic Verification of Finite-State Concurrent Systems using Temporal Logic Specifications,' ACM Transactions on Programming Languages and Systems, Vol.8, No.2, pp.244-263, 1986 https://doi.org/10.1145/5397.5399
  2. T. Kropf, Introduction to Formal Hardware Verification, Springer, 1999
  3. K. Laster, and O. Grumberg, 'Modular model checking of software,' In Proceedings of TACAS'98, LNCS 1384, pp.20-35, 1998
  4. N. Heintze, J. D. Tygar, J. Wing, and H. C. Wong, Model checking electronic commerce protocols,' In Proceedings of the USENIX 1996 Workshop on Electronic Commerce, pp 147-164, 1996
  5. 권기현, '모델 검증을 이용한 게임 풀이', 정보과학회학회지, 제21권 1호, pp.7-14, 2003년
  6. A. Cimatti, and M. Roveri, 'Conformant Planning via Symbolic Model Checking,' Journal of Artificial Intelligence Research, Vol.13, pp.305-338, 2000
  7. E. M. Clarke, O. Grumberg, and D. Peled, Model Checking, MIT Press, 1999
  8. A. Cimatti, E. M. Clarke, E. Giunchiglia, F. Giunchiglia, M. Pistore, M. Roveri, R. Sebastiani, and A. Tacchella, 'NuSMV 2: An OpenSource Tool for Symbolic Model Checking,' In the Proceedings of CAV'02, 2002
  9. W. Chan, Symbolic Model Checking for Large Software Specifications, Ph.D. thesis, University of Washington, Computer Science and Engineering, 1999
  10. M. B. Dwyer. G. S. Avrunin, and J. C. Corbett, 'Property specification patterns for finite-state verification,' In Proceedings of the Workshop on Formal Methods in Software Practice, 1998
  11. G. Kwon, 'Applying Model Checking Techniques to Push Push Game Solving,' In Proceedings of SERA2003, LNCS 3026, pp.290-303, 2003
  12. E. M. Clarke, O. Grumberg, K. L. McMillan, and X. Zhao, 'Efficient Generation of Counterexamples and Witness in Symbolic Model Checking,' In Proceedings of Design Automation Conference, pp.427-432, 1995 https://doi.org/10.1145/217474.217565
  13. E. M. Clarke, O. Grumberg, and D. E, Long, 'Model Checking and Abstraction,' ACM Transactions on Programming Languages and Systems, Vol.16, No.5, pp,1512-1542, 1994 https://doi.org/10.1145/186025.186051
  14. 권기현, '모델 체킹에서 상태 투영을 이용한 모델의 추상화,' 정보처리학회논문지D, 제10-D권 제6호, pp.1295-1300, 2004 https://doi.org/10.3745/KIPSTD.2004.11D.6.1295
  15. 권기현, 이태훈, '게임 풀이를 위한 NuSMV의 효율적인 반례생성,' 정보처리학회논문지D, 제10-D권 제5호, pp.813-820, 2003
  16. R. E. Bryant, 'Graph-Based Algorithms for Boolean Function Manipulation,' IEEE Transactions on Computer. Vol.35. No.8, pp.677-691, 1986 https://doi.org/10.1109/TC.1986.1676819
  17. E. M. Clark, Y. Lu, S. Jha, and H. Veith, 'Tree-Like Counterexamples in Model Checking.' In Proceedings of LICS'02, pp.19-29, 2002 https://doi.org/10.1109/LICS.2002.1029814
  18. M. Chechik, and A. Gufinkel, 'Proof-Like Counterexamples,' In Proceeding of TACAS'03, LNCS 2619, pp.160-175, 2003
  19. P. E. Ammann, P. E. Black, and W. Majurski, 'Using Model Checking to Generate Tests from Specifications,' In Proceedings of ICFEM'98, pp.46-54, 1998
  20. E. M. Clarke, O. Grumberg, S. Jha, Y. Lu, and H. Veith, 'Counterexample-Guided Abstraction Refinement,' In Proceedings of CAV'2000, pp.154-169, 2000