DockerizeMe: Automatic Inference of Environment Dependencies for Python Code Snippets
Technical Track
Platforms like Stack Overflow and GitHub’s gist system promote the sharing of ideas and programming techniques via the distribution of code snippets designed to illustrate particular tasks. Python, a popular and fast-growing programming language, sees heavy use on both sites, with nearly one million questions asked on Stack Overflow and 400 thousand public gists on GitHub. Unfortunately, around 75% of the Python example code shared through these sites cannot be directly executed. When run in a clean environment, over 50% of public Python gists fail due to an import error for a missing library.
We present DockerizeMe, a technique for inferring the dependencies needed to execute a Python code snippet without import error. DockerizeMe starts with offline knowledge acquisition of the resources and dependencies for popular Python packages from the Python Package Index (PyPI). It then builds Docker specifications using a graph-based inference procedure. Our inference procedure resolves import errors in 892 out of nearly 3,000 gists from the Gistable dataset for which Gistable’s baseline approach could not find and install all dependencies.
Wed 29 May
16:00 - 18:00: Papers - Program Comprehension and Reuse at St-Paul / Ste-Catherine Chair(s): Baishakhi RayColumbia University, New York | ||||||||||||||||||||||||||||||||||||||||||
16:00 - 16:20 Talk | Aishwarya SivaramanUniversity of California, Los Angeles, Tianyi ZhangUniversity of California, Los Angeles, Guy Van den BroeckUniversity of California, Los Angeles, Miryung KimUniversity of California, Los Angeles Pre-print | |||||||||||||||||||||||||||||||||||||||||
16:20 - 16:30 Talk | Abdul Razzaq, Asanka WasalaUniversity of Limerick, Chris ExtonUniversity of Limerick, Jim BuckleyLero - The Irish Software Research Centre and University of Limerick | |||||||||||||||||||||||||||||||||||||||||
16:30 - 16:40 Talk | Yanjie JiangBeijing Institute of Technology, Hui LiuBeijing Institute of Technology, Jiaqi ZhuBeijing Institute of Technology, Lu ZhangPeking University | |||||||||||||||||||||||||||||||||||||||||
16:40 - 17:00 Talk | Rabee Sohail MalikTU Darmstadt, Jibesh PatraTechnical University of Darmstadt, Michael PradelUniversity of Stuttgart Pre-print Media Attached File Attached | |||||||||||||||||||||||||||||||||||||||||
17:00 - 17:20 Talk | Tianyi ZhangUniversity of California, Los Angeles, Di YangUniversity of California at Irvine, USA, Crista Lopes, Miryung KimUniversity of California, Los Angeles Pre-print | |||||||||||||||||||||||||||||||||||||||||
17:20 - 17:40 Talk | ||||||||||||||||||||||||||||||||||||||||||
17:40 - 18:00 Talk |