소프트웨어가 우리 일상생활 깊숙히 들어온 지 오래다. 다양한 기능을 가진 스마트폰은 전화라기 보다는 오히려 작은 컴퓨터에 전화기능을 추가한 것으로 볼 수 있다.
스마트TV와 스마트냉장고 등 가전제품도 소프트웨어 영향력이 점점 더 커지고 있다. 자동차 엔진을 제어하는 프로그램부터 원자력 프로그램, 로켓 제어 프로그램, 유전자 분석 프로그램까지 크고 작은 소프트웨어가 우리 삶에 직간접적 영향을 미치고 있다.
소프트웨어를 개발할 때 가장 중요한 것은 무엇일까. 다양한 크기와 기능의 소프트웨어가 있는 만큼, 소프트웨어마다 중요하게 여기는 목표가 서로 다른 것을 볼 수 있다.
대학원에서 공부할 때부터 현재까지 일관되게 이어온 나의 연구주제는 ‘안전한 소프트웨어 개발’이다. KAIST 박사과정 중 프로그램을 실행하기 전에 소스코드를 자세하게 분석해, 프로그램 실행 중에 일어날 수 있는 비정상적인 상황을 예측, 소프트웨어로 인한 재앙을 미연에 방지하는 방법을 개발했다.
이미 작성된 프로그램을 분석해 더 나은 프로그램으로 개선하는 것도 중요하지만, 프로그램 개발 중에 더 안전한 프로그램을 작성하도록 돕는다면 효율적일 것이다.
이를 위해 하바드대에서 박사 후 연수과정을 하며 다양한 프로그래밍 언어와 플랫폼을 지원하는 디버깅 기법을 개발했다. 이후 선마이크로시스템즈(Sun Microsystems) 연구소에서 프로그래밍 언어 자체가 안전한 프로그램 개발을 유도하도록 하는 포트리스(Fortress)라는 차세대 언어를 개발해 프로그래밍에 익숙하지 않은 과학자 및 공학자들이 수식 표현을 자연스럽게 사용하고 멀티코어에 대한 별도의 지식없이 병렬 프로그래밍을 가능하도록 했다.
현재는 2009년 겨울부터 KAIST에서 학생들과 함께 새로운 분야에 도전하고 있다. 현재 웹사이트 대부분에서 사용하고 있는 자바스크립트(JavaScript)라는 스크립팅 언어는 보안적으로 매우 취약하다는 문제점을 안고 있다. 제대로 된 프로그래밍 언어 설계와 분석 기법을 사용해 자바스크립트로 안전한 웹 어플리케이션을 작성하도록 하는 내용을 연구하고 있다. 자바스크립트 언어가 다양한 분야에 광범위하게 사용되고 있는 만큼, 산업체와 공동연구도 추진 중이다.
포트리스 프로그래밍 언어 안전성을 ‘Coq’이라는 증명보조도구를 사용해 기계적으로 증명하는 과제를 오라클 연구소와 함께 국제 공동연구로 진행하고 있다.
2년 전 새로운 시작과 함께 가졌던 포부는 잘 듣고 공감하고 이해하고 기다려주는 따뜻한 리더십으로 학생들과 함께 열심히 공부하고 연구하는 것이었다. 소통의 부재가 화두인 요즘 투명하고 열린 마음으로 함께 치열하게 중요한 문제를 해결해가는 연구팀이 되도록 노력할 것이다.
류석영 KAIST Computer Science Dept. 조교수 sryu@cs.kaist.ac.kr
과학 많이 본 뉴스
-
1
“中 반도체 설비 투자, 내년 꺾인다…韓 소부장도 영향권”
-
2
기계연, '생산성 6.5배' 늘리는 600㎜ 대면적 반도체 패키징 기술 실용화
-
3
네이버멤버십 플러스 가입자, 넷플릭스 무료로 본다
-
4
KT 28일 인사·조직개편 유력…슬림화로 AI 시장대응속도 강화
-
5
삼성전자, 27일 사장단 인사...실적부진 DS부문 쇄신 전망
-
6
'주사율 한계 돌파' 삼성D, 세계 첫 500Hz 패널 개발
-
7
K조선 새 먹거리 '美 해군 MRO'
-
8
GM, 美 전기차 판매 '쑥쑥'… '게임 체인저' 부상
-
9
삼성전자 사장 승진자는 누구?
-
10
美 캘리포니아 등 6개주, 내년부터 '전기차 판매 의무화'
브랜드 뉴스룸
×