문제

나의 이해는 상징적인 실행은 특정한 경로 및 나쁜 패턴을 해법,또는 satisfiability 모듈로 이론 일반적으로,제공하는 훨씬 더 강력한 분석 프로그램입니다.

할 수 있는 사람이 있었을 검증 문 위의(간단)사이의 차이를 설명 이러한 두 개의 공식적인 검증 방법론?

도움이 되었습니까?

해결책

TL;박사: 그들은 그들의 기본 입력 및 출력됩니다.토고 SMT 해법은 무엇인지 모르는 프로그램은;그들은 도구는 예 또는 아니오 대답에 대한 질문에 수식입니다.상징적 인 실행,다른 한편으로,방법의 분석 프로그램입니다.상징적인 실행은 일반적으로 의존하에 앉아 SMT 해법,하지만 다른 방법이다.


토고 SMT 해법 지 않 직접과 함께 프로그램입니다.대신,토 또는 SMT 를 찾기 입력으로 수학적으로 설명하는"공식",과 답변,거칠게 여부,그것은 참 또는 거짓입니다.(종종의 세 번째 옵션은 허용 알 수 없음, 한 경우 해결사로 할 수 없습을 그림으로 대답합니다.)

예를 들어,가능한 입력을 SAT solver (a and not b) or (not a and c).즉,수학식을,어디서 a, b, 고 c 여기에는 부울(0 또는 1)상수입니다.SAT solver 을 결정 가능한 경우에 대한 공식을 true 로 선택하여 값의 a, b, 고 c.SMT 해법은 비슷하지만, a, b, 고 c 대체될 것입하여 더 복잡한 공식을 사용하여 정수,문자열,기능,etc., 예를 들어 x + 3 = y^2.


상징적 인 실행 공상 방법의 프로그램을 실행하지만,프로그램이 어떻게 사용되었다.대신,프로그램을 실행하면 사용하라"상징적인"값들이 같은 종류의 자리 표시자입니다.예를 들어 그것이 무엇을 의미한다고 가정 내가 좋아하는 기능 f(x) = if x > 0 then 1 else 0.지금,일반적으로,나는 프로그램을 실행하여 입력,말 3, 을 얻 f(3) = 1, 이후 3 보다 크 0.와 상징적 인 실행 실행 프로그램에 의해 입력하는 자리 표시자 변수, input, 고 평가 프로그램을 얻을 두 가지 경우:나 input > 0 and answer = 1input <= 0 and answer = 0.이 쓸모없는,하지만 그것이 종료되고 강력한 방법 분석 프로그램입니다.


둘 사이의 연결 는 상징적인 실행을 종종에 의존하 SMT 해법을 실행하는 동안,그 밖으면 어떤 경로를 실제로 가능한 경우,또는 그것이 버려져야 합니다.예를 들어,SMT 해석할 수 있었을 결정하는 데 사용될 경우 input <= 0 and answer = 0 이 가능하며(대답은 예는 경우,예를 들어, input = 0).이 방법으로,SMT 은 종류의"원동력이"무엇 뒤에게 상징적인 실행이 가능합니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 cs.stackexchange
scroll top