리누스의 법칙

Linus's law

소프트웨어 개발에서 라이너스의 법칙은 "충분한 눈알이 주어지면 모든 버그는 얕다"는 주장입니다. 이 법은 에릭 S에 의해 제정되었습니다. 레이먼드는 그의 수필이자 책인 대성당과 바자(1999)에서 리누스 토르발스를 기리기 위해 이름이 지어졌습니다.[1][2]

좀 더 공식적인 설명은 "충분히 큰 베타 테스터공동 개발자 기반을 감안할 때, 거의 모든 문제가 빠르게 해결될 것이며, 이 문제는 누군가에게는 명백할 것입니다."입니다. 코드를 여러 개발자들에게 제시하는 것은 소프트웨어 검토의 단순한 형태입니다. 연구자와 실무자들은 버그와 보안 문제를 찾는 과정을 검토하는 효과를 반복적으로 보여주었습니다.[3]

유효성

Robert Glass는 소프트웨어 엔지니어링에 대한 사실과 오류에서 이을 오픈 소스 운동의 "만트라"라고 언급하지만, 근거가 부족하고 연구에 따르면 추가 버그가 발견되는 비율이 검토자 수에 따라 선형적으로 확장되지 않는다는 점에서 오류라고 말합니다. 유용한 리뷰어의 최대 수는 2~4명 정도로 적으며, 이 수 이상의 리뷰어를 추가하면 훨씬 낮은 비율로 버그를 발견할 수 있습니다.[4] 폐쇄형 소스 실무자들은 소프트웨어 프로젝트를 개발하는 동안 엄격하고 독립적인 코드 분석을 추진하기도 하지만, 주로 "눈알"의 수가 아니라 소수의 심층적인 검토에 초점을 맞추고 있습니다.[5]

중요한 코드에서 하트블리드 보안 버그가 2년 동안 지속된 것은 레이먼드의 격언을 반박하는 것으로 여겨졌습니다.[6][7][8][9] 래리 셀처(Larry Seltzer)는 소스 코드의 가용성으로 인해 일부 개발자와 연구자들이 폐쇄된 소스 소프트웨어보다 덜 광범위한 테스트를 수행하여 버그가 쉽게 남아있을 수 있다고 의심합니다.[9] 2015년 리눅스 재단의 전무이사 짐 젬린은 현대 소프트웨어의 복잡성이 보안을 개선하기 위해 특정 리소스 할당이 바람직할 정도로 증가했다고 주장했습니다. 2014년 최대 규모의 글로벌 오픈 소스 소프트웨어 취약점에 대해 그는 "이러한 경우에는 눈알이 제대로 보이지 않았습니다."[8]라고 말합니다. 실제로 만트라가 얼마나 잘 유지되고 있는지를 테스트하기 위한 대규모 실험이나 동료 검토 설문조사가 수행되지 않았습니다.

라이너스 법칙의 타당성에 대한 경험적 지지는 같은 조직의 인기 있는 프로젝트와 인기 없는 프로젝트를 비교함으로써 얻어졌습니다. 인기 프로젝트는 깃허브 별 상위 5%(별 7,481개 이상)를 보유한 프로젝트입니다. 버그 수정과 관련된 것으로 판단된 커밋의 비율인 수정 커밋 확률을 사용하여 버그 식별을 측정했습니다. 분석 결과, 인기 프로젝트는 버그 수정 비율이 더 높은 것으로 나타났습니다(예: 구글의 인기 프로젝트는 덜 인기 있는 프로젝트보다 버그 수정 비율이 27% 더 높았습니다). 구글이 더 인기 있는 프로젝트에서 코드 품질 기준을 낮췄을 가능성은 거의 없기 때문에, 이것은 인기 있는 프로젝트에서 버그 탐지 효율이 증가했음을 보여줍니다.

참고 항목

참고문헌

  1. ^ Raymond, Eric S. "The Cathedral and the Bazaar". catb.org.
  2. ^ Raymond, Eric S. (1999). The Cathedral and the Bazaar. O'Reilly Media. p. 30. ISBN 1-56592-724-9.
  3. ^ Pfleeger, Charles P.; Pfleeger, Shari Lawrence (2003). Security in Computing, 4th Ed. Prentice Hall PTR. pp. 154–157. ISBN 0-13-239077-9.
  4. ^ Glass, Robert L. (2003). Facts and Fallacies of Software Engineering. Addison-Wesley. p. 174. ISBN 0-321-11742-5. ISBN 978-0321117427.
  5. ^ Howard, Michael; LeBlanc, David (2003). Writing Secure Code, 2nd. Ed. Microsoft Press. pp. 44–45, 615, 726. ISBN 0-7356-1722-8.
  6. ^ Byfield, Bruce (April 14, 2014). "Does Heartbleed Disprove 'Open Source is Safer'?"". Datamation.
  7. ^ Felten, Edward W.; Kroll, Joshua A. (2014). "Help Wanted on Internet Security". Scientific American. 311 (1): 14. Bibcode:2014SciAm.311a..14F. doi:10.1038/scientificamerican0714-14. PMID 24974688.
  8. ^ a b Kerner, Sean Michael (February 20, 2015). "Why All Linux (Security) Bugs Aren't Shallow". eSecurity Planet. Retrieved February 21, 2015.
  9. ^ a b Seltzer, Larry (April 14, 2014). "Did open source matter for Heartbleed?". ZDNet.
  10. ^ Amit, Idan; Feitelson, Dror G. (2020). "The Corrective Commit Probability Code Quality Metric". arXiv:2007.10912 [cs.SE].

더보기