DockerizeMe: Automatic Inference of Environment Dependencies for Python Code SnippetsTechnical 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 MayDisplayed time zone: Eastern Time (US & Canada) change
16:00 - 18:00 | Program Comprehension and ReusePapers / Journal-First Papers / Technical Track at St-Paul / Ste-Catherine Chair(s): Baishakhi Ray Columbia University, New York | ||
16:00 20mTalk | Active Inductive Logic Programming for Code SearchTechnical Track Technical Track Aishwarya Sivaraman University of California, Los Angeles, Tianyi Zhang University of California, Los Angeles, Guy Van den Broeck University of California, Los Angeles, Miryung Kim University of California, Los Angeles Pre-print | ||
16:20 10mTalk | The State of Empirical Evaluation in Static Feature LocationJournal-First Journal-First Papers Abdul Razzaq , Asanka Wasala University of Limerick, Chris Exton University of Limerick, Jim Buckley Lero - The Irish Software Research Centre and University of Limerick | ||
16:30 10mTalk | Automatic and accurate expansion of abbreviations in parametersJournal-First Journal-First Papers Yanjie Jiang Beijing Institute of Technology, Hui Liu Beijing Institute of Technology, Jiaqi Zhu Beijing Institute of Technology, Lu Zhang Peking University | ||
16:40 20mTalk | NL2Type: Inferring JavaScript Function Types from Natural Language InformationTechnical Track Technical Track Rabee Sohail Malik TU Darmstadt, Jibesh Patra Technical University of Darmstadt, Michael Pradel University of Stuttgart Pre-print Media Attached File Attached | ||
17:00 20mTalk | Analyzing and Supporting Adaptation of Online Code ExamplesTechnical TrackIndustry Program Technical Track Tianyi Zhang University of California, Los Angeles, Di Yang University of California at Irvine, USA, Crista Lopes , Miryung Kim University of California, Los Angeles Pre-print | ||
17:20 20mTalk | DockerizeMe: Automatic Inference of Environment Dependencies for Python Code SnippetsTechnical Track Technical Track | ||
17:40 20mTalk | Discussion Period Papers |