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


Seonglae Cho