KAIST-고려대, 자바스크립트 안정성 보장 기술 개발
엔진 및 코드 변환 도구서 결함 검출
국내 연구진이 자바스크립트 안정성을 보장할 수 있는 기술을 개발했다. 류석영 KAIST 전산학부 교수 연구팀과 박지혁 고려대 교수와 공동연구를 통해 인간 친화적인 형태인 영어로 작성한 자연어 명세에서 컴퓨터에 친화적인 형태인 기계화 명세를 자동으로 추출해 이를 기반으로 자바스크립트 생태계 안정성을 보장하는 기술을 개발하는데 성공했다고 7일 밝혔다.
전 세계에서 가장 널리 사용되는 프로그래밍 언어 중 하나인 자바스크립트는 컴퓨터 뿐 아니라 스마트폰, 스마트시계 등 다양한 기기에서 동작하기 때문에, 자바스크립트 실행기를 올바르게 구현하는 것이 매우 중요하다. 프로그램 개발 및 배포 과정에서 사용되는 소프트웨어의 안정성 보장도 중요하다.
현재 자바스크립트는 2015년부터 매년 새로운 기능이 추가될 정도로 급성장에 따른 부작용으로 프로그램 실행 중 작동이 되지 않거나 개인 정보 유출 등 언어 생태계의 안정성을 보장하기가 상당히 어려운 상황이다.
이에 연구팀은 이번 기술을 개발해 크롬 및 엣지와 같은 웹 브라우저에 내장된 자바스크립트 엔진 및 코드 변환 도구에서 수많은 결함을 검출해 내는 데 성공했다. 연구 결과물은 누구나 활용할 수 있도록 오픈 소스 SW로 공개했다.
또 자바스크립트용 정적 분석기(주어진 프로그램을 실행하지 않고 자동 분석하는 도구)를 결함 없이 자동으로 생성하는 데 성공했다. 기존 수동으로 개발돼오던 정적 분석기보다 우수한 안정성을 제공했다.
자바스크립트 언어의 명세를 관리하는 위원회에서는 자바스크립트에 새로운 기능을 추가할 때마다 이 기술의 장점을 인정해 필수적으로 사용하도록 했다. 이 기술은 자바스크립트 언어의 명세를 작성하는 도중에도 결함을 검출할 수 있어 자바스크립트 언어의 설계 초기 단계에서 발생할 수 있는 결함을 줄이는 효과 볼 수 있다
연구팀은 자바스크립트 후속 언어로 빠르게 성장하고 있는 웹어셈블리 언어에도 관련연구를 적용할 예정이다. 네트워크 소프트웨어용 프로그래밍 언어인 P4에 적용하는 연구도 코넬대학 연구팀과 공동으로 진행하고 있다.
류석영 KAIST 교수는 "10년이 넘는 동안 뚝심 있게 자바스크립트를 연구한 학생들의 노력이 만들어 낸 획기적인 기법”이라며 "더 많은 프로그래밍 언어에 적용해, 일상생활에서 더 안전하고 올바르게 동작하는 소프트웨어를 사용할 수 있기를 기대한다”고 말했다.
한국연구재단 중견연구자지원사업 및 선도연구센터와 정보통신기획평가원(IITP), 삼성전자의 지원을 받아 수행된 이번 연구는 컴퓨팅 분야 최고 학술지인 'Communications of the ACM' 5월호에 게재됐다.