고급소프트웨어공학dslab.konkuk.ac.kr/Class/2011/11ASE/Tools/고급... · 2012. 9. 13. ·...

Post on 07-Oct-2020

0 views 0 download

Transcript of 고급소프트웨어공학dslab.konkuk.ac.kr/Class/2011/11ASE/Tools/고급... · 2012. 9. 13. ·...

Mobile Broadband Communication Lab. Konkuk University

고급소프트웨어공학

CMBC - C Bounded Model Checker

MBC Lab.윤상준, 허주승

Mobile Broadband Communication Lab. Konkuk University

Contentsi. CBMS 개요.

ii. CBMS를 이용한 샘플 테스트.

iii. 향후 연구 진행 방향.

Mobile Broadband Communication Lab. Konkuk University

SoftwareVerificationl정형기법(formal methods) 과프로그램검증의목적?

l프로그램의정확성(correct)를명확하게증명하는것!

Mobile Broadband Communication Lab. Konkuk University

CBMCl C,C++,JAVA 로 되어있는 소스프로그램의 검증 목

적.

l CUI 기반 인터페이스.

l Bounded Model Checking(BMC) 을 이 용 하 여ANSI-C 프로그램과 베릴로그 서킷(Verilog circuit)사이의 일치성(behavioral Consistency)을 체크하는Tool.

Mobile Broadband Communication Lab. Konkuk University

FirstSteps– Hello.cSource Run

Mobile Broadband Communication Lab. Konkuk University

FirstSteps– Hello.cSource Run

Mobile Broadband Communication Lab. Konkuk University

VerifyingModules(1)Source Run

Mobile Broadband Communication Lab. Konkuk University

VerifyingModules(2)

Mobile Broadband Communication Lab. Konkuk University

UnboundedLoopsSource Run

Mobile Broadband Communication Lab. Konkuk University

CBMCSupportsi. Basic Data Type(Int , char, float, double....)

ii. operator(Boolean, Arithmetic, Comma, TypeCasts...)

iii. Function Call

iv. return , goto, brake and continue, switch, Loop struct, array, union, pointer, dynamic memory....

Mobile Broadband Communication Lab. Konkuk University

CBMSStrengths&Weaknessesl 장점

• ANSI-C 지원으로인한 문법 Checking.

• Module별 성능 시간 체크 가능.

• 설치 방법 쉬움.

l 단점

• Runtime Error는 검증이 안됨

Mobile Broadband Communication Lab. Konkuk University

Option

Mobile Broadband Communication Lab. Konkuk University

Goal&Referencel 암호알고리즘 하나를 선정하여 CBMC 로 분석.

l Transport Layer Security에 분석한 알고리즘 적용.

Reference

[1] 김성회,권기현 “CBMC 모델검증 도구를 이용한 엔터프라이즈 소프

트웨어검증”

[2] 강미영,유희준,최진영 “CBMC를 이용한 3DES의 검증”

[3] 안영정,최진영 “CBMC를 이용한 AES 암호화 모듈의 정형화 검증”

[4] ANSI-C Bounded Model Checker User Manual

[5] The CProver User Manual

Mobile Broadband Communication Lab. Konkuk University

감사합니다.