View on GitHub

LUPE

Welcome to LUPE page

LUPE is a novel approach to API and code recommendation, exploiting cutting-edge deep learning techniques. Thanks to the underlying Encoder-Decoder architecture specialized in transforming sequences, LUPE can effectively learn the order in which APIs occur.

LUPE Overview

LUPE overview The LUPE architecture is depicted in figure above. Data is fetched from various open-source sources 1 using the DATA CURATOR 2 component. The collected data is then transformed into a suitable format to store in CSV files by the DATA CONVERTER 3 , which then builds a universal dictionary containing APIs and their corresponding IDs. The SEQUENCE BUILDER 4 component uses the dictionary to extract APIs from Rascal M3 files. It also generates input for RECOMMENDER, which learns from data in the training phase to provide recommendations in the testing/deployment phase.

Repository Structure

This repository is organized as follows:

Venue acronym table

Acronym Venue
ESEC/FSE The ACM Joint European Software Engineering Conference and Symposium on the Foundations of Software Engineering
JSS Journal of Systems and Software
ISSRE International Symposium on Software Reliability Engineering
SANER IEEE International Conference on Software Analysis, Evolution and Reengineering
TSE IEEE Transaction on Software Engineering
KDD Knowledge Discovery and Data Mining
OOPSLA Object-Oriented Programming, Systems, Languages & Applications
ICSE International Conference on Software Engineering
EMSE International Symposium on Empirical Software Engineering and Measurement