showSidebars ==
showTitleBreadcrumbs == 1
node.field_disable_title_breadcrumbs.value ==

Pre-Conference Talk by BUI Duy Quoc Nghi | SAR: Learning Cross-Language API Mappings with Little Knowledge

Please click here if you are unable to view this page.

 

SAR: Learning Cross-Language API Mappings with Little Knowledge

Speaker (s):

BUI Duy Quoc Nghi

PhD Candidate

School of Information Systems

Singapore Management University

 

Date:


Time:


Venue:

 

 

August 26, 2019, Monday


11:00am - 12.00pm


Seminar Room 2.4, Level 2

School of Information Systems

Singapore Management University

80 Stamford Road

Singapore 178902

We look forward to seeing you at this research seminar.

About the Talk

To save effort, developers often translate programs from one programming language to another, instead of implementing it from scratch. Translating application program interfaces (APIs) used in one language to functionally equivalent ones available in another language is an important aspect of program translation. Existing approaches facilitate the translation by automatically identifying the API mappings across programming languages. However, these approaches still require large amounts of parallel corpora, ranging from pairs of APIs or code fragments that are functionally equivalent, to similar code comments. To minimize the need for parallel corpora, this paper aims at an automated approach that can map APIs across languages with much less a priori knowledge than other approaches.

Our approach is based on a realization of the notion of domain adaption, combined with code embedding, to better align two vector spaces. Taking as input large sets of programs, our approach first generates numeric vector representations of the programs (including the APIs used in each language), and it adapts generative adversarial networks (GAN) to align the vectors in different spaces of two languages. For better alignment, we initialize the GAN with parameters derived from API mapping seeds that can be identified accurately with a simple automatic signature-based matching heuristic. Then the cross-language API mappings can be identified via nearest-neighbors queries in the aligned vector spaces. We have implemented the approach (SAR, named after three main technical components, Seeding, Adversarial training, and Refinement) in a prototype for mapping APIs across Java and C# programs. Our evaluation on about 2 million Java files and 1 million C# files shows that the approach can achieve 48% and 78% mapping accuracy in its top-1 and top-10 API mapping results respectively, with only 174 automatically identified seeds, which is more accurate than other approaches using the same or much more mapping seeds.

This is a pre-conference talk for 27th ACM Joint European Software Engineering Conference and Symposium on the Foundations of Software Engineering.

About the Speaker

Nghi Bui is a fourth-year Ph.D. candidate in the School of Information Systems, Singapore Management University, advised by Associate Professor Lingxiao Jiang. His current research focuses on machine learning for programming language semantics to understand the behavior of software programs.