목차

ASE 2025 기행문

시리즈 - 기행문

ASE 2025(40th IEEE/ACM International Conference on Automated Software Engineering)가 2025년 11월 16일부터 20일까지 그랜드 워커힐 서울에서 개최되었다. 나는 11월 17일부터 3일간 학회에 참석했다. ASE는 소프트웨어 공학 전반을 다루는 국제 학회로, 프로그램 분석, 테스트 자동화, 소프트웨어 보안, AI 기반 개발 지원 등 다양한 연구가 발표되는 자리이다. 나는 현재 Fuzzing(소프트웨어에 무작위 입력을 넣어 오류를 자동으로 발견하는 테스트 기법) 관련 연구를 진행 중이며, 평소에 정적 분석(프로그램을 실행시키지 않고 분석하는 기법)에도 큰 관심이 있어 학회 참석을 결심하게 되었다. 마침 올해 운 좋게도 PL 및 SE 분야의 국제 학회가 두 번이나 서울에서 열렸는데, 6월 PLDI 2025에는 일정상 참석하지 못해 아쉬움이 남아 이를 만회하고 싶은 마음도 있었다.

이번 ASE 2025에서 기대한 점은 크게 세 가지였다.

  1. 관심 분야인 Fuzzing과 정적 분석, 그리고 요즘 무섭게 성장하는 AI의 SE 내 활용 현황을 파악하는 것이었다. 이는 학회 동안 어떤 발표를 들을지 고르는 기준이 되었다.
  2. 연구자로서 처음 참석하는 국제 학회였으므로 학회의 분위기를 만끽하고 싶었다. 운영이나 친목에 익숙해지고 훗날 더 자연스럽게 학회 흐름에 몸을 맡기기 위한 준비였다. 나중에 발표나 포스터를 준비할 때 참고 사항을 적어보기도 했다.
  3. 연구와 직접 관련은 없겠지만 그랜드워커힐 호텔의 뷔페나 식당 음식이 맛있다는 후기를 본 터라 맛있는 식사를 고대했다.

이렇게 설렘을 안고 출발한 ASE 2025에서 보고 느낀 점을 정리해 본다.

ASE 2025는 발표 시간이 10분으로 매우 짧은 대신 모든 발표자가 포스터를 반드시 준비한다는 운영 방식이 독특했다. 그래서 발표는 대부분 문제 제기와 결론 위주로 구성되었고, 자세한 기법이나 질문은 따로 마련된 포스터 세션 시간을 활용했다. 국내 워크숍 형식과 유사해 개인적으로는 익숙했고, 발표보다 포스터 세션에서 연구를 깊이 있게 이해하고 흥미로운 뒷이야기를 들을 수 있어 만족스러웠다. 또한, 국제 학회다 보니 연구자들과 교감하는 데 좀 더 큰 용기가 필요했는데, 포스터 세션은 그런 자리를 자연스럽게 형성해 주어 편안했다.

이어서 인상 깊었던 연구를 소개한다.

웹 개발에 주로 쓰이는 PHP 언어의 기능 오류(logic bugs)를 찾기 위해, JIT(Just-In-Time) 컴파일러가 포함된 PHP 인터프리터와 그렇지 않은 인터프리터 간 실행 결과를 비교하는 차등 테스트(differential testing) 기법을 제안한 연구이다. 언어만 다를 뿐, 동기와 기법이 Python 인터프리터의 기능 오류를 찾는 지금 내 연구와 거의 유사해 처음부터 들으려 마음먹었다. 선행 연구가 거의 없고 사용하는 인터프리터 간 사용 비중이 두드러지게 차이 나는 점도 내 상황과 비슷해 놀라웠다. 그래서 발표가 끝난 뒤 포스터 앞에서 연구자와 연락처를 나누었다. 지금 주제에 대한 확신을 얻고 동기부여를 받은 소중한 경험이었다. 연구자께서 지금은 Python 인터프리터의 크래시 오류를 찾고 계시다 하니, Python 연구를 지속하다 보면 앞으로 또 뵐 일도 있을지 모르겠다.

ZendDiff 접근 개요

