이 논문은 프로그램 동작 분석이라는 새로운 정적 분석 기법을 제안한다. 이 분석은 기호 표현과 추상 해석을 결합하여 각 프로그램 지점에서 모든 변수와 메모리 셀의 가능한 기호 값을 계산한다.
분석의 핵심은 새로운 격자 구조를 정의하는 것이다. 이 격자는 기호 표현과 재귀적으로 결합되어 있어 어떠한 기호 값도 표현할 수 있다. 그러나 격자의 높이가 무한하므로, 수렴을 보장하기 위해 특별한 와이드닝 기법을 제안한다.
또한 이 분석은 메모리 관련 명령문을 처리하기 위해 포인터 분석을 활용한다. 포인터 분석의 결과를 활용하여 메모리 접근을 안전하게 처리할 수 있다.
이 분석은 함수 수준에서 수행되는 인트라프로시저 분석이지만, 함수 호출 관계를 고려하는 인터프로시저 분석으로 확장될 수 있다. 인터프로시저 분석에서는 함수 호출의 영향을 직접 반영할 수 있다.
이 분석은 프로그램의 의미론적 모델을 생성할 수 있어, 코드 차이 분석 등 다양한 응용 분야에 활용될 수 있다.
To Another Language
from source content
arxiv.org
Thông tin chi tiết chính được chắt lọc từ
by Qi Zhan lúc arxiv.org 05-03-2024
https://arxiv.org/pdf/2405.01369.pdfYêu cầu sâu hơn