Symbolic Execution

Creator
Creator
Seonglae ChoSeonglae Cho
Created
Created
2021 May 3 8:0
Editor
Edited
Edited
2024 Jul 5 16:17
Refs
Refs

Symbex

Simplifying Constraints, constraint solving
Symbolic Executions
 
 
 
 
Symbolic Execution(심볼릭 실행)은 무엇인가?
Symbolic Execution(심볼릭 실행)이란? 일반적으로 프로그램을 실행한다는 것은 구체적인 입력값에 따라서 프로그램의 특정한 경로가 실행되는 것을 말한다. 예를 들어, 아래 의 foo 함수를 foo(1)과 같이 호출하면 01라인에서 x=1을 가지고 실행을 시작하며 02, 03, 04, 07라인을 순서대로 수행하여 최종 결과로 i=1이 된다.
Symbolic Execution(심볼릭 실행)은 무엇인가?
[Symbolic Execution] 용어정리
1. Symbolic Execution(줄여서 Symbex라고 부름) (1) Taint Analysis처럼 프로그램 상태에 대한 메타데이터를 추적한다. (2) Symbolic Execution은 프로그램의 상태와 다른상태에 도달하기 위해 어떻게 해야하는지를 알 수 있다. (3) 사용하는 이유? 다른 기술로 불가능한 많은 강력한 분석을 가능하도록 한다. (4) 프로그램 상태를 논리적인 공식으로 표현하는 소프트웨어 분석 기법이다.
[Symbolic Execution] 용어정리
기호 실행 원리(Principles of Symbolic Execution)
symbex라고도 불리는 기호 실행(symbolic execution) 은 프로그램 상태와 관련한 메타데이터 정보를 추적해 프로그램 상태(program state)가 어떻게 변화되며 다른 프로그램 상태에 어떻게 도달할 수 있는지 추론할 수 있다. 기호 실행은 프로그램의 상태를 논리적인 수식으로 표현해 프로그램 동작에 대해 결과를 추론한다. 기호 실행은 효과적인 기법이지만 규모 가변성(scalability) 문제가 있기 때문에 사용 시 주의해야 한다.
기호 실행 원리(Principles of Symbolic Execution)
 
 

Recommendations