SEJun 12, 2020

Task-Oriented API Usage Examples Prompting Powered By Programming Task Knowledge Graph

arXiv:2006.07058v18 citations
Originality Incremental advance
AI Analysis

This work addresses the challenge for developers in efficiently accessing and applying programming tutorials, though it is incremental in improving existing knowledge graph and search methods.

The authors tackled the problem of low utilization of programming tutorials due to task description mismatch and code information overload by developing a knowledge graph enhanced with actions from code comments and a code matching task search method, which effectively recommended code solutions for Stack Overflow issues and assisted developers in finding relevant tutorials.

Programming tutorials are often created to demonstrate programming tasks with code examples. However, our study of Stack Overflow questions reveals the low utilization of high-quality programming tutorials, which is caused task description mismatch and code information overload. Document search can find relevant tutorial documents, but they often cannot find specific programming actions and code solutions relevant to the developers' task needs. The recently proposed activity-centric search over knowledge graph supports direct search of programming actions, but it has limitations in action coverage, natural language based task search, and coarse-grained code example recommendation. In this work, we enhance action coverage in knowledge graph with actions extracted from comments in code examples and more forms of activity sentences. To overcome the task description mismatch problem, we develop a code matching based task search method to find relevant programming actions and code examples to the code under development. We integrate our knowledge graph and task search method in the IDE, and develop an observe-push based tool to prompt developers with task-oriented API usage examples. To alleviate the code information overload problem, our tool highlights programming action and API information in the prompted tutorial task excerpts and code examples based on the underlying knowledge graph. Our evaluation confirms the high quality of the constructed knowledge graph, and show that our code matching based task search can recommend effective code solutions to programming issues asked on Stack Overflow. A small-scale user study demonstrates that our tool is useful for assisting developers in finding and using relevant programming tutorials in their programming tasks.

Foundations

The foundational work for this paper's niche, ranked by how specifically the neighbourhood builds on it — not by global fame.

Your Notes