Skip to main content
QUICK REVIEW

[논문 리뷰] 40 Years of Designing Code Comprehension Experiments: A Systematic Mapping Study

Marvin Wyrich, Justus Bogner|arXiv (Cornell University)|2022. 06. 22.
Software Engineering Research참고 문헌 152인용 수 5
한 줄 요약

이 체계적 맵핑 연구는 1979년에서 2019년 사이의 95개의 코드 이해 실험을 분석하여 공통된 설계 패턴을 규명하고, 방법론적 결함을 드러내며 향후 연구를 위한 개선 방안을 제안한다. 연구는 연구 설계와 보고의 광범위한 일관성 부족을 드러내며, 비교 가능성, 타당성, 재현 가능성을 향상시키기 위한 체계적인 프레임워크와 실행 가능한 권고 사항을 제공한다.

ABSTRACT

The relevance of code comprehension in a developer's daily work was recognized more than 40 years ago. Consequently, many experiments were conducted to find out how developers could be supported during code comprehension and which code characteristics contribute to better comprehension. Today, such studies are more common than ever. While this is great for advancing the field, the number of publications makes it difficult to keep an overview. Additionally, designing rigorous code comprehension experiments with human participants is a challenging task, and the multitude of design options can make it difficult for researchers, especially newcomers to the field, to select a suitable design. We therefore conducted a systematic mapping study of 95 source code comprehension experiments published between 1979 and 2019. By structuring the design characteristics of code comprehension studies, we provide a basis for subsequent discussion of the huge diversity of design options in the face of a lack of basic research on their consequences and comparability. We describe what topics have been studied, as well as how these studies have been designed, conducted, and reported. Frequently chosen design options and deficiencies are pointed out to support researchers of all levels of domain expertise in designing their own studies.

연구 동기 및 목표

  • 인간 참가자를 포함한 코드 이해 실험의 설계 및 보고 수준을 분석하기 위해.
  • 95개의 경험적 연구에서 반복되는 설계 선택, 결함, 타당성에 대한 위협 요소를 식별하기 위해.
  • 특히 초보자 연구자들을 지원하기 위해 일반적인 설계 패턴을 통합하고 최선의 실천 방법을 부각하기 위해.
  • 비교 가능성과 재현 가능성을 향상시키기 위해 연구 설계, 측정, 보고의 구체적인 개선 사항을 제안하기 위해.
  • 향후 메타분석 및 연구 통합을 위해 공개 가능한 데이터셋을 구축하기 위해.

제안 방법

  • PRISMA 지침을 따르는 체계적 맵핑 연구(SMS)를 수행하여 95편의 동료 심사를 통과한 코드 이해 실험에서 설계 특성들을 식별하고 추출하였다.
  • 작업, 측정, 자료, 타당성 위협 등의 연구 요소를 분류하기 위해 15개의 포괄적인 설계 특성 정의 및 적용하였다.
  • 각 주요 연구에서 수작업으로 설계 데이터를 추출하여 방법론적 투명성과 일관성을 중시하였다.
  • 연구 주제, 설계 유형, 보고 품질에 따라 연구를 분류하여 추세와 격차를 식별하였다.
  • 주제 분석 및 정량적 분석을 통해 설계 선택의 빈도와 보고의 반복적 문제를 평가하였다.
  • 식별된 결함 및 최선의 실천 방법을 바탕으로 연구 공동체를 위한 다섯 가지 행동 사항을 제안하였다.

실험 결과

연구 질문

  • RQ1코드 이해 실험에서 가장 자주 사용된 설계 특성은 무엇이며, 지난 40년 동안 어떻게 변화해 왔는가?
  • RQ2코드 이해 실험에서 가장 흔히 연구된 연구 주제는 무엇인가?
  • RQ3가장 흔히 보고된 타당성에 대한 위협 요소는 무엇이며, 연구 간 일관성 있게 다루어지고 있는가?
  • RQ4작업, 측정, 자료 측면에서 연구 설계는 어떻게 다양해지며, 비교 가능성에 어떤 영향을 미치는가?
  • RQ5코드 이해 실험의 보고에서 가장 뚜렷한 결함 요소는 무엇이며, 어떻게 개선할 수 있는가?

주요 결과

  • 대부분의 코드 이해 실험(78%)은 작업 기반의 이해 작업을 사용하였으며, 버그 수정과 기능 구현이 가장 흔했다.
  • 시간-작업(Time-on-task)이 가장 흔히 사용된 성과 측정 기준이었으며(65%), 이어 이해 질문의 정확도(58%)와 자가 평가(42%)가 뒤이었다.
  • 오직 23%의 연구만이 모든 관련 타당성 위협을 보고하였으며, 많은 연구에서 혼란 요인이나 일반화 문제를 다루지 않았다.
  • 매우 많은 연구들(41%)이 코드 이해를 명확히 정의하지 않아 측정 대상이 모호해졌다.
  • 심리생리적 측정 방법의 사용이 증가하고 있어, 프로그램 이해 연구 분야에서 신경과학적 기반의 확산 추세를 보이고 있다.
  • 오직 12%의 연구만이 설계 요소의 체계적 요약을 제공하여 보고의 투명성과 재사용 가능성에 큰 격차가 있음을 드러냈다.

더 나은 연구,지금 바로 시작하세요

논문 읽기부터 검토까지, 연구 시간을 획기적으로 줄여보세요.

카드 등록 없음 · 무료 플랜 제공

이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.