Найдите Код Python На GitHub С Помощью Gistable


Исследователи собрали базу данных фрагментов кода Python на GitHub. В Gistable перечислены более 10 000 фрагментов кода Python, из которых около половины поставляются с файлом Dockerfile для их настройки и выполнения.

База данных была разработана на основе исследований, проведенных командой из Университета штата Северная Каролина, которые интересовались статусом исполняемых фрагментов кода Python, размещенных на GitHub.

Исследователи хотели знать, какой процент кода, совместно используемого через систему GitHub gist, будет просто работать, и сколько потребуется «нетривиальной конфигурации для преодоления отсутствующих зависимостей, файлов конфигурации, зависимости от конкретной операционной системы или какой-либо другой конфигурации среды».

Проблема, конечно, заключается в том, что фрагменты кода могут содержать ошибки синтаксического анализа или не выполняться, если среда содержит неудовлетворенные зависимости.

Исследователи обнаружили, что 75,6% GIST требуют нетривиальной конфигурации для преодоления отсутствующих зависимостей, файлов конфигурации, зависимости от конкретной операционной системы или какой-либо другой конфигурации среды. Исследование также предполагает, что:

«естественное предположение разработчиков об именах ресурсов при устранении ошибок конфигурации верно менее чем в половине случаев.»

Исследователи очистили URL-адреса gist из пользовательского интерфейса GitHub gist и собрали исходный набор данных из 10 259 gist, содержащий более 1700 уникальных пакетов сторонних библиотек. Затем они были клонированы и выполнены внутри контейнера Docker на основе официального образа Python для Docker, классифицируя суть по статусу выхода.

Менее 25% gist были исполняемыми по умолчанию, причем более половины из них вышли из строя из-за ImportError в Python 2. Из gist, которые изначально не удавались с помощью ImportError, попытки вывести спецификацию среды работали менее чем в 50% случаев.

В то время как исследователи были в основном заинтересованы в изучении состояния онлайн-кода, из него они разработали базу данных Gistable.  Идея заключается в том, что это расширяемая структура, которая может быть использована для воспроизводимых исследований в области разработки программного обеспечения. Gistable содержит 10 259 фрагментов кода, примерно 5000 с файлом Dockerfile для их настройки и выполнения без ошибок импорта.


Добавить комментарий