Core Concepts
산업용 임베디드 소프트웨어에서 발생하는 컴파일 오류 중 일부는 다른 오류보다 더 쉽게 찾아내고 수정할 수 있다.
Abstract
이 연구는 산업용 임베디드 소프트웨어의 컴파일 오류를 분석하였다. 연구팀은 "Shadow Job"이라는 CI 진단 솔루션을 개발하여 4개의 프로젝트에서 40,000건 이상의 빌드 데이터를 수집하고 분석하였다.
주요 결과는 다음과 같다:
14가지 유형의 컴파일 오류를 식별하였으며, 이 중 5가지 가장 일반적인 오류가 전체 오류의 89%를 차지한다.
오류 유형별로 해결 시간, 크기, 거리를 분석한 결과, 이 세 가지 지표는 서로 독립적이라는 것을 발견했다.
가장 일반적인 오류 유형 중 일부는 오류 메시지 위치에서 멀리 떨어진 곳에서 수정이 이루어지므로, 자동 오류 위치 파악 기술을 적용하기 어려울 것으로 보인다.
이 연구 결과는 산업용 임베디드 시스템의 컴파일 오류 해결을 위한 자동화 기술 개발에 유용한 정보를 제공한다.
Stats
컴파일 오류 중 40.05%가 'was not declared' 오류였다.
'has no member named' 오류는 전체 오류의 20.18%를 차지했다.
'expected X before Y token' 오류는 전체 오류의 11.77%를 차지했다.
'도 타입을 명명하지 않음' 오류는 전체 오류의 8.89%를 차지했다.
'no declaration matches' 오류는 전체 오류의 8.36%를 차지했다.
Quotes
"산업용 임베디드 시스템은 하드웨어와 소프트웨어의 동시 개발로 인해 일반적인 오픈소스 프로젝트와 근본적으로 다르다. 컴파일 오류는 통합 단계에서 매우 자주 발생하며 대부분의 CI 실패의 원인이 된다."
"오류 유형별 해결 시간, 크기, 거리 사이에 상관관계가 없다는 것은 흥미로운 발견이다. 이는 특정 유형의 컴파일 오류에 대한 자동화된 오류 위치 파악 및 프로그램 수정 기술 개발의 가능성을 시사한다."