Blogs (1) >>
ASE 2019
Sun 10 - Fri 15 November 2019 San Diego, California, United States
Wed 13 Nov 2019 16:00 - 16:20 at Cortez 2&3 - API and Renaming Chair(s): Massimiliano Di Penta

Developers often want to find out how to use a certain API (e.g., FileReader.read in JDK library). API usage examples are very helpful in this regard. Over the years, many automated methods have been proposed to generate code examples by clustering and summarizing relevant code snippets extracted from a code corpus. These approaches simplify source code as method invocation sequences or feature vectors. Such simplifications only model partial aspects of the code and tend to produce inaccurate examples.

We propose CodeKernel, a graph kernel based approach to the selection of API usage examples. Instead of approximating source code as method invocation sequences or feature vectors, CodeKernel represents source code as object usage graphs. Then, it clusters graphs by embedding them into a continuous space using a graph kernel. Finally, it outputs code examples by selecting a representative graph from each cluster using designed ranking metrics. Our empirical evaluation shows that CodeKernel selects more accurate code examples than MUSE and eXoaDocs. A user study involving 25 developers in a multinational company also confirms the usefulness of CodeKernel in selecting API usage examples.

Wed 13 Nov

Displayed time zone: Tijuana, Baja California change

16:00 - 17:40
API and RenamingResearch Papers / Journal First Presentations at Cortez 2&3
Chair(s): Massimiliano Di Penta University of Sannio
16:00
20m
Talk
CodeKernel: A Graph Kernel based Approach to the Selection of API Usage Examples
Research Papers
Xiaodong Gu The Hong Kong University of Science and Technology, Hongyu Zhang The University of Newcastle, Sunghun Kim Hong Kong University of Science and Technology
Pre-print
16:20
20m
Talk
Machine Learning Based Automated Method Name Recommendation: How Far Are We
Research Papers
Lin Jiang beijing university of posts and telecommunication, Hui Liu Beijing Institute of Technology, He Jiang School of Software, Dalian University of Technology
Link to publication Pre-print
16:40
20m
Talk
MARBLE: Mining for Boilerplate Code to Identify API Usability Problems
Research Papers
Daye Nam Carnegie Mellon University, Amber Horvath Carnegie Mellon University, Andrew Macvean Google, Inc., Brad A. Myers Carnegie Mellon University, Bogdan Vasilescu Carnegie Mellon University
Pre-print
17:00
20m
Talk
DIRE: A Neural Approach to Decompiled Identifier Renaming
Research Papers
Jeremy Lacomis Carnegie Mellon University, Pengcheng Yin Carnegie Mellon University, Edward J. Schwartz Carnegie Mellon University Software Engineering Institute, Miltiadis Allamanis Microsoft Research, Cambridge, Claire Le Goues Carnegie Mellon University, Graham Neubig Carnegie Mellon University, Bogdan Vasilescu Carnegie Mellon University
Pre-print Media Attached
17:20
20m
Talk
Automatic Detection and Update Suggestion for Outdated API Names in Documentation
Journal First Presentations
Seonah Lee Gyeongsang National University, Rongxin Wu Department of Computer Science and Engineering, The Hong Kong University of Science and Technology, Shing-Chi Cheung Department of Computer Science and Engineering, The Hong Kong University of Science and Technology, Sungwon Kang Korea Advanced Institute of Science and Technology
Link to publication