Predicate Abstraction of Java Program for Model Checking

모델 체킹을 위한 자바프로그램의 술어추상화

  • Lee, Jung-Rim (Computer Science Department, Kyonggi University) ;
  • Lee, Tae-Hoo (Computer Science Department, Kyonggi University) ;
  • Kwon, Gi-Hwon (Computer Science Department, Kyonggi University)
  • 이정림 (경기대학교 정보과학부) ;
  • 이태훈 (경기대학교 정보과학부) ;
  • 권기현 (경기대학교 정보과학부)
  • Published : 2005.11.01

Abstract

모델 체킹은 시스템이 올바르게 동작하는 지를 자동으로 검증해주는 기법이다. 지금까지 모델 체킹은 방법의 특성상 상태폭발문제 때문에 작은 규모의 상태공간을 갖는 하드웨어나 프로토콜 검증에 주로 사용되어져 왔다. 그러나 최근에는 상태폭발문제를 다루기 위한 연구와 술어추상화 등과 같은 추상화기술의 발달로, 다를 수 있는 상태공간의 크기가 증가하고 정리증명기의 성능이 향상됨에 따라 소프트웨어 자체의 논리적 오류를 검증하려는 움직임이 활발하다. 일반적으로 소프트웨어 검증을 위해 추상화-모델 체킹-추상화 개선의 3단계 프로세스를 사용하는데 주로 C프로그램에 대해서만 이루어져 왔다. 우리는 이 프로세스를 자바프로그램에 적용하고 자동으로 자바프로그램을 이진프로그램으로 변환하는 술어추상화 모듈을 개발하였다. 이 모듈은 우리가 개발한 자바 모델 체커의 front-end부분이다. 본 논문에서는 자바프로그램에 대한 주요 추상화 알고리즘을 보이고 특정 자바프로그램의 안전성과 궁극성을 검증한다.

Keywords