OPEN FIELD열린마당

홈으로화살표열린마당화살표뉴스

뉴스

게시물 상세보기
이우석 교수, POPL 2021에 논문 발표
작성자 : 관리자(swict@hanyang.ac.kr )   작성일 : 2021.01.29   조회수 : 592
img
소프트웨어학부 이우석 교수님의 논문이 POPL 2021: Proceedings of the 48th ACM SIGPLAN Symposium on Principles of Programming Languages에 발표되었습니다.
 
▶ 논문 정보
- 제목 : Combining the Top-Down Propagation and Bottom-Up Enumeration for Inductive Program Synthesis

- 출판학회 : POPL 2021: Proceedings of the 48th ACM SIGPLAN Symposium on Principles of Programming Languages (BK21 플러스 사업 컴퓨터공학 분야 최우수 국제학술대회, IF: 4)

- 우수성
  1) POPL은 PLDI와 함께 프로그래밍 언어 분야 양대 최우수 학회로, 프로그래밍 언어 이론 분야의 주목할 만한 성과가 출판되는 학회입니다.
  2) POPL에 단독저자로 논문이 출판되는 경우는 국내 최초이며 세계적으로도 드문 성과입니다.

▶ 논문 내용
프로그램 합성은 사용자가 제공하는 요구조건을 만족하는 프로그램을 자동으로 생성해내는 기술이다. 대표적인 성공 사례는 Microsoft Excel 에 탑재된 FlashFill 기능이다. 그림 1은 A열의 이메일 주소로 부터 성명을 추출하여 B열을 채우는 일을 자동화해주는 FlashFill 기능의 시연 예로, 사용자가 1~2개 예제를 제공하면 FlashFill 이 사용자 의도를 이해하여 나머지 칸을 순식간에 채워준다. 이는 내부적으로 프로그램 합성 기술이 사용된 예이다. 사용자가 제공한 입출력 예제를 만족시키는 (즉, 이메일주소로부터 성명을 추출하는 일을 하는) 엑셀 스크립트가 FlashFill 에 의해서 자동으로 생성된 후, 그 생성된 프로그램이 실행된 결과이다. 
 



(그림1: Microsoft Excel 에 탑재된 FlashFill 기능 사용 예)

 
프로그램 합성 기술은 최근 들어 괄목할만한 진보를 보여 여러 상용 소프트웨어 (Microsoft Excel, Visual Studio, PowerShell 등)에 탑재될 만큼 실용성을 갖추게 되었으나, 가장 큰 한계는 특정 개별 과업에 대해서만 작동할 수 있다는 것이었다 (예: Excel 의 FlashFill 기능은 기본적으로 제한된 문자열 변환에만 적용 가능함). 

본 연구에서는 고성능 다목적 프로그램 합성 알고리즘 Duet을 제안하였다 (그림 2). 세부적으로, 매우 효율적이지만 적용대상이 제한적인 Top-Down Propagation라고 불리는 기존 알고리즘과, 적용대상에 제한이 없으나 비효율적인 Bottom-Up Enumeration이라 불리는 기존 알고리즘들의 장점만을 결합하였다. Duet 알고리즘은 매우 다양한 응용 도메인에 사용될 수 있으면서 기존의 가장 빠른 프로그램 합성기들 (예: FlashFill) 못지 않은 빠른 성능을 보인다.  
 



(그림 2: Duet 프로그램 합성 알고리즘 개요)

실험 결과, FlashFill 이 대상으로 하는 문자열 변환 도메인 뿐만 아니라, 프로그램 최적화, 부채널 공격 방어, 프로그램 역난독화 등 매우 다양한 분야에 존재하는 프로그램 합성 문제들을 대상으로, 기존 다목적 프로그램 합성 도구들 대비 월등한 성능을 보였다. 개발된 프로그램 합성 SW도구 Duet은 오픈소스로 공개되었다 (https://github.com/wslee/duet). 
이전글 Scott Uk-Jin Lee 교수, 2020학년도 ERICA IC-PBL 강의혁신상 우수 교원 선정 
다음글 ICT융합학부 김정룡 교수 국토교통부장관 표창장 수상 
리스트