한국과학기술원(KAIST·총장 이광형)은 류석영 전산학부 교수팀이 박지혁 고려대 교수와 함께 영어로 작성한 자연어 명세에서 컴퓨터에 친화적인 기계화 명세를 자동 추출해, 이를 기반으로 자바스크립트 생태계 안정성을 보장하는 기술을 개발했다고 7일 밝혔다.
가장 널리 사용되는 프로그래밍 언어 중 하나인 자바스크립트는 컴퓨터 뿐 아니라 스마트폰, 스마트시계 등 다양한 기기에서 동작한다.
현재 자바스크립트는 2015년부터 매년 새로운 기능이 추가될 정도로 급성장해 그 부작용으로 작동이 되지 않거나 개인 정보가 유출되는 등 생태계 안정성을 보장하기가 어려운 상황이다.
연구팀은 이번 기술로 크롬 및 엣지와 같은 웹 브라우저에 내장된 자바스크립트 엔진과 코드 변환 도구에서 수많은 결함을 검출했다.
또 자바스크립트용 정적 분석기(프로그램을 실행하지 않고 자동 분석하는 도구)를 결함 없이 자동 생성하는데 성공해, 기존 수동으로 개발됐던 정적 분석기보다 우수한 안정성을 확보했다.
이에 자바스크립트 언어 명세를 관리하는 위원회에서 자바스크립트에 새 기능을 추가할 때마다 이 기술을 필수 사용하도록 했다. 개발 기술은 자바스크립트 언어 명세 작성 도중에도 결함을 검출할 수 있어, 자바스크립트 언어 설계 초기 단계 결함을 줄이는 효과를 보였다.
뒤이어 빠르게 성장하고 있는 웹어셈블리 언어에도 관련연구를 적용하고, 네트워크 SW용 프로그래밍 언어인 P4에 적용하는 연구를 코넬대 연구팀과 공동으로 진행하고 있다.
연구팀은 모든 연구 결과물을 오픈 소스 SW로 개발해 공개했다. 브라우저만 있으면 어느 기기에서나 자바스크립트 코드가 올바르게 동작하도록 돕는 데 기여했다.
류석영 교수는 “10년이 넘는 동안 뚝심 있게 자바스크립트를 연구한 학생들의 노력이 만들어 낸 획기적인 기법”이라며 ”더 많은 프로그래밍 언어에 적용해, 일상생활에서 더 안전하고 올바르게 동작하는 SW를 사용할 수 있기를 기대한다”고 말했다.
이번 연구는 컴퓨팅 분야 최고 학술지인 '커뮤니케이션즈 오브 더 ACM' 5월호에 게재되고 온라인으로는 4월 24일 발표됐다.
한편 이번 연구는 한국연구재단 중견연구자지원사업 및 선도연구센터, 정보통신기획평가원(IITP), 삼성전자 지원을 받아 수행됐다.
김영준 기자 kyj85@etnews.com