1. 오류가 존재하는 프로그램을 Input으로 받고, 정적분석기(Infer)가 프로그램을 직접 실행하지 않고도 특정 부분에 에러가 있을것 같다는 Error Report를 낸다.
2. SAVER가 해당 오류를 자동으로 고친다.
else 브랜치를 타면, free(q)만 될 뿐 p는 free되지 않는다.
if (!c)
free(p);
와 같은 방식으로 해결할 수있다.
FREE 다음 Unreach해야 되는데, free가 빠져 있기 때문이다.
program slicing
프로그램 중 error 리포트와 관련있는 부분만 추출하여 그래프를 그린다.
path merging heuristic
만약 브랜치가 있어도 큰 차이가 없으면 그냥 path를 하나로 본다.