IR2Vec: A Flow Analysis based Scalable Infrastructure for Program Encodings

S, Venkata Keerthy and Desarkar, Maunendra Sankar and Upadrasta, Ramakrishna and et al, . (2019) IR2Vec: A Flow Analysis based Scalable Infrastructure for Program Encodings.

Full text not available from this repository.


We propose IR2Vec, a Concise and Scalable encoding infrastructure to represent programs as a distributed embedding in continuous space. This distributed embedding is obtained by combining representation learning methods with data and control flow information to capture the syntax as well as the semantics of the input programs. Our embeddings are obtained from the Intermediate Representation (IR) of the source code, and are both language as well as machine independent. The entities of the IR are modelled as relationships, and their representations are learned to form a seed embedding vocabulary. This vocabulary is used along with the flow analyses information to form a hierarchy of encodings based on various levels of program abstractions. We show the effectiveness of our methodology on a software engineering task (program classification) as well as optimization tasks (Heterogeneous device mapping and Thread coarsening). The embeddings generated by IR2Vec outperform the existing methods in all the three tasks even when using simple machine learning models. As we follow an agglomerative method of forming encodings at various levels using seed embedding vocabulary, our encoding is naturally more scalable and not data-hungry when compared to the other methods.

[error in script]
IITH Creators:
IITH CreatorsORCiD
Desarkar, Maunendra SankarUNSPECIFIED
Upadrasta, RamakrishnaUNSPECIFIED
Item Type: Article
Subjects: Computer science
Divisions: Department of Computer Science & Engineering
Depositing User: Team Library
Date Deposited: 27 Sep 2019 05:30
Last Modified: 27 Sep 2019 05:30
Publisher URL:
Related URLs:

Actions (login required)

View Item View Item
Statistics for RAIITH ePrint 6390 Statistics for this ePrint Item