Skip to main content
QUICK REVIEW

[논문 리뷰] Do Developers Update Their Library Dependencies? An Empirical Study on the Impact of Security Advisories on Library Migration

Raula Gaikovina Kula, Daniel M. Germán|arXiv (Cornell University)|2017. 09. 14.
Software Engineering Research참고 문헌 21인용 수 48
한 줄 요약

이 사례 기반 연구는 4,659개의 GitHub 프로젝트에서 외부 라이브러리 종속성의 노후화 문제에 대해 개발자가 어떻게 대응하는지 조사한다. 라이브러리의 광범위한 재사용에도 불구하고, 81.5%의 시스템이 노후된 종속성을 유지하고 있으며, 영향을 받은 개발자 중 69%는 취약성에 대해 인지하지 못한 것으로 나타나, 보안 고지에 대한 반응성이 낮고 종속성 유지 관리 관행에 심각한 격차가 있음을 보여준다.

ABSTRACT

Third-party library reuse has become common practice in contemporary software development, as it includes several benefits for developers. Library dependencies are constantly evolving, with newly added features and patches that fix bugs in older versions. To take full advantage of third-party reuse, developers should always keep up to date with the latest versions of their library dependencies. In this paper, we investigate the extent of which developers update their library dependencies. Specifically, we conducted an empirical study on library migration that covers over 4,600 GitHub software projects and 2,700 library dependencies. Results show that although many of these systems rely heavily on dependencies, 81.5% of the studied systems still keep their outdated dependencies. In the case of updating a vulnerable dependency, the study reveals that affected developers are not likely to respond to a security advisory. Surveying these developers, we find that 69% of the interviewees claim that they were unaware of their vulnerable dependencies. Furthermore, developers are not likely to prioritize library updates, citing it as extra effort and added responsibility. This study concludes that even though third-party reuse is commonplace, the practice of updating a dependency is not as common for many developers.

연구 동기 및 목표

  • 실제 소프트웨어 프로젝트에서 개발자가 제3자 라이브러리 종속성을 얼마나 업데이트하는지 이해하는 것.
  • 취약한 종속성에 대한 보안 고지에 대해 개발자가 어떻게 반응하는지 분석하는 것.
  • 라이브러리 이관 결정보에 영향을 주는 장애 요인과 동기 요인을 규명하는 것.
  • 실제 데이터를 기반으로 시스템 및 라이브러리 관점에서 라이브러리 이관 패턴을 모델링하는 것.
  • 미래 연구를 위해 852,322건의 라이브러리 종속성 이관 기록을 포함한 공개 데이터셋을 제공하는 것.

제안 방법

  • 시간에 따라 라이브러리 종속성 버전을 추적하기 위해 4,659개의 GitHub 프로젝트를 수집하고 분석함.
  • 버전 이력과 종속성 메타데이터를 사용하여 라이브러리 버전 간의 이관 이벤트 및 서로 다른 라이브러리 간 이동을 추적함.
  • 이동 패턴을 시각화하고 추세를 식별하기 위해 라이브러리 이동 플롯(LMP)을 구축함.
  • 취약성 영향을 받은 69명의 개발자 대상 설문 조사를 실시하여 인지도 및 이관 행동을 평가함.
  • CVE 데이터베이스 및 기타 자료를 활용해 보안 고지 정보를 식별하고, 연구 대상 프로젝트 내 취약한 종속성과 연계함.
  • 이전 이동 결정을 깊이 분석하기 위해 8개 프로젝트에 대해 사례 연구를 수행함.

실험 결과

연구 질문

  • RQ1실제로 개발자는 제3자 라이브러리 종속성을 얼마나 업데이트하는가?
  • RQ2취약한 라이브러리 종속성에 대한 보안 고지에 대해 개발자는 얼마나 민감하게 반응하는가?
  • RQ3라이브러리 이관 또는 노후된 라이브처 버전 유지 결정보에 영향을 주는 요인은 무엇인가?
  • RQ4개발자는 라이브러리 업데이트와 관련된 노력, 위험 및 책임을 어떻게 인식하는가?
  • RQ5다양한 시스템과 라이브러리 간에 라이브러리 이동 행동의 패턴과 특성은 무엇인가?

주요 결과

  • 연구 대상 4,659개 프로젝트 중 81.5%는 라이브러리 종속성의 노후된 버전을 계속 사용하고 있어, 라이브러리 업데이트를 적극적으로 수행하지 못하는 광범위한 실패 현상을 보여줌.
  • CVE 고지가 존재함에도 불구하고, 취약성 영향을 받은 개발자 중 69%는 문제를 인지하지 못한 것으로 나타남.
  • 이전에 널리 사용되던, 더 오래된 라이브러리 버전을 새롭고 더 안전할 수 있는 버전보다 선호하는 경우가 많으며, 이동이 가능할 경우에도 마찬가지임.
  • 이주에 대한 주요 장애 요인은 인지 부족, 낮은 우선순위 인식, 종속성 유지 관리 책임 소재 불명확성임.
  • 보안 고지만으로는 시기적절한 이주를 유도하기에 부족하며, 알림을 받더라도 많은 개발자가 행동을 취하지 않음.
  • 이 연구는 이론적으로 종속성 업데이트의 중요성과 실제 소프트웨어 개발 현장에서의 엔지니어링 실천 간에 심각한 격차가 있음을 드러냄.

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

연구 설계부터 논문 작성까지, 연구 시간을 획기적으로 줄여보세요.

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

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