요약 실행(abstract interpretation) 기반의 정적 분석기에서, 정확도를 높이기 위해 어떤 반복문을 풀어헤칠지(loop unrolling) 결정하는 휴리스틱을 GNN 기반 머신러닝 기법으로 자동화하는 시도를 다룬 연구이다. 이번 학기 오학주 교수님께 들은 프로그램 분석 수업에서 교수님께서 종종 말씀하시던, 요약 실행의 실용화를 위해 필요한 연구의 일종이어서 관심이 생겼다. 요약 실행 위주의 정적 분석을 배웠고 앞으로 계속 연구할지 고민할 정도로 강한 흥미가 있는데, 학회 전반적으로 관련 연구는 적어 더욱 소중하게 들었다. 중간에 우리 연구실 논문들이 선행 연구로 인용되어 좀 반가웠다. 정적 분석을 배우며 분석기의 설계 및 성능이 전문가의 직관에 크게 의존하는 점이 치명적인 한계라고 느꼈기에, 이러한 연구가 쌓여 정적 분석이 널리 쓰이는 데 도움이 되리라 믿는다.

Loupe의 선행 연구 및 접근. 하단에 익숙한 이름들이 조그맣게 쓰여있다.

Swagger로 불리던 OpenAPI 명세를 활용하여 REST API의 테스트 오라클(테스트 결과가 올바른지 판단하는 기준)을 자동으로 생성하는 기법을 제안한 연구이다. REST API는 웹·앱(프론트엔드)과 서버(백엔드)가 주소(URL)와 간단한 요청으로 서로 데이터를 주고받게 하는, 가장 널리 쓰이는 통신 방식이다. 예전에 웹 서비스 개발을 했던 경험을 토대로 연구가 제시한 문제에 크게 공감이 갔다. 한편, 이 연구는 탁월한 슬라이드 구성으로 인해 기억에 남는다. 물론 발표도 그에 걸맞게 이해가 잘 됐다. 종종 다른 발표에서 슬라이드에 글자가 빼곡한데 촉박한 발표 시간으로 인해 슬라이드의 내용을 모두 다루지 못하고 넘어가 듣는 이도 마음이 급해지는 경우가 있었다. 반면 이번 발표는 한 슬라이드에 말하고자 하는 내용을 최대한 줄이고, 슬라이드도 키워드 중심으로 구성해 발표자의 말에 집중할 수 있었다. 평가 결과를 보여줄 때 글꼴과 색 대비를 활용해 숫자를 강조한 방식도 보기 편해 속으로 수없이 감탄했다.

AI가 우리 삶과 연구에 지대한 영향을 주고 있기에 AI를 이론적으로 공부하는 한편, 최신 추세를 익힐 필요가 있다고 생각한다. 그래서 가장 큰 방에서 SE4AI & AI4SE로 마련된 트랙에 간간이 머물렀다. 머신러닝 알고리즘을 수단으로 사용하는 연구보다는 LLM 활용 위주의 주제나 기법이 많아서 LLM의 영향을 다시금 체감했다. 다만, 단순히 SE 문제에서의 LLM 특성을 맛보는 실증 연구(empirical study)나 해결책보다 벤치마크 구축 위주의 연구가 많은 것은 기대했던 방향과 다소 괴리가 있었다. 간혹 연구 제목이 다루는 문제가 재미있어 보여 발표를 들으러 갔다가 벤치마크만 소개하고 발표가 끝나면, 중요한 문제를 공감하는 데에 그쳐야 했다.

점심 식사는 전부 도시락으로 제공됐다. 도시락이 지금까지 접한 것 중 최고급이어서 뷔페를 예상했던 나는 아쉬움을 삼키면서도 맛있게 먹을 수밖에 없었다. 우선, 한 끼에 메인 반찬이 3개였는데, 돼지/생선/닭처럼 전혀 다른 갈래로 구성되어 육해공을 아우르는 다양한 맛을 느낄 수 있었다. 첫째 날 저녁이 뷔페였는데, 안타깝게도 수업 때문에 일찍 떠나 먹지 못했다. 둘째 날 저녁은 한식 코스 요리가 나왔다. 운영진에서 한국의 맛을 방문자에게 선보이려는 의도가 다분히 보였는데, 내 생각에는 다들 한식에 대해 좋은 기억을 가지고 돌아갈 것 같다. 코스에 있던 생전복의 싱싱한 식감이 별미였다.

