Sparse Sparrow, Verified.rosaec.snu.ac.kr/meet/file/20130201p6.pdf · 1 s 2 s 3 Fˆ(ˆs r) Fˆ(ˆs...

1
Sparse Sparrow, Verified. Sungkeun Cho, Jeehoon Kang, Joonwon Choi, Youngseok Lee, and Kwangkeun Yi Sparse Sparrow, 바르게 구현되었는가? 수백만줄의 코드를 분석 할 수 있는 Sparrow 그 구현은 올바른가? 구현의 안전성을 coq으 로 증명했다! 우리가 원하는 증명 필요한 보조정리들 8n, s n : s 0 F n s n ! s n γ ˆ s r s 0 s 1 s 2 s 3 ˆ s r ˆ s r ˆ s r ˆ s r γ F γ F γ F γ F 분석결과가 모든 실제 실행을 포섭하는가? s s 0 ˆ s ˆ F s) γ F γ s 0 ˆ s γ ˆ F s r ) ˆ s r v s ˆ s ˆ s 0 γ γ w 1) 분석 결과가 초기 상태를 포섭 2) 프로그램을 한 단계 실행해도 여전히 포섭 3) 분석 결과는 검산기 실행 의미의 한 고정점 4) 포섭 관계는 monotone 관계 s 0 s 1 s 2 s 3 ˆ F s r ) ˆ F s r ) ˆ F s r ) ˆ s r ˆ s r ˆ s r ˆ s r γ F γ F γ γ F γ γ F γ w w w 보조정리들 중 1), 2), 4)는 coq에서 증명. 3)은 검산기가 입력 프로그램과 분석 결과를 받아 직접 확인 1), 2), 4)는 coq이 증명. 검산기는 3)을 확인 1~4를 이용하여 위와 같이 증명할 수 있다! 분석기 뒤에 검산기 Sparse Sparrow 추출된 검산기 입력 프로그램 OCaml OCaml 검산기 Coq 분석 결과 예/아니오 현재의 상태 잘 알려진 벤치마크를 대상으로 분석기+검산기의 안전성과 Scalability 실험 중

Transcript of Sparse Sparrow, Verified.rosaec.snu.ac.kr/meet/file/20130201p6.pdf · 1 s 2 s 3 Fˆ(ˆs r) Fˆ(ˆs...

Page 1: Sparse Sparrow, Verified.rosaec.snu.ac.kr/meet/file/20130201p6.pdf · 1 s 2 s 3 Fˆ(ˆs r) Fˆ(ˆs r) Fˆ(ˆs r) sˆ r sˆ r sˆ r sˆ r F F F F w w w 7 보조정리들 중 1), 2),

Sparse Sparrow, Verified.Sungkeun Cho, Jeehoon Kang, Joonwon Choi, Youngseok Lee, and Kwangkeun Yi

Sparse Sparrow, 바르게 구현되었는가?

수백만줄의 코드를 분석할 수 있는 Sparrow 그 구현은 올바른가? 구현의 안전성을 coq으

로 증명했다!

우리가 원하는 증명

필요한 보조정리들

) %��'��)�

°f�E�t��B��hmCF?�cV�s��s«�k¡]�£n¦O�

8n, sn : s0Fnsn ! sn�sr

s0 s1 s2 s3

sr sr sr sr

F

F

F

F

6

분석결과가 모든 실제 실행을 포섭하는가?

."/�(��s s0

s F (s)

F

s0

s

F (sr)

sr

v

s

s

s0

w

s0 s1 s2 s3

F (sr) F (sr) F (sr)

sr sr sr sr

F

F

F

F

w w w

7

1) 분석 결과가 초기 상태를 포섭2) 프로그램을 한 단계 실행해도 여전히 포섭3) 분석 결과는 검산기 실행 의미의 한 고정점

4) 포섭 관계는 monotone 관계

."/�(��s s0

s F (s)

F

s0

s

F (sr)

sr

v

s

s

s0

w

s0 s1 s2 s3

F (sr) F (sr) F (sr)

sr sr sr sr

F

F

F

F

w w w

7

보조정리들 중 1), 2), 4)는 coq에서 증명.3)은 검산기가 입력 프로그램과분석 결과를 받아 직접 확인

1), 2), 4)는 coq이 증명. 검산기는 3)을 확인1~4를 이용하여 위와 같이 증명할 수 있다!

분석기 뒤에 검산기

SparseSparrow

추출된검산기

입력 프로그램

OCaml OCaml

검산기

Coq

분석 결과

예/아니오

현재의 상태

잘 알려진 벤치마크를 대상으로분석기+검산기의 안전성과 Scalability 실험 중

BS01‰�”…‚¶ '

…›¿�·º —–‡�‰�”…‚¶ '· �University�Identity�System � �–�”»¿�…�• …›�·º —��„� �‚ƒ�·º‡»¿��ß�‚• �˙¥ � · �‚����‰ �¢�˜¿„ ·ˇ ���… � �

˙�‰����� · �·º ¥�ß�»� ¡„���·�.�‰ �¢�ß���„� �� � º� …”�»� fi”‚ –���§ ���‡„�� �‰�”…‚¶ '· �·º —‡»� �–‚…”¿ł¿¡����ˇ …�¤�»� ¶…” ���

·º‡»¿��ß�‚• �� ��� ���„� �‚ƒ���·� –���§ ��� ��„ • �»�¿º¿¡�����…›� fl”� �� �� ‚ƒ�¿� �·�.�‰�”…‚¶ '� � �…�»�¿º�–� ⁄�”�‰�”…‚¶ '� �

�� �…”�»���•` ¿'� ⁄ ��� �‚• � �…��»��� ���� � �»�¿º�”�–� �·�.�‰�”…‚¶ '� ���»��”�CD-Rom ¿¡�…�• � ��¥�� ‚‚ƒ�»�¿º �·�.

‰�”…‚¶ '

ˆ�…�»�¿º�–� ⁄ 10m m