Import2vec: learning embeddings for software libraries
We consider the problem of developing suitable learning representations (embeddings) for library packages that capture semantic similarity among libraries. Such representations are known to improve the performance of downstream learning tasks (e.g. classification) or applications such as contextual search and analogical reasoning.
We apply word embedding techniques from natural language processing (NLP) to train embeddings for library packages (“library vectors”). Library vectors represent libraries by similar context of use as determined by import statements present in source code. Experimental results obtained from training such embeddings on three large open source software corpora reveals that library vectors capture semantically meaningful relationships among software libraries, such as the relationship between frameworks and their plug-ins and libraries commonly used together within ecosystems such as big data infrastructure projects (in Java), front-end and back-end web development frameworks (in JavaScript) and data science toolkits (in Python).
For a live demo of a contextual search engine built on import2vec, please visit https://www.code-compass.com.
Sun 26 MayDisplayed time zone: Eastern Time (US & Canada) change
11:00 - 11:45 | Session I: Representations for Mining (Part 1)MSR 2019 Technical Papers / MSR 2019 Data Showcase at Place du Canada Chair(s): Chanchal K. Roy University of Saskatchewan | ||
11:00 15mFull-paper | SCOR: Source Code Retrieval With Semantics and Order MSR 2019 Technical Papers Pre-print Media Attached | ||
11:16 6mShort-paper | PathMiner : A Library for Mining of Path-Based Representations of Code MSR 2019 Technical Papers Vladimir Kovalenko TU Delft, Egor Bogomolov Higher School of Economics, JetBrains Research, Timofey Bryksin , Alberto Bacchelli University of Zurich DOI Pre-print Media Attached | ||
11:23 15mFull-paper | Import2vec: learning embeddings for software libraries MSR 2019 Technical Papers Pre-print | ||
11:39 6mTalk | Semantic Source Code Models Using Identifier Embeddings MSR 2019 Data Showcase Vasiliki Efstathiou Athens University of Economics and Business, Diomidis Spinellis Athens University of Economics and Business Pre-print |