연구실의 승완님, 우석님, 준영 박사님, 교수님과 함께 연구한 TurboTV 연구를 발표하러 ICSE2024에 참석하게 되었다. 이번 학회 참석은 나에게 처음인 것이 매우 많았다. 처음 해외 학회, 처음 영언 연구 발표, 처음 포르투갈, 처음 비행기 경유까지 대부분이 처음인 탓에 학회 한 달 전부터 큰 긴장과 기대를 했다. 우리의 연구 성과를 알리는 중요한 발표이기 때문에 많은 분들께 도움을 받은 수많은 발표자료 수정과 계속해서 발표 연습을 하며 학회를 준비를 하니 어느새 학회로 출발하는 날짜가 되었다.
2024년 4월 15일, 한국에서 출발하여 아부다비를 경유하는 장장 22시간(경유 시간 포함)의 비행 끝에 포르투갈 리스본에 도착을 했고 학생 멘토링 워크숍이 시작하기 1시간 전이었기 때문에 씻지도 못하고 학회장으로 가게 되었다. 학회장에 도착하니 학회장이 정말 크고 멋졌으며, 수많은 사람들이 있는 것을 보면서 내가 정말 큰 국제 학회에 참석하게 되었다는 것을 실감하게 되았다.
처음 도착하자마자 찍은 학회장 |
씻지도 못 했지만, 놓칠 수 없는 기념 사진 |
빠질 수 없는 기념 사진2, 진짜 올리브 나무라고 한다. |
본 학회가 시작하기 전, 학생 멘토링 워크샵이 열렸고 나도 참석했다. 처음에는 단순히 수업 형식의 멘토링 강연을 듣는 형태인 줄 알았지만 막상 시작되자 굉장히 능동적으로 참여할 수 있도록 워크샵이 진행되었다. 덕분에 멘토링에 참석한 다른 사람들과 여러 대화도 나눠볼 수 있었으며 많은 경험을 할 수 있었다. 내가 멘토링을 통해서 얻은 것은 크게 두 가지였다.
다양한 사람들과의 대화: 나는 언젠가부터는 내가 관심있는 분야와 같은 관심사가 있는 사람들, 비슷한 생각을 갖고있는 사람들과만 지내다보니 다른 분야는 어떠한 유행이 존재하고, 다른 사람들은 어떠한 관심사가 있는지를 알 수 있는 기회가 별로 존재하지 않았다. 하지만 멘토링에서 다른 사람들과 여러 대화를 하면서 정말 많은 관점을 얻을 수 있었다. 왜 대학원을 다니는지, 왜 연구를 하는지, 왜 해당 분야를 선택하게 되었는지에 대해서 소프트웨어 엔지니어링(Software Engineering, SE) 학계에 존재하는 많은 사람들의 관점을 들을 수 있었다. 너무 개인적인 이야기들이라 구체적으로 언급하기는 어렵지만, 나와 비슷하다고 느낀 대답들이 아예 없었을 정도로 정말 다양한 사람들의 생각, 관점을 알 수 있는 계기가 되었으며 그냥 내가 바라보는 내 자신이 아닌 세상에서의 나 자신을 다시 한 번 되돌아 볼 수 있는 계기가 되었다.
멘토님들의 조언: 멘토링에서 여러 멘토님들이 다양한 조언을 해주셨다. 여러명이서 토론을 해볼 수도 있었고, 멘토님과 1대1 상담을 할 수도 있었고, 질문 형식을 통해 답변을 들을 수도 있었다.
처음에는 연구 발표를 어떻게 해야하고, 어떻게 잘 할 수 있는지에 대한 조언을 들었다. 결국엔 끊임없이 발표 연습을 해야한다는 것을 다시 확인할 수 있었으며 자신의 발표 연습을 녹화해서 보라는 조언에 다음에는 꼭 이렇게 연습해 봐야겠다는 다짐을 했다. 또한, 영어를 잘 못하는 사람은 어떻게 질의응답을 해야하냐는 질문에 한 멘토님께서 질문에서 한 단어라도 들렸으면 최대한 질문을 예측해서 준비된 답변을 길게하고, 질의응답을 시간을 끝낸 후에 1대 1로 이야기를 하자고 하면 된다는 답변을 해주셨다. 이에 나도 써먹을 수 있으면 꼭 써먹어야 겠다는 다짐을 했다.
또한, 멘토님과 1대 1로 상담할 수 있는 기회가 생겨 평소 하던 고민을 여쭤보았다. 연구에서 풀고 싶었던 문제가 결국 작은 문제로 쪼개지고 또 쪼개지는 상황에서 큰 흐름을 챙기기가 쉽지 않다라는 것이었다. 문제에 몰두해서 열심히 풀다보면 현재 풀고 있는 문제가 큰 흐름에서 어떠한 문제를 정의하고 푸는 것인지가 막상 놓칠 때가 있다는 것이었다. 이에 현재 풀고 있는 문제를 너무 새로운 문제로 정의해서 원래 문제에서 벗어나지 않고 큰 흐름의 문제에 포함될 수 있도록 유도해보라는 조언을 얻을 수 있었다.
여러 멘토님들께 다양한 조언과 내 평소 궁금증들을 어느 정도 해결할 수 있어서 짧은 시간이었지만 뜻깊고 재밌는 시간을 보낼 수 있었다.
큰 기대를 하지 않았던 멘토링이었지만 기대를 하지 않았던 내 자신을 반성할 정도로 알차고 재밌던 시간을 보내게 되었다.
멘토링 다음날 드디어 본 학회가 시작하는 날이었다. 매우 웅장한 오페라 홀에서 시작이 되었으며 ICSE에 등록한 사람들, 사람들이 온 국가, 제출된 논문 통계 등 압도적인 숫자들의 소개와 함께 내가 정말 큰 학회에 오게 되었으며 저런 치열한 경쟁을 뚫고 우리의 논문이 통과 되었으며, 이 학외에서 내가 연구 발표를 한다는 것이 어떤 의미인 지를 다시 깨달을 수 있었다. 또한 다양한 분야의 연구들이 발표된 다는 것을 보고 다양한 경험을 할 수 있을 것에 매우 기대가 되었다.
매우 웅장한 홀에서 열린 ICSE의 시작 |
학회 개막식 중. 우리의 논문이 이러한 경쟁률을 뚫었다. |
발표 자료를 만들고 발표 준비를 하면서 항상 고민과 걱정의 시간들을 보냈다. ‘과연 이 설명을 사람들이 이해할까?’, ‘사람들이 재미없어하면 어떡하지?’, ‘어떤 질문(공격)들이 들어올까?’ 등 수많은 질문을 나 자신에게 던지고 스스로 답변을 하는 시간을 보냈다. 학회에 도착하기 전에는 ‘내가 발표를 잘 할 수 있을까?’라는 스스로에 대한 걱정이 강했지만 학회를 도착하자 ‘더 많은 사람들이 내 발표를 듣고 더 많은 질문이 들어오면 좋겠다.’라는 능동적인 기대와 긴장이 강해졌다. 학회에서 다른 연구 발표를 들으러 돌아다닐 때, 많은 사람들이 발표를 듣다가 다른 것을 보거나, 질문도 하지 않는 경우들이 존재했고 나 역시 다른 발표를 들을 때 해당 연구를 잘 이해하지 못하는 경우가 발생하는 것을 보며 나의 발표에서는 이러한 일들이 일어나지 않았으면 좋겠다라는 간절한 바램을 갖게 되었다.
공항에서 연습 중인 나 |
TurboTV의 발표는 본 학회 3일 중 둘 째날 오전이었는데, 매우 좋은 발표시간을 배정받았다고 생각했다. 첫 날에는 학회를 돌아다니고 다른 발표를 들으며 학회란 어떤 곳인지를 스스로 파악할 수 있는 시간이 주어졌으며 둘 째날에는 아직 학회장에 사람들이 많이 남아있고 발표를 듣는 사람들의 집중력도 아직 좋을 때라 나에게는 정말 좋은 밢표시간이었다. 비록 발표 전 날 밤에 쉽게 잠들지 못하고 계속 발표 연습을 중얼거리며 같은 방을 쓰던 태은님을 괴롭혔지만 나름 발표 연습도 열심히 했고 또 우리의 연구에 많은 사람들이 재밌어 할 것이라는 자신이 있었기에 발표가 기다려졌다.
하지만 막상 발표 시작이 정말 눈앞으로 다가오자 인생에서 몇 번 느껴본 적 없는 긴장감이 나에게 도래했다. 발표 시작 10분 전부터는 제대로 숨을 쉬는데만 집중해서 겨우 호흡이 돌아왔고 발표 시작부터 질의응답이 끝날 때까지는 기억이 거의 끊겼으며 나중에 태은님이 찍어준 영상을 복기해서야 겨우 발표할 때의 기억을 되살릴 수 있었다. 주어진 발표 시간은 10분이었는데, 발표연습을 할 때는 아무리 빨라도 9분 10초 보다 적게 나오지 않았는데, 내 발표가 끝나니 겨우 8분 20초만 지나 있었다. 발표를 하면서 내가 무언가를 놓치고 말을 못했다라는 느낌만 존재하고 무엇을 말하지 못했는지도 알지 못한 채로 발표를 끝냈다. 다행히 여러 연습으로 대부분은 전달할 수 있었고 열심히 만들어진 발표 자료 덕분에 우리의 연구를 사람들에게 전달할 수 있었다. 발표할 때도 많은 사람들이 집중을 지켜주었고 질의응답시간에도 여러 흥미로운 질문들이 들어왔다. 내 발표를 사람들이 잘 이해 못해서 발표 내용에 대한 질문만 들어오면 어떡하지라는 걱정을 했었지만 다행히도 여러 사람들이 연구의 핵심 아이디어를 이해하고 우리의 연구의 확장 가능성 등에 대해서 질문들을 해주어 건설적이고 즐거운 질의응답 시간이 되었다. 내가 발표를 너무 일찍 끝난 탓에 멘토링에서 배운 스킬을 사용하지는 못했지만 세션이 끝나고도 몇몇 사람들이 세부적인 연구와 여러 시도들에 대해서 질문을 해주었다. 특히 한 분은 TurboTV의 아이디어 중 하나였던 Cross-Language TV에서 세부적으로 실제로 Alive2와 TurboTV의 인코딩된 수식이 어떻게 합쳐질 수 있고 Z3를 어떻게 사용해서 그 수식을 푸는지까지 물어봐서 내 발표를 정말 이해해주고 재밌게 들어주었구나라는 느낌을 받아서 매우 기뻤다. 내 발표를 들어준 사람들과 대화를 하고 연락처를 교환하면서 같은 학술적 관심사를 공유한다는 것이 얼마나 즐거운 일인지를 다시 깨달을 수 있었다.
발표 중인 나 |
발표 후 가장 열심히 대화를 나눴던 분의 이름표 (잊지 않겠습니다) |
첫 발표여서 그런지 많이 긴장했고, 여러 실수들도 존재했지만 정말 많은 것을 배웠고 사람들에게도 내용을 잘 전달한 성공한 발표였다고 생각한다. (나만 그렇게 생각한 것은 아니겠지…?) 내가, 우리가 생각해낸 아이디어와 이루어낸 성과를 다른 사람들에게 전달하고 그 사람들이 우리의 연구에 공감하고 흥미를 느낀다는 것은 훌륭하고 행복한 경험이었다. 또한 내가 연습을 덜하고, 준비를 덜해서 사람들을 이해시키지 못했다면 이러한 경험을 하지 못했을 것이라고 생각한다. 석사 과정이 막 1년이 지난 시점에서 이런 큰 국제 학회에서 연구 발표를 할 수 있는 기회가 주어졌다는 것이 큰 행운이었다고 생각이 들었다.
내 발표가 끝난 날인 두 번째 날에는 뱅큇(Banquet)이 열리는 날이어서 참석하게 되었다. 처음에는 학회기 때문에 점잖은 분위기일 줄 알았으나 폐공장에서 광란의 재즈밴드와 함께 파티가 벌어졌다. 포장마차에서 음식을 받아서 먹으며 주변 사람들과 즐겁게 즐길 수 있는 분위기였다. 비록 발표가 끝나고 긴장이 풀려서 제대로 즐기지 못했지만, 마음 만은 제일 신나게 즐기고 있었다.
ICSE 2024 뱅큇. 매우 감성 있는 장소, 음식, 사람들 |
열정적인 재즈밴드 |
학회의 또 다른 재미는 내가 재미있어 보이는 연구를 원하는 대로 들을 수 있다는 것이다. 누군가의 아이디어와 노력이 담긴 성과를 그 사람이 직접 전달해주는 경험은 항상 새롭고 재밌었다. 기억에 남는 연구들은 다음과 같다.
가장 기억에 남는 연구만 간략하게 소개하자면 자동 운전 시스템 (Automated Driving System, ADS)을 테스팅하기 위해서 실제 운전 상황을 기록하고, 해당 운전 상황 (옆 차선의 차량, 신호등 등등)을 인코딩 ADS를 시뮬레이션하여 테스팅하는 연구가 존재했다. 내가 흥미있게 들었던 이유는 TurboTV와의 유사성을 느꼈기 때문이다. TurboTV는 프로그램이 올바르게 최적화되었는지 검산하기 위해서 프로그램의 의미를 인코딩하여 검사를 수행한다. 발표된 연구도 결국 어떠한 상황을 인코딩하여 검사를 수행하는 것이기 때문에 유사하다고 느꼈다. 프로그램이란 결국 사람(개발자)의 생각이 코드로 표현된 것이고 해당 프로그램을 인코딩하는 것은 어떠한 사람의 행동(생각)을 인코딩하는 것이다. 컴퓨터란 결국 계산기이기 때문에 우리가 세상을 인코딩하다면 컴퓨터가 세상을 계산할 수 있을 것인가 그렇다면 세상의 현상을 이해할 수 있을지에 대한 호기심도 들었다.
평소에 보안에 관심이 많았기 때문에 흥미로운 주제라고 생각을 해서 발표를 찾아 들었다. 스마트폰의 클립보드 기능은 사람들이 가장 많이 쓰는 기능이지만 생각해보면 스마트폰 앱이 클립보드에 접근할 때 사용자에게 접근 권한을 묻지 않고 그냥 접근을 한다. 그렇기에 스마트폰의 클립보드가 흥미로운 보안 목표라는 것에 공감을 하니 발표를 굉장히 재밌게 들을 수 있었다. 이 연구에서는 안드로이드 앱들이 어떠한 안드로이드 API를 사용해서 클립보드에 접근하는지 분석하고 앱이 해당 정보에서 민감한 정보를 추출해서 사용하는지 등을 모두 분석하여 자동으로 위험을 정적으로 분석하는 시스템을 구축하였다. 어떻게 보면 굉장히 좁은 범위를 연구했다고 볼 수도 있지만, 연구의 목표인 스마트폰의 클립보드의 위험성에 대해 누구나 공감을 할 수 있었으며, 오히려 클립보드에 집중하였기 때문에 더 자세하고 정확하게 분석을 할 수 있는 점들도 보였다. 이 발표를 들으면서 역시 연구는 누구나 공감할 수 있는 문제를 정의하고 해당 문제에 대한 직관을 보여주는 것이 중요하다는 것을 깨달을 수 있었다. 이 연구는 Distinguished Paper Award를 수상하였다.
이제부터 소개할 연구들은 모두 LLM (Large Language Model, 거대 언어 모델)을 활용하였고 LLM을 변형하지 않고 그 자체를 극한으로 이용한 연구들이다. 제목이 굉장히 자극적이었기 이 연구 발표를 듣게 되었다. 이 연구는 유명한 LLM인 ChatGPT을 바로 활용하였으며 이를 활용하여 자동으로 보고된 안드로이드의 버그를 재현하는 것이 목표이다. 프롬포트를 활용해서 LLM이 버그 보고서를 이해할 수 있도록 유도하고, LLM이 보고서에 있는 버그상황을 그대로 따라할 수 있도록 유도하는 방법을 소개하였다. 놀라운 점은 안드로이드의 GUI의 이벤트까지 인코딩하여 더 복잡한 단계의 어떠한 버튼의 순서대로 눌렀을 때 버그가 발생했다는 보고서까지 재현을 했다는 것이다. 이러한 연구를 볼 때는 항상 양가감정이 든다. 과연 LLM을 이해하려고 하지않고 있는 그대로 사용하는 것이 과연 옳은 일일까라는 의구심, 이러한 문제들을 푸는데 LLM을 쓰는 것은 너무 비싸고 문제를 대충 푸는 것일 수도 있지 않을까라는 부정적인 감정과 현재 LLM이 잘하고, LLM만 할 수 있는 일들을 정의해서 적극적으로 활용하여 문제를 푸는 것이 더 좋은 일일 수도 있다는 긍정적인 감정이 끊임없이 충돌한다. 이러한 연구들은 현재 굉장히 유행하고 관심을 많이 받는 연구들이기 때문에 흥미롭게 지켜보며 세상의 흐름을 느끼는 것도 매우 좋은 일인 것 같다.
이 연구는 LLM을 활용하여 C, C++, JAVA, Python, 심지어 SMT2 프로그램까지 만들어내며 해당 프로그램을 입력으로 받는 다양한 프로그램들을 퍼징한 연구이다. 이 연구 역시 LLM 있는 그대로를 적극적으로 활용했으며 모델에게 언어의 표준을 가르쳐주고, 해당 표준을 이해하고 해당 기능을 사용하는 프로그램을 만들도록 유도한다. 처음에는 큰 기대를 갖지 않았으나 LLM이 내 기대보다 훨씬 프로그램을 잘 만든다는 것을 발표를 통해 알게되면서 재미있게 발표를 들었다. 역시 요즘 핫한 주제인 만큼 수많은 사람들이 발표를 들으러 온 것을 보며 다시 한 번 LLM의 인기를 느꼈다. 해당 연구는 GPT-4를 사용했으며 이를 통해서 기존의 퍼징 도구들보다 더 나은 커버리지 달성율을 보여주며 연구의 우수성을 보였다. 하지만 한 편으로는 기존의 도구들은 CPU만을 사용하지만, Fuzz4All은 openai의 수많은 비싼 GPU를 활용하여 퍼징을 하는 것인데 과연 공정한 비교라고 할 수 있는지 의문이 들었다. LLM의 비용이 비싸다는 것에 대한 질문 역시 나왔다. 나는 이 연구를 들으면서 저렇게 다양한 언어를 사용해서 프로그램을 생성할 거면 역시 LLM 말고는 대안이 없겠구나라는 생각과 그래도 저렇게 비싼 모델을 퍼징에 활용하는 것은 너무 비효율적이다라는 양가감정이 발생했다.
이 외에도 여러 흥미로운 연구를 많이 들을 수 있었고 요즘 유행인 거대 언어 모델(Large Language Model, LLM)을 활용한 다양한 연구들을 보며 세상이 어떠한 생각을 하고 어떠한 연구를 하는지를 경험할 수 있는 기회를 얻었다.
발표 준비를하고, 발표를 하고, 다른 연구 발표들을 듣는 와중에 짬짬이 최대한 리스본을 즐겨보았다. 점심시간에는 학회장과 연결되어 있는 현대미술관을 다녀왔고, 저녁시간에는 학회장 근처에 있는 벨렝탑과 발견기념비를 다녀왔다. 마지막 날에는 코메르시우 광장과 골동품 시장을 둘러보며 성공적으로 리스본을 즐겼다.
코메르시우 광장 |
태은 님과 찍은 제로니무스 수도원 |
전망대에서 찍은 리스본 풍경 |
빠질 수 없는 단체샷. 벨렝탑 앞에서 |
돌아오는 길 역시 아부다비를 경유하며 돌아왔다. 학회를 잘 마무리했다는 좋은 마음가짐과 갈 때보다 더 짧은 비행시간 덕분에 한결 편한 마음으로 내 발표 영상을 복기하고 앞으로의 마음가짐을 정리하며 돌아왔다.
나의 첫 국제 학회 참석 및 연구 발표는 정말 많은 것을 나에게 가르쳐 주었다. 정말 많고 다양한 사람들과 이야기를 나누며 나에게 부족한 다양한 생각과 이해를 해주게 되었고, 경험이 많고 뛰어난 사람들은 나에게 필요한 조언과 경험들을 전수해 주었다. 또한 여러 연구들을 보고 발표를 하며 연구의 의의에 대해서도 다시 생각해볼 수 있었다. 우리는 왜 연구를 하고, 어떠한 연구를 하고 있으며, 우리가 한 연구는 세상에선 도대체 어떤 의미를 갖고 있을까? 우리가 한 연구가 의미가 없다면 그 연구는 그만두어야 하는 것일까 아니면 의미를 찾아내야하는 것일까? 세상에는 수많은 문제가 존재하고, 우리는 세상에 존재하는 문제를 풂으로써 더 나은 세상을 만들기 위해 연구를 한다고 생각한다. 이번 ICSE 2024는 나에게 많은 것을 가르쳐 주었고 나에게 또 앞으로 나아갈 원동력을 주었다. 같이 연구하는 동료 분들과 교수님, 이번 학회를 지원해준 학교와 나라 덕분에 이러한 좋은 경험을 할 수 있었다. 앞으로도 더 정진해서 앞으로 나아갈 다짐을 할 수 있었다.