디지털 라이브러리[ 검색결과 ]
코드 변경에 대한 검출 기법과 사람의 묘사 차이 분석
http://doi.org/10.5626/JOK.2023.50.2.150
본 연구에서는 코드 변경 검출 기법과 사람이 코드 변경을 묘사하는 방식을 조사하고, 둘을 비교하여 그 차이를 확인하였다. 대표적인 두 가지 코드 변경 검출 기법을 수집된 다량의 코드 변경에 적용한 결과, 두 기법은 같은 코드 변경을 다른 방식으로 묘사하는 경우가 매우 많으며, 3% 미만의 코드 변경에 대해서만 완전히 일치하는 결과물을 내놓는다는 것을 확인하였다. 반면 사람의 경우 제시된 코드 변경을 묘사할 때 약 50%의 의견 일치율을 보였다. 또한 코드 변경을 다른 방식으로 묘사하는 경우의 상당 부분은 실수에 의한 것이고, 이를 감안하였을 때는 71%의 코드 변경에 대해 동일한 방식으로 묘사하는 것을 확인할 수 있었다. 사람과 검출 기법의 비교 결과에서는 검출 기법이 사람이 코드 변경을 묘사한 방식과 일치하는 결과를 내놓는 경우가 변경의 종류 및 변경된 코드의 종류만을 비교할 때 8.20~35.65%에 불과하여 사람과 유사한 결과를 얻기 위해 개선이 필요하다는 것을 알 수 있다.
오픈 소스 기계학습 애플리케이션에 대한 결함 사례 조사
http://doi.org/10.5626/JOK.2022.49.8.633
기계학습 기반 프로그래밍 패러다임과 전통적인 방식의 프로그래밍 패러다임의 차이는 기계학습 애플리케이션에서 발생할 수 있는 결함을 검출하고 이해, 분석, 해결하는 것에 다른 양상을 나타낼 수 있다. 이와 같은 상황에서, 본 연구는 기계학습 기반 시스템이 가진 결함을 이해하고 분석하기 위해, 오픈소스 기계학습 애플리케이션에서 발생했던 결함의 사례들을 수집하고 빈번하게 발생하는 결함의 원인을 파악하고자 하였다. 이를 위해, GitHub에 공개된 10개의 오픈소스 기계학습 애플리케이션을 대상으로 GitHub 이슈 게시판에 있는 1,205개의 결함 이슈 보고와 결함 수정 코드 이력을 직접 분석하여 보고/발견/수정되었던 결함에 대해 분석하였다. 10개 중 5개 이상의 프로젝트에서 공통으로 발견된 결함의 근본적인 원인 기준으로 20개의 결함 원인 범주를 설정하였다. 본 연구의 결과는 결함 위치 추적, 가능한 결함 해결 코드 수정 제안 등의 품질 향상 기술에 활용될 수 있을 것으로 기대된다.