국제 학회지만, 익숙하게 살고 있는 서울이기에 외부 관광은 전혀 없었다. 그럼에도 5성급 호텔은 자주 오는 곳이 아니기에 호텔에서 즐겼던 거리를 몇 가지 적어본다.

  • 한강 전망: 한강을 접한 곳에 있는 호텔이어서 학회 내내 창밖으로 찬란한 한강을 마주했다. 학회장에서 본 한강과, 걸어서 퇴근하던 날 찍은 한강 야경을 사진에 담았다.
  • 인생네컷 부스: 돌아다니다가 우연히 발견한 인생네컷을 연구실 동료들과 함께 찍었다. 예상치 못한 만큼 재미있는 추억이 되었다.
  • 크리스마스트리: 연말 분위기를 고조시키는 크리스마스트리가 정문 앞에 크게 세워져 있었다. 저녁에 빛나는 게 감성을 자극했는데, 아쉽게도 사진은 없다.

학회 내내 SE의 넓은 분야를 가장 크게 체감했다. 우리 연구실에서 주로 다루는 테스팅, 프로그램 분석, 정형 검증뿐 아니라, 보안 정책이나 소프트웨어 설계, 더 나아가 소프트웨어 설계에 관한 연구도 많았다. 특히 소프트웨어 설계는 예전에 클린 아키텍처나 디자인 패턴을 공부하며 깊이 고민했던 터라, 공감 가는 내용이 많아 흥미로웠다. 지금까지 예상치 못한 접점에서 당장 푸는 문제의 아이디어를 얻거나 삶의 방향이 바뀌는 경우가 많았으므로, 나중에도 SE 학회에 간다면 다양한 분야에 꾸준히 관심을 가지도록 노력해야겠다. 그리고 산업계의 SE에 대한 관심도 기억에 남는다. 키노트에 산업계와 실용성을 위한 SE 연구 방향 제안이 포함되었을뿐더러, 구글과 마이크로소프트 같은 빅테크 기업의 발표 세션 시간도 준비되어 있었다. 이 또한 연구로서 현실의 소프트웨어 시스템에 이바지하기 위해 부단히 신경 써야 하는 요소임을 깨달았다.

한국에서 열렸기 때문에 학회장에 한국인이 많아 심심하지 않게 다른 연구자분과 이야기 나눌 수 있었다. 이전 국내 워크숍 때 뵈었던 분들께 인사드리는 한편, 처음 뵙는 한국인 분들도 많아 견문을 넓힐 수 있었다. 또한, 논문을 읽다 보면 자주 보는 중국, 미국 대학뿐만 아니라 다양한 국가에서 오신 분들이 많아 이야기 나누는 재미가 쏠쏠했다. 한 번은 일본인 연구자의 포스터를 보고 있었는데, 어쩌다 보니 일본어로 대화하게 되었다. 최근 학교에서 일본어를 배우고 있던 터라 실제로 써보고 싶었는데, 학회에서 처음 해보다니 신기했다. 그분께서는 독일에서 유학 중이셨는데, 먼 타지에서 고향 말을 들어 신나셨는지 내게 여러 가지를 일본어로 물어보셨다.

발표를 들으며 배경지식 혹은 영어 듣기의 한계로 연구를 제대로 이해하지 못한 경우가 많아 아쉬웠다. 더군다나 발표 시간이 10분으로 짧아 곱씹으면서 듣기도 어려웠다. 그래서 둘째 날엔 들을 발표를 미리 표시해 두고, 초록이라도 읽고 가니 한결 나았다. 앞으로는 발표 세션 동안 동선을 계획적으로 짜야겠다. 그리고 팁이 있다면, 짐을 최대한 가볍게 챙기는 게 좋을 듯하다. 겉옷과 노트북이 든 무거운 가방을 들고 10분마다 발표 사이사이에 이동하다 보니 힘이 빠져 막상 발표 시간에 집중도가 떨어졌다.

연구실 들어오기 전에 여행 리포트를 재미있게 읽었고, 나도 학회에 가보고 싶다는 소망을 품었는데, 여행 리포트를 쓰는 순간이 오다니 영광이다. 이토록 유익한 기회를 제공해 주신 오학주 교수님께 감사드린다. 다음엔 내 연구로 학회장을 찾도록 정진해야겠다.