Gistable: Evaluating the Executability of Python Code Snippets on GitHub
Gistable: Evaluating the Executability of Python Code Snippets on GitHub
复制标题
DOI:
10.1109/icsme.2018.00031
复制
发表时间:
2018-08
期刊:
影响因子:
--
通讯作者:
Eric Horton;Chris Parnin
中科院分区:
文献类型:
--
作者:
Eric Horton;Chris Parnin
Software developers create and share code online to demonstrate programming language concepts and programming tasks. Code snippets can be a useful way to explain and demonstrate a programming concept, but may not always be directly executable. A code snippet can contain parse errors, or fail to execute if the environment contains unmet dependencies. This paper presents an empirical analysis of the executable status of Python code snippets shared through the GitHub gist system, and the ability of developers familiar with software configuration to correctly configure and run them. We find that 75.6% of gists require non-trivial configuration to overcome missing dependencies, configuration files, reliance on a specific operating system, or some other environment configuration. Our study also suggests the natural assumption developers make about resource names when resolving configuration errors is correct less than half the time. We also present Gistable, a database and extensible framework built on GitHub's gist system, which provides executable code snippets to enable reproducible studies in software engineering. Gistable contains 10,259 code snippets, approximately 5,000 with a Dockerfile to configure and execute them without import error. Gistable is publicly available at https://github.com/gistable/gistable.