В разработке программного обеспечения , закон Линуса является утверждение , что «при достаточном количестве глаз все ошибки мелкие».
Закон был сформулирован Эриком С. Реймондом в его эссе и книге «Собор и базар» (1999) и назван в честь Линуса Торвальдса . [1] [2]
Более формальное заявление: «Учитывая достаточно большой бета-тестером и со- разработчик базы, почти каждая проблема будет характеризоваться быстро и исправление очевидной для кого - то.» Представление кода нескольким разработчикам с целью достижения консенсуса относительно его принятия - это простая форма проверки программного обеспечения . Исследователи и практики неоднократно демонстрировали эффективность процессов проверки при поиске ошибок и проблем с безопасностью. [3]
Срок действия
В книге «Факты и заблуждения о программной инженерии» Роберт Гласс называет закон «мантрой» движения за открытый исходный код , но называет его заблуждением из-за отсутствия подтверждающих доказательств и из-за того, что исследования показали, что скорость появления дополнительных ошибок раскрытие не масштабируется линейно с количеством рецензентов; скорее, существует небольшое максимальное количество полезных рецензентов, от двух до четырех, и дополнительные рецензенты, превышающие это число, выявляют ошибки с гораздо меньшей скоростью. [4] Хотя специалисты по закрытому исходному коду также продвигают строгий и независимый анализ кода во время разработки программного проекта, они сосредотачиваются на углубленном анализе немногими, а не в первую очередь на количестве «глазных яблок». [5]
Сохранение ошибки безопасности Heartbleed в критически важном фрагменте кода в течение двух лет рассматривается как опровержение изречения Раймонда. [6] [7] [8] [9] Ларри Зельцер подозревает, что доступность исходного кода может привести к тому, что некоторые разработчики и исследователи будут проводить менее обширные тесты, чем при использовании программного обеспечения с закрытым исходным кодом, что упрощает устранение ошибок. [9] В 2015 году исполнительный директор Linux Foundation Джим Землин утверждал, что сложность современного программного обеспечения возросла до такого уровня, что для повышения его безопасности желательно конкретное выделение ресурсов. Что касается некоторых из крупнейших глобальных уязвимостей программного обеспечения с открытым исходным кодом в 2014 году , он говорит: «В этих случаях глаза на самом деле не смотрели». [8] Крупномасштабные эксперименты или рецензируемые опросы для проверки того, насколько хорошо мантра выполняется на практике, не проводились.
Эмпирическое подтверждение справедливости закона Линуса [10] было получено путем сравнения популярных и непопулярных проектов одной и той же организации. Популярные проекты - это проекты, набравшие 5% звезд на GitHub (7 481 звезда и более). Идентификация ошибки измерялась с использованием вероятности корректирующей фиксации, т.е. соотношения фиксаций, определенных как связанные с исправлением ошибок. Анализ показал, что в популярных проектах доля исправлений ошибок выше (например, в популярных проектах Google доля исправлений ошибок на 27% выше, чем в менее популярных проектах Google). Поскольку маловероятно, что Google снизил стандарты качества кода в более популярных проектах, это показатель повышения эффективности обнаружения ошибок в популярных проектах.
Смотрите также
Рекомендации
- ^ Раймонд, Эрик С. "Собор и базар" . catb.org .
- ^ Раймонд, Эрик С. (1999). Собор и базар . O'Reilly Media . п. 30. ISBN 1-56592-724-9.
- ^ Pfleeger, Charles P .; Пфлегер, Шари Лоуренс (2003). Безопасность в вычислительной технике, 4-е изд . Prentice Hall PTR. С. 154–157. ISBN 0-13-239077-9.
- ^ Стекло, Роберт Л. (2003). Факты и заблуждения программной инженерии . Эддисон-Уэсли . п. 174. ISBN 0-321-11742-5.ISBN 978-0321117427 .
- ^ Ховард, Майкл; ЛеБлан, Дэвид (2003). Написание безопасного кода, 2-й. Эд . Microsoft Press . С. 44–45, 615, 726. ISBN 0-7356-1722-8.
- ^ Байфилд, Брюс (14 апреля 2014 г.). «Опровергает ли Heartbleed, что« открытый исходный код безопаснее »? » » . Datamation .
- ^ Фелтен, Эдвард У .; Кролл, Джошуа А. (2014). «Требуется помощь по вопросам безопасности в Интернете». Scientific American . 311 (1): 14. Bibcode : 2014SciAm.311a..14F . DOI : 10.1038 / Scientificamerican0714-14 . PMID 24974688 .
- ^ а б Кернер, Шон Майкл (20 февраля 2015 г.). «Почему все ошибки Linux (безопасности) не мелкие» . Планета электронной безопасности . Проверено 21 февраля 2015 года .
- ^ а б Зельцер, Ларри (14 апреля 2014 г.). "Имеет ли значение для Heartbleed открытый код?" . ZDNet .
- ^ Амит, Идан; Фейтельсон, Дрор Г. (2020). «Метрика качества корректирующего кода вероятности». arXiv : 2007.10912 [ cs.SE ].
дальнейшее чтение
- Цзин Ван; Дж. М. Кэрролл (27 мая 2011 г.). За законом Линуса: предварительный анализ практики экспертной оценки программного обеспечения с открытым исходным кодом в Mozi . Int. Конф. по технологиям и системам совместной работы (CTS), Филадельфия, Пенсильвания . Цифровая библиотека IEEE Xplore. С. 117–124. DOI : 10.1109 / CTS.2011.5928673 .