Presentation is loading. Please wait.

Presentation is loading. Please wait.

지금의 소프트웨어 기술 얼마나 미개한가 이광근 교수 전산학과 프로그램 분석 시스템 연구단.

Similar presentations


Presentation on theme: "지금의 소프트웨어 기술 얼마나 미개한가 이광근 교수 전산학과 프로그램 분석 시스템 연구단."— Presentation transcript:

1 지금의 소프트웨어 기술 얼마나 미개한가 이광근 교수 전산학과 프로그램 분석 시스템 연구단

2 컴퓨터하드웨어 크기의 변화 1946 ENIAC 1997 Intel Teraflops 2002 IBM ASCI White

3 다름 분야에서도 마찬가지 에너지 1980년 원자력발전소1기 1899년 하인1명 hp hp

4 다른분야도 마찬가지 교통 Boeing Delta-II Rocket 가마 j j

5 컴퓨터소프트웨어 크기 소프트웨어크기도 비슷하게 증가 삼성휴대폰: 30만줄 GNU Emacs, 아래아한글 등:
MS Windows: 3000만줄, 3만개 이상의 알려진 버그들!

6 소프트웨어의 버그(bug) 소프트웨어에 있는 오류 소프트웨어가 생각한대로 실행되지 않는 것
사람이 소프트웨어를 잘못 만들었기 때문: 천재지변이 아님

7 소프트웨어 버그는 사회문제 모두가 알게될 것이다: 크고작은 사고들을 통해서 (최근의 인터넷 대란) 집단공포/공황 새로운 법률
소프트웨어 보험 소프트웨어의 높은 비용

8 소프트웨어의 버그 어머니가 전해준 슈퍼마켓 심부름 목록(프로그램) 우유 1리터 2병 우유가 없으면 오렌지주스 1리터 3병
우유가 있으면 식빵 500그람 1봉 쌀과 자두 우유 1리터 1병만 있으면? “우유 1리터 2병이 없으면”? “쌀과 자두”? “쌀과자두”?

9 소프트웨어의 버그 알고있는 버그: Y2K 알지못하는 버그: 핸드폰, PDA, 자동차, Ariane 5.01(1996),
Mars polar lander(1999), 5ESS

10 벅잡는 기술: 미개한 현재 전통적인 주먹구구식 방법: 테스트, 소프트웨어 읽기 성능
ATT: 전화시스템 프로그래밍의 생산성 = 10줄/달(1996) ETRI: 2달 걸려서 1글자 버그를 찾다 (2000)

11 벅잡는 기술: 다른분야 전자동 기술 구충제: pill 살충제: spray 예방주사: shot

12 소프트웨어 벅 사람이 손으로/손쉽게 잡을 수 없다 엄청나게 커지고 복잡해 진 소프트웨어 새로운 컴퓨터 환경: 지구 = 컴퓨터
전지구적 광속의 넷트웍을 타고 불특정 다수의 코드가 내게로 온다 (핸드폰 게임/응용, napster/소리바다) 문제: 버그없는 소프트웨어인지 자동으로 확인하는 기술이 필요

13 전산학(computer science) 연구의 한 역사
“버그가 없는지 확인해 주는 프로그램을 만들어보자” 또는 “버그를 자동으로 찾아주는 의 역사

14 벅 잡는 기술: 1세대 문법 검증기: lexical analyzer & parser 1970년대에 완성된 기술
버그 = 소프트웨어의 생김새가 틀린것 우유 1리터 2병 우유가 없으면 오렌지ㅈㅅ 1리터 3병 있으면 빵식 우유가 500그람 1봉 쌀과 자두

15 벅 잡는 기술: 2세대 타입검증(type checking)기: 1990년대에 완성 30년간 프로그래밍언어 분야의 연구 성과
버그 = 소프트웨어가 생긴것은 멀쩡한데 잘못된 값이 잘못된 계산과정에 흘러드는 경우 (타입이 맞지 않는 경우) 우유를 담은 얼음을 가스불위에 올려놓고 데운다 식빵을 유리접시에 담고 방아로 빻는다 2의 접시에 1의 우유를 튀긴다

16 벅 잡는 프로그램: 3세대 프로그램분석(static analysis): 2010년정도에나 실용화
버그 = 생긴것도 멀쩡하고 타입도 맞지만 실행결과가 바라는 바가 아닌것 실행중에 가져야 할 정교한 조건을 만족시킬 수 없는 경우 우유를 담은 스텐냄비를 가스불위에 올려놓고 데운다 식빵을 스텐접시에 담고 방아로 빻는다 가스불 = 포항제철용광로 방아 = 현대중공업 프레스

17 기억해 주세요 감사합니다. -소프트웨어에는 버그가 없어야 합니다. 소프트웨어는 끊임없이 복잡하고 커집니다.
소프트웨어에 버그가 없는 지를 자동으로 확인해 주는 기술이 필요합니다. -이 기술의 현재수준은 이제 겨우 2세대입니다. -이 기술을 최종적으로 달성하기 위해서는 수학/논리학/전산학의 긴밀하고 깊이있는 교류와 공부가 필요합니다. 감사합니다.


Download ppt "지금의 소프트웨어 기술 얼마나 미개한가 이광근 교수 전산학과 프로그램 분석 시스템 연구단."

Similar presentations


Ads by Google