고급소프트웨어공학dslab.konkuk.ac.kr/Class/2011/11ASE/Tools/고급... · 2012. 9. 13. ·...
Transcript of 고급소프트웨어공학dslab.konkuk.ac.kr/Class/2011/11ASE/Tools/고급... · 2012. 9. 13. ·...
![Page 1: 고급소프트웨어공학dslab.konkuk.ac.kr/Class/2011/11ASE/Tools/고급... · 2012. 9. 13. · Mobile Broadband Communication Lab.KonkukUniversity 고급소프트웨어공학](https://reader034.fdocuments.net/reader034/viewer/2022052021/60361e7f0915830e87204203/html5/thumbnails/1.jpg)
Mobile Broadband Communication Lab. Konkuk University
고급소프트웨어공학
CMBC - C Bounded Model Checker
MBC Lab.윤상준, 허주승
![Page 2: 고급소프트웨어공학dslab.konkuk.ac.kr/Class/2011/11ASE/Tools/고급... · 2012. 9. 13. · Mobile Broadband Communication Lab.KonkukUniversity 고급소프트웨어공학](https://reader034.fdocuments.net/reader034/viewer/2022052021/60361e7f0915830e87204203/html5/thumbnails/2.jpg)
Mobile Broadband Communication Lab. Konkuk University
Contentsi. CBMS 개요.
ii. CBMS를 이용한 샘플 테스트.
iii. 향후 연구 진행 방향.
![Page 3: 고급소프트웨어공학dslab.konkuk.ac.kr/Class/2011/11ASE/Tools/고급... · 2012. 9. 13. · Mobile Broadband Communication Lab.KonkukUniversity 고급소프트웨어공학](https://reader034.fdocuments.net/reader034/viewer/2022052021/60361e7f0915830e87204203/html5/thumbnails/3.jpg)
Mobile Broadband Communication Lab. Konkuk University
SoftwareVerificationl정형기법(formal methods) 과프로그램검증의목적?
l프로그램의정확성(correct)를명확하게증명하는것!
![Page 4: 고급소프트웨어공학dslab.konkuk.ac.kr/Class/2011/11ASE/Tools/고급... · 2012. 9. 13. · Mobile Broadband Communication Lab.KonkukUniversity 고급소프트웨어공학](https://reader034.fdocuments.net/reader034/viewer/2022052021/60361e7f0915830e87204203/html5/thumbnails/4.jpg)
Mobile Broadband Communication Lab. Konkuk University
CBMCl C,C++,JAVA 로 되어있는 소스프로그램의 검증 목
적.
l CUI 기반 인터페이스.
l Bounded Model Checking(BMC) 을 이 용 하 여ANSI-C 프로그램과 베릴로그 서킷(Verilog circuit)사이의 일치성(behavioral Consistency)을 체크하는Tool.
![Page 5: 고급소프트웨어공학dslab.konkuk.ac.kr/Class/2011/11ASE/Tools/고급... · 2012. 9. 13. · Mobile Broadband Communication Lab.KonkukUniversity 고급소프트웨어공학](https://reader034.fdocuments.net/reader034/viewer/2022052021/60361e7f0915830e87204203/html5/thumbnails/5.jpg)
Mobile Broadband Communication Lab. Konkuk University
FirstSteps– Hello.cSource Run
![Page 6: 고급소프트웨어공학dslab.konkuk.ac.kr/Class/2011/11ASE/Tools/고급... · 2012. 9. 13. · Mobile Broadband Communication Lab.KonkukUniversity 고급소프트웨어공학](https://reader034.fdocuments.net/reader034/viewer/2022052021/60361e7f0915830e87204203/html5/thumbnails/6.jpg)
Mobile Broadband Communication Lab. Konkuk University
FirstSteps– Hello.cSource Run
![Page 7: 고급소프트웨어공학dslab.konkuk.ac.kr/Class/2011/11ASE/Tools/고급... · 2012. 9. 13. · Mobile Broadband Communication Lab.KonkukUniversity 고급소프트웨어공학](https://reader034.fdocuments.net/reader034/viewer/2022052021/60361e7f0915830e87204203/html5/thumbnails/7.jpg)
Mobile Broadband Communication Lab. Konkuk University
VerifyingModules(1)Source Run
![Page 8: 고급소프트웨어공학dslab.konkuk.ac.kr/Class/2011/11ASE/Tools/고급... · 2012. 9. 13. · Mobile Broadband Communication Lab.KonkukUniversity 고급소프트웨어공학](https://reader034.fdocuments.net/reader034/viewer/2022052021/60361e7f0915830e87204203/html5/thumbnails/8.jpg)
Mobile Broadband Communication Lab. Konkuk University
VerifyingModules(2)
![Page 9: 고급소프트웨어공학dslab.konkuk.ac.kr/Class/2011/11ASE/Tools/고급... · 2012. 9. 13. · Mobile Broadband Communication Lab.KonkukUniversity 고급소프트웨어공학](https://reader034.fdocuments.net/reader034/viewer/2022052021/60361e7f0915830e87204203/html5/thumbnails/9.jpg)
Mobile Broadband Communication Lab. Konkuk University
UnboundedLoopsSource Run
![Page 10: 고급소프트웨어공학dslab.konkuk.ac.kr/Class/2011/11ASE/Tools/고급... · 2012. 9. 13. · Mobile Broadband Communication Lab.KonkukUniversity 고급소프트웨어공학](https://reader034.fdocuments.net/reader034/viewer/2022052021/60361e7f0915830e87204203/html5/thumbnails/10.jpg)
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....
![Page 11: 고급소프트웨어공학dslab.konkuk.ac.kr/Class/2011/11ASE/Tools/고급... · 2012. 9. 13. · Mobile Broadband Communication Lab.KonkukUniversity 고급소프트웨어공학](https://reader034.fdocuments.net/reader034/viewer/2022052021/60361e7f0915830e87204203/html5/thumbnails/11.jpg)
Mobile Broadband Communication Lab. Konkuk University
CBMSStrengths&Weaknessesl 장점
• ANSI-C 지원으로인한 문법 Checking.
• Module별 성능 시간 체크 가능.
• 설치 방법 쉬움.
l 단점
• Runtime Error는 검증이 안됨
![Page 12: 고급소프트웨어공학dslab.konkuk.ac.kr/Class/2011/11ASE/Tools/고급... · 2012. 9. 13. · Mobile Broadband Communication Lab.KonkukUniversity 고급소프트웨어공학](https://reader034.fdocuments.net/reader034/viewer/2022052021/60361e7f0915830e87204203/html5/thumbnails/12.jpg)
Mobile Broadband Communication Lab. Konkuk University
Option
![Page 13: 고급소프트웨어공학dslab.konkuk.ac.kr/Class/2011/11ASE/Tools/고급... · 2012. 9. 13. · Mobile Broadband Communication Lab.KonkukUniversity 고급소프트웨어공학](https://reader034.fdocuments.net/reader034/viewer/2022052021/60361e7f0915830e87204203/html5/thumbnails/13.jpg)
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
![Page 14: 고급소프트웨어공학dslab.konkuk.ac.kr/Class/2011/11ASE/Tools/고급... · 2012. 9. 13. · Mobile Broadband Communication Lab.KonkukUniversity 고급소프트웨어공학](https://reader034.fdocuments.net/reader034/viewer/2022052021/60361e7f0915830e87204203/html5/thumbnails/14.jpg)
Mobile Broadband Communication Lab. Konkuk University
감사합니다.