← 최신 논문
🤖 AI

Are Large Language Models Robust in Understanding Code Against Semantics-Preserving Mutations?

본 논문은 최첨단 대규모 언어 모델이 코드 작업에서 높은 예측 정확도를 달성하지만, 결함이 있는 추론에 자주 의존하며 의미 보존 코드 변형에 직면할 때 예측을 자주 변경하는 등 상당한 취약성을 보인다는 사실을 밝힌다.

원저자: Pedro Orvalho, Marta Kwiatkowska

게시일 2026-05-08
📖 4 분 읽기☕ 가벼운 읽기

원저자: Pedro Orvalho, Marta Kwiatkowska

원본 논문은 CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/) 라이선스로 제공됩니다. 이것은 아래 논문에 대한 AI 생성 설명입니다. 저자가 작성하거나 승인한 것이 아닙니다. 기술적 정확성을 위해서는 원본 논문을 참조하세요. 전체 면책 조항 읽기

상상해 보세요. 복잡한 수학 문제를 해결하고 놀라울 정도로 똑똑해 보이는 에세이를 쓸 수 있는 매우 재능 있는 학생이 있다고 가정해 봅시다. 당신은 그 학생에게 문제를 어떻게 해결했는지 설명해 달라고 요청하고, 그들은 완벽한 단계별 이야기를 들려줍니다. 당신은 그들이 실제로 그 내용을 이해하고 있다고 확신하게 됩니다.

하지만 같은 학생에게 "좋아, 이제 똑같은 문제를 풀어 보되, '사과'라는 단어 대신 '과일'이라는 단어를 사용하고, '더하다'라고 말하는 대신 '합산하다'라고 말해 보아라"라고 말한다면 어떨까요?

만약 그 학생이 갑자기 혼란스러워하거나, 답을 바꾸거나, 완전히 다른 (그리고 틀린) 설명을 한다면, 당신은 그들이 수학의 논리를 실제로 이해하지 못했다는 것을 깨닫게 될 것입니다. 그들은 단지 당신이 이전에 사용했던 특정 단어와 패턴을 외웠을 뿐입니다.

이것은 바로 옥스퍼드 대학교의 연구원들이 컴퓨터 코드를 이해하도록 요청했을 때 대규모 언어 모델 (LLM) 에 대해 발견한 사실과 정확히 일치합니다.

"바이브 코딩 (Vibe Coding)"의 함정

오늘날 많은 사람들이 AI 도구를 사용하여 코드를 작성합니다. 이를 "바이브 코딩"이라고 부르는 추세입니다. 우리는 이러한 AI 모델이 버그를 수정하고 프로그램을 작성하도록 신뢰합니다. 하지만 연구원들은 무서운 질문을 던졌습니다: 이러한 AI 모델들은 실제로 코드가 어떻게 작동하는지 이해하고 있는 것일까, 아니면 단순히 패턴에 기반하여 추측하는 데 매우 능숙한 것일까?

이를 확인하기 위해 연구원들은 AI 를 시험을 치르는 학생처럼 대했지만, 약간의 변형을 가했습니다.

"변신 (Shape-Shifting)" 테스트

연구원들은 컴퓨터 프로그램들을 여러 개 가져와서 그들에게 다섯 가지의 구체적인 "마술"을 행했습니다. 이러한 마술들은 코드가 어떻게 보이는지(구문) 는 바꾸었지만, 의미결과(의미론) 는 정확히 동일하게 유지했습니다. 마치 "고양이가 매트 위에 앉았다"라는 문장을 "매트 위에 고양이가 쉬었다"라고 다시 쓰는 것과 같습니다. 의미는 동일하지만 단어는 다릅니다.

그들이 사용한 다섯 가지 마술은 다음과 같습니다:

  1. 변수 이름 변경: my_listx9z2 로 변경합니다.
  2. 비교문 반전: if x > 5if 5 < x 로 변경합니다.
  3. 논리 교환: 결정의 "if" 부분과 "else" 부분을 서로 바꿉니다.
  4. 루프 변환: "for" 루프를 "while" 루프로 변경합니다.
  5. 루프 언롤링: 컴퓨터가 반복하게 하는 대신 루프의 마지막 몇 단계를 수동으로 작성합니다.

