test1.k : 일반적인 if문의 분석을 잘 하는 지 확인합니다. z를 11로 나눈 나머지는 8에서 변하지 않습니다.
test2.k : LESS에서 상수끼리 직접 비교하는 경우를 따로 분석할 경우 결과가 더 정확해집니다. y:=8이 실행되지 않는 것이 좋습니다.
test3.k : 간단한 포인터 연산을 잘 분석하는 지 확인합니다.
test4.k : if구문 속에서 포인터가 서로 다른 두 변수를 가리킬 수 있을 경우입니다. 실제 실행에서는 px가 x만을 가리키지만 숙제에서 주어진 요약 공간으로 분석하면 px가 y도 가리킬 수 있습니다.
test5.k : if의 조건에 true나 false가 직접 사용된 경우를 따로 분석하면 결과가 더 정확해집니다.
test6.k : 포인터 p에 여러 개의 주소가 담길 수 있는 경우를 테스트합니다. 여기서는 총 4개의 주소가 담길 수 있습니다. e의 주소는 절대 p에 들어가지 않습니다. 분석의 설계에 따라 a, b, c, d, e 모두가 변할 수도 있고 그 중 일부만 변할 수도 있습니다.
test7.k : 실제 실행에서는 px가 a를 가리키고 a의 값이 1 증가할 뿐이지만, 요약 실행에서는 설계에 따라 a의 값만 증가할 수도 있고 a와 b의 값이 모두 변할 수도 있습니다.
test8.k : 간단한 loop입니다. x의 요약 값이 top이 될 것입니다.
test9.k : 무한루프를 분석할 수 있는 지 확인합니다. x의 값은 11씩 증가하므로 요약된 값이 2로 유지될 것입니다.
test10.k : 루프 안에서 포인터가 사용되는 것도 잘 분석하는 지 확인합니다.
test11.k : 분석기가 2중 루프도 잘 분석하는 지 확인합니다. y값은 11씩 증가하므로 11로 나눈 나머지가 3으로 유지되며, x는 top으로 나타날 것입니다.
test12.k : 여러 단계로 중첩된 포인터를 잘 분석하는 지 확인합니다.
이 외에도 각자가 적절한 테스트 입력을 만들어 사용해보시기 바랍니다. 직접 만든 테스트 입력을 이 글타래에 공유하시는 것도 좋습니다.