PDC 세째날: 소프트웨어 기술의 지금과 앞날 - Microsoft Research의 연구 성과
오늘은 MSR(Microsoft Research)의 Senior Vice President인 Rick Rashid의 Keynote로 PDC의 세번째 아침을 시작한다. 알다시피, Microsoft는 전세계에서 Software 기술 연구에만 매년 82억$ 이상을 투자하는 회사다.
Rick의 발표는 1990년에 Nathan Myhrvoid가 Bill Gates에게 Research의 중요성을 강조하는 Memo 편지를 주면서 MSR의 역사가 시작되었다는 얘기로부터 시작되어, 지금까지 MSR이 어떤 길을 걸으면서, 전세계 수많은 유수 연구기관들과 어떤 영감을 주고 받으면 지금에 이르렀는지를 차분한 말투로 정리하고 있다
솔직히, 나에게는, 첫날의 Azure보다 어제 Windows 7보다, 심지어는 '16년 동안 꿈에 그리던 Modeling Paradigm을 드디어 산업에서, 그것도 내가 월급을 받아 먹는 회사에서 당당히 물건으로 만들어낸 OLSO 프로젝트의 성과보다, 오늘의 발표가 훨씬 뜻깊다. 오랫동안 Software Engineering 그 가운데서도 Programming Language와 Software Modeling 분야의 탄탄한 연구 성과가 어떻게 실 산업에 적용되고, 그로 하여금 삶의 질이 올라가고, 그 무엇보다 세상 모든 이가 자본/정보/기술 발전의 격차로부터 빚어질 수 있는 삶의 질의 차이로부터 점점 더 자유로와 질 수 있을 것이라는 구름의 저편의 생각이, 어쩌면 가까운 앞날에 땅으로 내려와 현실이 될 지도 모른다는 믿음 때문에, 놀이 동산에 온 어린 아이처럼 가슴이 벅차다.
곧 이어, Vertical Industry를 중심으로 40000 편 이상의 논문이 각 분야에 발표되었다는 얘기로 그 동안의 연구 성과를 표면적으로 보여주면서, Muticore Computing, Distributed Computing과 같은 연구 주제로부터 얻어진 성과를 산업에 실현하는 산출물의 한 가지로, CCR(Concurrency Runtime) & DSS(Decentralized Services) Tookit 2008을 예로 들며 자랑한다. 이런 장면을 목격할 때마다, 각 분야마다 세계 수준의 연구와 어깨를 겨누는 업적이 결코 적지 않으면서도, 여전히 뒤떨어진 SW 기술에 대한 섣부르고 뒤틀린 가치 인식으로 가내 수공업 수준의 소프트웨어 개발 행태를 벗어나지 못하고 있는, 한 술 더떠서 기술의 진보를 표현하는 산업적 화두를 단순히 정치적, 사업적 목적으로만 활용하고 내다던지는, 그리하여 기술과 산업의 생태계를 여전히 후진적인 형태로 이끌어 가고 있는 우리의 모습을 자책하지 않을 수 없어서 너무 슬프다.
Microsoft 같은 규모의 회사가 산업에서 Agility를 잃지 않으려면, Basic Research가 얼마나 중요한 의미를 갖는지 수 차례 강조한다. 그렇겠지. 당연히 그렇겠지.
이어서, Zero-Defect SW Development를 향하여, 성능을 위해 안정성을 희생할 수 밖에 없는 프로그래밍 기술을 쓸 수 밖에 없는 경우에도, 전체 소프트웨어 시스템의 안정성에 근간이 되는 소프트웨어 부품들의 품질을 개선하기 위해서, SW의 결함을 모델 수준에서 미리 검출 차단할 수 있도록 하는 SLAM 프로젝트와 같은 연구 결과의 산출물이 산업에 곧바로 적용할 수 있는 기술로 현실화해내었다 점에서, ... 그리고, Windows 7의 Device Driver를 비롯하여 주요 소프트웨어 부품을 만드는데 적용하였다는 얘기가 나온다. 듣는 순간, 기쁨과 슬픔이 동시에 교차한다. ( 내가 왜 슬퍼하는 지는 미루어 짐작할 수 있으리라. ) 아래와 같은 연구 주제들, Computrer Science와 Mission-Critical SW 개발을 위한 최신의 연구 성과를 지난 오랫동안 뒤밟아 왔던 사람이라면, 아래와 같은 기술 연구의 성과가 본격적으로 널리 사용되게 되었다는 것만으로 이 행사에 참가한 그 모든 의의를 간추릴 수 있을 게다.
- Proving Programs Terminate : Termination/liveness prover of C Programs, Terminator finds and checks termination arguments
- CHESS (Detecting Hisenbugs in concurrent software construction), Code Contracts, Pex (effective localizing of defect code areas in SW Testing, etc.
- DryadLINQ & Dyrad - Cluster Computing
<계속>
Comments
Anonymous
October 29, 2008
말이 쉽지, 오천 명이 넘는 개발자가 한 자리에 모였다니. 팝콘 통신원 흥미진진하게 다양한 인종의 개발자들 사이를 누볐습니다. 그러다 한 가지 깨달은 사실. 여기도 생각보다 여성 참가자가Anonymous
October 29, 2008
PDC에 Kizoo님이 안가셨으면 이런 포스팅을 못봤을 지도 몰랐겠다는 생각이 너무 안도감이... 좋은 포스팅 감사합니다!