소프트웨어 오류 자동 검증 기술

7
소소소소소 소소 소소 소소 소소 이이이 이이이 이이이이이이 [email protected] 02-880-1857 011-895-9374

Upload: lev-fletcher

Post on 30-Dec-2015

86 views

Category:

Documents


0 download

DESCRIPTION

소프트웨어 오류 자동 검증 기술. 이광근 서울대 컴퓨터공학부 [email protected] 02-880-1857 011-895-9374. 두개의 기둥 을 갖추어야. 소프트웨어 개발 프로세스 개발팀을 구성하고 운영해야 하는 체계 체계적인 운영을 강제하는 개발 도구 목표의 50% 만 달성시켜줌 : sw 오류는 계속 나타남 소프트웨어 오류 자동 검증 기술 자동 : 소프트웨어가 소프트웨어를 분석 검증 : 오류가 없다는 것을 확인해 줌 기술의 성숙도 : 무르익어 산업체로 흘러들고 있슴 - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: 소프트웨어 오류 자동 검증 기술

소프트웨어 오류 자동 검증 기술

이광근서울대 컴퓨터공학부[email protected]

02-880-1857011-895-9374

Page 2: 소프트웨어 오류 자동 검증 기술

두개의 기둥을 갖추어야• 소프트웨어 개발 프로세스

– 개발팀을 구성하고 운영해야 하는 체계– 체계적인 운영을 강제하는 개발 도구– 목표의 50% 만 달성시켜줌 : sw 오류는 계속 나타남

• 소프트웨어 오류 자동 검증 기술– 자동 : 소프트웨어가 소프트웨어를 분석– 검증 : 오류가 없다는 것을 확인해 줌– 기술의 성숙도 : 무르익어 산업체로 흘러들고 있슴– 목표의 나머지 49% 를 달성시켜 줄 것임 : 무결점 sw

Page 3: 소프트웨어 오류 자동 검증 기술

자동검증이 필요한 이유• 자동

– 엄청나게 크고 복잡해 지는 소프트웨어– hw 복잡도 증가속도 << sw 복잡도 증가속도– 불가능 : 사람이 쉽게 오류를 찾을 수 없슴 – 저렴한 무결점 sw 개발기술 = 자동화된 기술

• 검증 – 테스트 : 오류 있슴 만 확인– 검증 : 오류 없음 을 확인– “sw 의 벤츠” = sw 검증기술로 개발된 제품 = 제품의

품질 / 명성

Page 4: 소프트웨어 오류 자동 검증 기술

성공적인 자동검증 기술들• 프로그램 분석 (static program analysis)

– 요약해석 (abstract interpretation)– 모델검증 (model checking)– 자동증명 (theorem proving)

• 20-30 년 동안 학교에서 무르익은 기술• 위의 세가지 기술의 조합이 이제 비로소

실용적인 모습으로 현장으로 퍼지고 있슴

Page 5: 소프트웨어 오류 자동 검증 기술

자동검증 기술이 적용된 예 ( 외국 )

• Microsoftware (2001 년 이후 )– device driver sw 검증 : SLAM technology– 안전한 , 오류없는 sw 개발에 집중 : 요즘 Bill Gates 연설의 기초

• Unix/Linux kernel 검증 (2000 년 이후 )– model checking, static analysis 의 조합– os community 에서 가장 주목받고 있는 기술 : 논문상은 이 분야

• AirBus (2002 년 이후 )– aviation controller 모듈 sw 검증에 static analysis 기술적용– AirBus sw 개발 프로세스의 표준으로 static analysis 과정을 결정

• 이기술에 특화된 회사들 등장 :– AbsInt, Astree, PolySpace technologies, Trusted Logic,

GrammaTech, Esterel Technologies, Galois Connections, etc.

Page 6: 소프트웨어 오류 자동 검증 기술

자동검증 기술이 적용된 예 ( 국내 )

• 예– Java, ML 프로그램 : 처리되지않는 예외상황으로 프로그램이 갑자기

멈출수 있는가 ? 검증 .– C( 과학위성 OS 모듈 ): 메시지 버퍼 인덱스가 범위를 벋어나지

않는가 ? 검증 .– DB 프로그램 : 열린 테이블이 닫히지 않고 방치되는가 ? 검증 . – WEB 프로그램 ( 국가보안기술연구소 ): 웹소스가 , 알려진 해커의

침입방법에 뚤릴 수 있는가 ? 검증 .

• 국내 산업체 적용은 아직 미미• AirBus sw subsidiary 아시아 컨설팅 파트너로 논의중 :

– ropas.snu.ac.kr ( 서울대 프로그래밍 연구실 )– 프랑스 파트너 : Ecole Polytechnique, Ecole Normale

Superieure

Page 7: 소프트웨어 오류 자동 검증 기술

sw 검증기술의 국내 산업체 적용 모델

• safety-critical sw 가 아닌경우– consumer product 가 요구하는 sw 무결점의

정도에 맞는 검증도 가능– 검증할 성질을 정의해서 검증기를 구성하면 된다 .– 검증하는 비용은 적다 : 3000lines/sec(

컴파일러의 속도 ), 프로그래머가 일상적으로 사용할 수 있다 .