프로그래밍 언어 이론 및 언어 명세
이 연구 주제는 프로그래밍 언어의 의미론, 타입 시스템, 언어 설계 원리를 체계적으로 이해하고 이를 실제 언어 개발과 검증에 연결하는 데 초점을 둔다. 연구실은 자바스크립트와 같은 널리 사용되는 언어를 대상으로, 언어가 어떻게 정의되고 구현되어야 하는지에 대한 이론적 기반을 다루며, 복잡한 언어 기능을 기계적으로 해석 가능한 형태로 정교화하는 문제를 연구한다. 특히 빠르게 변화하는 웹 생태계에서 언어 명세와 구현 사이의 불일치를 줄이는 것이 중요한 목표이다. 이를 위해 기계화 언어 명세, 의미론 추출, 정제 타입 기반 분석, 언어 구현과 설계의 동시 발전 같은 접근을 활용한다. 연구실의 관련 연구와 프로젝트는 자바스크립트 명세를 분석 가능한 형태로 바꾸고, 명세 그 자체를 도구화하여 개발 도구의 신뢰성을 높이는 방향으로 전개된다. 이러한 방법은 단순한 이론 연구를 넘어, 실제 개발자들이 사용하는 컴파일러, 인터프리터, 분석기, 테스트 도구의 기반 기술로 이어진다. 이 연구의 기대 효과는 새로운 프로그래밍 언어 기능을 더 안전하게 설계하고, 기존 언어의 복잡성을 체계적으로 다루며, 언어 구현 오류를 조기에 발견할 수 있다는 점이다. 장기적으로는 웹 앱, 데스크톱 앱, 모바일 및 IoT 환경까지 확장되는 현대 소프트웨어 플랫폼에서 언어 수준의 안정성과 예측 가능성을 높이는 핵심 기반이 된다. 또한 학문적으로는 프로그래밍 언어 이론과 소프트웨어 공학을 연결하는 중요한 접점을 제공한다.
정적 프로그램 분석과 버그 탐지
이 연구 주제는 프로그램을 실행하지 않고도 동작을 추론하여 오류 가능성, 취약점, 비정상 동작을 발견하는 정적 분석 기술을 중심으로 한다. 연구실은 프로그램 분석의 정확도, 성능, 건전성 사이의 균형을 중요한 문제로 보고 있으며, 실제 소프트웨어에 적용 가능한 분석 기법을 설계하고 개선하는 데 집중한다. 특히 대규모 웹 애플리케이션과 동적 언어는 구조가 복잡하고 실행 환경이 다양하기 때문에, 기존 분석 기법만으로는 충분하지 않은 경우가 많아 이를 해결하기 위한 새로운 분석 프레임워크가 필요하다. 연구실의 대표적인 방향은 매개변수화된 정적 분석, 자바스크립트 웹 애플리케이션 분석, 분석 가속화, 명세 기반 검사 및 차분 테스팅 등이다. 이를 통해 특정 프로그램에 적합한 분석 설정을 탐색하고, 분석 비용을 줄이면서도 의미 있는 결함을 찾아내는 방법을 연구한다. SAFE 계열 프레임워크와 자바스크립트 분석 도구 연구는 실제 환경에서 발생하는 버그를 발견하고 언어 구현과 애플리케이션 품질을 함께 향상시키는 데 기여한다. 이 연구는 소프트웨어 신뢰성 향상에 직접적으로 연결된다. 분석 기술이 발전하면 개발 초기 단계에서 결함을 발견할 수 있어 유지보수 비용을 줄이고, 보안 사고나 서비스 장애를 예방하는 데 도움이 된다. 더 나아가 정적 분석은 컴파일러 최적화, 자동 검증, 테스트 효율화와도 긴밀히 연결되므로, 산업계와 학계 모두에서 활용 가치가 매우 높다. 연구실은 이론적으로 엄밀하면서도 현장 적용성이 높은 분석 기술을 만드는 데 강점을 가진다.
설명가능 그래프 학습을 위한 프로그래밍 언어 기반 방법
이 연구 주제는 그래프 신경망 중심의 기존 그래프 학습이 가진 설명 가능성 부족 문제를 해결하기 위해, 프로그래밍 언어 관점에서 새로운 그래프 학습 방법을 제안하는 융합 연구이다. 연구실은 분류 결과의 이유를 사후적으로 추정하는 방식이 아니라, 처음부터 해석 가능한 표현 체계를 통해 학습과 설명을 함께 수행하는 접근에 주목한다. 이는 의사결정의 근거가 중요한 응용 분야에서 특히 큰 의미를 갖는다. 구체적으로는 그래프 기술 언어를 설계하고, 그래프 데이터를 설명할 수 있는 프로그램을 합성하는 방식으로 학습 문제를 재구성한다. 이 접근은 전통적인 딥러닝 모델과 달리, 출력 결과뿐 아니라 해당 결과를 이끈 규칙과 구조를 명시적으로 제공할 수 있다는 장점이 있다. 연구실의 PL4XGL 연구는 프로그램 합성, 언어 설계, 해석 가능 머신러닝을 결합하여 그래프 분류의 정확도와 설명 품질을 동시에 확보하려는 시도라는 점에서 독창적이다. 이 연구의 파급력은 인공지능의 신뢰성과 투명성을 높이는 데 있다. 설명 가능한 그래프 학습은 생명과학 네트워크 분석, 사회 연결망 분석, 지식 그래프, 보안 탐지 등 다양한 영역에서 활용될 수 있으며, 결과에 대한 사용자 이해와 검증 가능성을 크게 높인다. 동시에 이 연구는 프로그래밍 언어 이론이 인공지능의 설명 가능성 문제 해결에도 기여할 수 있음을 보여주며, 향후 해석 가능한 AI의 새로운 방법론으로 발전할 가능성이 크다.