게시판 인덱스

 
 FAQFAQ   검색검색   멤버리스트멤버리스트   사용자 그룹사용자 그룹   사용자 등록하기사용자 등록하기 
 개인 정보개인 정보   비공개 메시지를 확인하려면 로그인하십시오비공개 메시지를 확인하려면 로그인하십시오   로그인로그인 

숙제3 공지 및 뼈대코드입니다.(0506 수정)

 
글 쓰기   답변 달기     게시판 인덱스 -> 4541.664A Program Analysis (Spring 2017)
이전 주제 보기 :: 다음 주제 보기  
글쓴이 메시지
로파스
Site Admin


가입: 2012년 9월 9일
올린 글: 280

올리기올려짐: 2017년5월4일 16:15    주제: 숙제3 공지 및 뼈대코드입니다.(0506 수정) 인용과 함께 답변

안녕하세요 여러분.

숙제 3 공지사항 및 뼈대코드입니다.

수업슬라이드 10-1의 명령형 언어 프로그램의 요약해석 단원에 있는 언어를 대상으로
1번문제 : 구간 도메인(interval domain)상에서 정적분석하는 과제입니다.
2번문제 : 상수 도메인상에서 정적분석하는 과제입니다.

숙제1의 4번 문제에서 다뤄보셨던 K-언어에서 while문이 추가되고 not, and, or 연산자가 추가되었습니다. 2번 문제에서는 *과 & 문법도 사용하실 수 있습니다. 문법 관련해서는 뼈대코드의 README를 참고하시면 되겠습니다.

뼈대코드에 도메인의 타입 등이 명시되어있으며 주석을 통해 대강의 가이드라인을 잡아두었으니 숙제에 도움되었으면 합니다.

팁을 한가지 드리자면, assume같은 경우 높은 정확도를 가지도록 구현하는 것이 매우 어렵기 때문에 특수한 상황에 대해서만 정교하게 처리하고 그 외의 상황에서는 안전하게 구현하는 것이 좋습니다. 예를들어 변수, (변수 < 상수), (상수 < 변수) 혹은 이것들이 not, and or로 묶인 꼴의 조건문에 대한 assume만 정교하게 구현하시고 나머지는 안전하게만 구현하시면 적당할 것입니다.

참고로 뼈대코드중 compare_mem은 함수 타입의 메모리끼리 같은지를 비교하기 위한 함수입니다. used_varlist 함수를 이용해 프로그램 내에서 쓰이는 변수의 리스트를 가지고 해당 변수들의 값이 모두 같은지 체크하는 일을 합니다.

또한 pp_memory 함수는 varlist에 해당하는 변수들의 값을 프롬프트에 출력해서 보여줍니다. 디버깅 및 테스트에 도움되시기 바랍니다. 채점도 이 함수의 출력값에 의해 진행될 예정입니다.

더 궁금하신 점은 메일이나 답글주시기 바랍니다.

-조교 이동권 드림

http://ropas.snu.ac.kr/~ta/4541.664A/17/hw3/K_itv_skel.zip
http://ropas.snu.ac.kr/~ta/4541.664A/17/hw3/K_itv_loc_skel.zip
위로
사용자 정보 보기 비밀 메시지 보내기
이전 글 표시:   
글 쓰기   답변 달기     게시판 인덱스 -> 4541.664A Program Analysis (Spring 2017) 시간대: GMT + 9 시간(한국)
페이지 11

 
건너뛰기:  
새로운 주제를 올릴 수 없습니다
답글을 올릴 수 없습니다
주제를 수정할 수 없습니다
올린 글을 삭제할 수 없습니다
투표를 할 수 없습니다


Powered by phpBB 2.0.21-7 (Debian) © 2001, 2005 phpBB Group
Translated by kss & drssay