결과: 진정한 사고자가 아닌 영리한 추측자들

연구원들이 GPT-5.2 와 Gemini-3 와 같은 가장 유명한 모델을 포함하여 서로 다른 아홉 개의 AI 모델에 대해 이러한 테스트를 실행했을 때, 몇 가지 우려스러운 패턴을 발견했습니다:

  • "결함 있는 추론" 문제: AI 가 정답을 맞췄을지라도, 종종 잘못된 이유로 그렇게 했습니다. 실제로 10% 에서 50% 사이의 경우, AI 는 완전히 깨지거나 터무니없는 설명을 바탕으로 정답을 도출했습니다. 수학 시험에서 정답을 맞췄지만, 그것을 정당화하기 위해 지어낸 공식을 적어 놓은 학생과 같은 상황입니다.
  • "취약성" 문제: 위에서 언급한 마술들을 사용하여 코드가 "변신"되었을 때, AI 의 성능은 급격히 떨어졌습니다. 일부 모델은 정확도가 최대 **70%**까지 하락했습니다.
    • 비유: "소고기를 요리하라"고 말하면 스테이크를 완벽하게 요리할 수 있는 요리사를 상상해 보세요. 하지만 "소를 요리하라"고 말하면 그들은 당황하여 부엌을 태워버립니다. AI 모델들은 그런 요리사와 같습니다. 프로그램의 결과인 "식사"는 정확히 동일함에도 불구하고, 단순한 단어 변경에 혼란을 느낍니다.
  • "변수 이름"에 대한 민감성: 모델들은 변수 이름에 놀라울 정도로 민감했습니다. totalsum_total 로 변경하는 것만으로도 코드의 논리가 동일함에도 불구하고 실패하게 만드는 경우가 많았습니다. 흥미롭게도 인간도 나쁜 이름 때문에 약간 혼란을 겪지만, AI 의 반응은 훨씬 더 극단적이었습니다.

"최고의 학생들"도 완벽하지는 않습니다

연구원들은 무료 오픈소스 모델과 비싼 유료 모델 (GPT-5.2 와 Gemini-3 등) 을 모두 테스트했습니다.

  • 비싼 모델들원본 코드에 대해 정답을 내고 좋은 설명을 제공하는 데 가장 뛰어났습니다.
  • 그러나 코드가 약간 변경되었을 때, 이러한 "최고의 학생들"조차 크게 허둥지둥했습니다. 그들의 성능은 크게 하락했는데, 이는 표준 테스트에서의 높은 정확도가 그들이 근본적인 논리를 실제로 이해한다는 것을 의미하지 않는다는 것을 증명했습니다.

결론

해당 논문은 현재의 AI 모델들이 취약하다고 결론 내립니다. 그들은 패턴을 인식하고 인간의 추론을 모방하는 데 뛰어나지만, 코드가 실제로 어떻게 작동하는지에 대한 "형식적"인 이해는 부족합니다.

그들에게 한 가지 방식으로 문제를 해결하라고 요청하면, 그들은 정답을 얻을 수도 있습니다. 하지만 동일한 질문을 약간 다른 방식으로 (의미가 동일하더라도) 요청하면, 완전히 실패할 수도 있습니다. 이는 당분간 우리가 이러한 모델들이 코드를 깊이 있게 이해한다고 맹신해서는 안 된다는 것을 시사합니다. 그들은 올바른 답을 암송할 수는 있지만, 왜 그 답이 올바른지 항상 알고 있는 것은 아닌 매우 고급스러운 앵무새에 더 가깝습니다.

연구원들은 AI 를 코딩에 대해 진정한 신뢰를 할 수 있게 만들기 위해서는, 그들이 단순히 추측하는 것이 아니라 확실히 하기 위해 그들의 학습 능력과 엄격한 형식적 규칙 (정답만 확인하는 것이 아니라 수학 선생님이 과제를 확인하듯이) 을 결합해야 한다고 제안합니다.

연구 분야의 논문에 파묻히고 계신가요?

연구 키워드에 맞는 최신 논문의 일일 다이제스트를 받아보세요 — 기술 요약 포함, 당신의 언어로.

Digest 사용해 보기 →