내 코드, 진짜 내가 이해했나?

여러분이 직접 작성한 코드를, 여러분이 완전히 이해하고 있다고 확신하시나요? 소프트웨어 공학을 배우는 학생들 사이에서 이 질문이 점점 더 중요해지고 있습니다. AI가 코딩을 도와주는 시대라서 내가 쓴 코드가 진짜 내 것인지 의문이 들 때가 많거든요.

왜 이런 연구가 필요했을까

요즘은 AI 코딩 도구가 많아져서 학생이 코드를 직접 짜지 않고도 과제를 완성할 수 있어요. 문제는 자기가 짠 코드를 제대로 이해하지 못해도 학점을 받을 수 있다는 겁니다. 이러면 학술적인 정직성(진정성)과 나중에 직장에서 전문가로서 책임을 지는 데 문제가 생길 수 있어요. 그래서 카네기멜론대 연구진은 학생이 자신의 코드를 진짜 이해했는지 확인하는 방법을 개발했습니다.

어떻게 확인했나

연구진이 만든 방법은 '개인 맞춤형 탐구 퍼즐(p^3)'입니다. 학생이 제출한 코드를 분석해서, 그 코드에 대한 이해도를 묻는 작은 퀴즈를 자동으로 만들어 내는 거예요. 예를 들어 "이 변수는 왜 여기서 쓰였을까?" 같은 질문이죠. 이 퍼즐은 학생이 따로 시간을 정해 풀 필요 없이, 자기 편한 시간에 자유롭게 풀 수 있고 몇 분이면 끝납니다. 연구진은 대학원 수준의 클라우드 컴퓨팅 수업에서 이 방법을 시험해 봤습니다.

연구진이 발견한 것

시험 결과, p^3 퍼즐은 학생들이 자신의 코드에서 놓친 부분, 즉 이해가 부족한 부분을 찾아내는 데 도움이 되었습니다. 예를 들어 학생이 AI의 도움을 많이 받은 코드라면 퍼즐에서 낮은 점수를 받았고, 반대로 스스로 고민해서 짠 코드는 높은 점수를 받는 경향이 있었어요. 하지만 아직 완벽한 방법은 아닙니다. 퍼즐 점수와 실제 코드 이해도 사이의 관계를 더 정확히 알아내는 연구가 앞으로 필요해요.

이 연구가 의미하는 바는, 앞으로 소프트웨어 교육 현장에서 학생의 진짜 실력을 평가하는 새로운 방법이 나올 수 있다는 겁니다. 또한 전문 개발자들이 서로의 코드를 검토하는 과정(코드 리뷰)에도 이런 퍼즐을 활용해서, AI에 지나치게 의존하지 않고 제대로 이해했는지 확인하는 데 쓸 수 있습니다. 편리한 AI 도구가 많아질수록, 사람의 이해와 책임을 평가하는 방법도 함께 발전해야 하는 시대인 거죠.

📖 원문 보기: arXiv 원문

본 요약은 AI로 작성되었습니다. arXiv 논문을 바탕으로 재구성되었습니다.