UPDATED. 2024-03-29 23:10 (금)
서울대 공대 허충길 교수팀, LLVM 컴파일러에 새 명령어 추가
서울대 공대 허충길 교수팀, LLVM 컴파일러에 새 명령어 추가
  • 허정윤
  • 승인 2020.01.26 15:35
  • 댓글 0
이 기사를 공유합니다

성능저하 없이 오류 해결하는 freeze 명령어에 구글도 주목

국내 연구진이 세계에서 가장 많이 쓰이는 컴파일러 중 하나인LLVM 오류를 해결하는 명령어를 개발했다. 

서울대 공대(학장 차국헌)는 컴퓨터공학부 허충길 교수팀(소프트웨어원리 연구실)이 LLVM 컴파일러의 문제점을 발견하고 이를 해결하기 위해 제안한 freeze 명령어가 지난 11월 LLVM에 공식적으로 추가됐다고 23일 밝혔다.  

LLVM은 현재 애플, 구글, 페이스북 등 세계 유수 회사 및 여러 오픈소스 프로젝트에서 사용되고 있다. 대표적인 프로젝트로는 C/C++ 컴파일러 Clang, 애플의 Swift 언어, 구글의 Tensorflow 프로젝트, 그리고 프로그래밍 언어 Rust가 있다.

연구진은 LLVM 컴파일러 중간 언어에 존재하는 ‘정의되지 않은 행동(undefined behavior)’이란 개념이 가진 문제점 및 이로 인해 발생할 수 있는 컴파일러 오류들을 발견했다. 이에 해결 방법으로 freeze라는 새로운 명령어를 제안하고 성능저하 없이 문제를 해결할 수 있음을 실험을 통해 입증했다. 

이 연구는 학계에서 먼저 인정받아 2017년에 프로그래밍 언어 분야 최고 학회 중 하나인 PLDI(Programming Language Design and Implementation)에 발표됐다. 이후 산업계에서도 이 문제에 대한 심각성을 인지하고 활발한 토의가 이루어져 2년만인 지난 11월에 공식적으로 freeze 명령어가 LLVM에 추가되기에 이르렀다. 

서울대 허충길 교수는 “이번 연구는 해외에서 더욱 주목하고 있다“며, ”논문발표 이후 이 문제로 인해 LLVM 컴파일러가 구글의 소프트웨어를 잘못 컴파일하는 문제가 발생하며 이번 연구가 더욱 주목받는 계기가 됐다“고 설명했다. 

이번 연구는 허충길 교수의 주도 하에 구글, 마이크로소프트, 아줄 시스템, 미국 유타 대학과 공동 연구한 결과다. 더 자세한 내용은 다음 링크를 통해 확인할 수 있다.

기술 소개 페이지: http://sf.snu.ac.kr/freeze/  

LLVM의 freeze 공식 설명: https://llvm.org/docs/LangRef.html#freeze-instruction


댓글삭제
삭제한 댓글은 다시 복구할 수 없습니다.
그래도 삭제하시겠습니까?
댓글 0
댓글쓰기
계정을 선택하시면 로그인·계정인증을 통해
댓글을 남기실 수 있습니다.