Learning to answer programming questions with software documentation through social context embedding
Official software documentation provides a comprehensive overview of software usages, but not on specific programming tasks or use cases. Often there is a mismatch between the documentation and a question on a specific programming task because of different wordings. We observe from Stack Overflow th...
Saved in:
Main Authors: | , , |
---|---|
Other Authors: | |
Format: | Article |
Language: | English |
Published: |
2019
|
Subjects: | |
Online Access: | https://hdl.handle.net/10356/86193 http://hdl.handle.net/10220/48306 |
Tags: |
Add Tag
No Tags, Be the first to tag this record!
|
Institution: | Nanyang Technological University |
Language: | English |
id |
sg-ntu-dr.10356-86193 |
---|---|
record_format |
dspace |
spelling |
sg-ntu-dr.10356-861932020-03-07T11:48:54Z Learning to answer programming questions with software documentation through social context embedding Li, Jing Sun, Aixin Xing, Zhenchang School of Computer Science and Engineering DRNTU::Engineering::Computer science and engineering Software Documentation Community-based Question Answering Official software documentation provides a comprehensive overview of software usages, but not on specific programming tasks or use cases. Often there is a mismatch between the documentation and a question on a specific programming task because of different wordings. We observe from Stack Overflow that the best answers to programmers’ questions often contain links to formal documentation. In this paper, we propose a novel deep-learning-to-answer framework, named QDLinker, for answering programming questions with software documentation. QDLinker learns from the large volume of discussions in community-based question answering site to bridge the semantic gap between programmers’ questions and software documentation. Specifically, QDLinker learns question-documentation semantic representation from these question answering discussions with a four-layer neural network, and incorporates semantic and content features into a learning-to-rank schema. Our approach does not require manual feature engineering or external resources to infer the degree of relevance between a question and documentation. Through extensive experiments, results show that QDLinker effectively answers programming questions with direct links to software documentation. QDLinker significantly outperforms the baselines based on traditional retrieval models and Web search services dedicated for software documentation retrieval. The user study shows that QDLinker effectively bridges the semantic gap between the intent of a programming question and the content of software documentation. Accepted version 2019-05-22T02:23:28Z 2019-12-06T16:17:45Z 2019-05-22T02:23:28Z 2019-12-06T16:17:45Z 2018 Journal Article Li, J., Sun, A., & Xing, Z. (2018). Learning to answer programming questions with software documentation through social context embedding. Information Sciences, 448-449, 36-52. doi:10.1016/j.ins.2018.03.014 0020-0255 https://hdl.handle.net/10356/86193 http://hdl.handle.net/10220/48306 10.1016/j.ins.2018.03.014 en Information Sciences © 2018 Elsevier Inc. All rights reserved. This paper was published in Information Sciences and is made available with permission of Elsevier Inc. 36 p. application/pdf |
institution |
Nanyang Technological University |
building |
NTU Library |
country |
Singapore |
collection |
DR-NTU |
language |
English |
topic |
DRNTU::Engineering::Computer science and engineering Software Documentation Community-based Question Answering |
spellingShingle |
DRNTU::Engineering::Computer science and engineering Software Documentation Community-based Question Answering Li, Jing Sun, Aixin Xing, Zhenchang Learning to answer programming questions with software documentation through social context embedding |
description |
Official software documentation provides a comprehensive overview of software usages, but not on specific programming tasks or use cases. Often there is a mismatch between the documentation and a question on a specific programming task because of different wordings. We observe from Stack Overflow that the best answers to programmers’ questions often contain links to formal documentation. In this paper, we propose a novel deep-learning-to-answer framework, named QDLinker, for answering programming questions with software documentation. QDLinker learns from the large volume of discussions in community-based question answering site to bridge the semantic gap between programmers’ questions and software documentation. Specifically, QDLinker learns question-documentation semantic representation from these question answering discussions with a four-layer neural network, and incorporates semantic and content features into a learning-to-rank schema. Our approach does not require manual feature engineering or external resources to infer the degree of relevance between a question and documentation. Through extensive experiments, results show that QDLinker effectively answers programming questions with direct links to software documentation. QDLinker significantly outperforms the baselines based on traditional retrieval models and Web search services dedicated for software documentation retrieval. The user study shows that QDLinker effectively bridges the semantic gap between the intent of a programming question and the content of software documentation. |
author2 |
School of Computer Science and Engineering |
author_facet |
School of Computer Science and Engineering Li, Jing Sun, Aixin Xing, Zhenchang |
format |
Article |
author |
Li, Jing Sun, Aixin Xing, Zhenchang |
author_sort |
Li, Jing |
title |
Learning to answer programming questions with software documentation through social context embedding |
title_short |
Learning to answer programming questions with software documentation through social context embedding |
title_full |
Learning to answer programming questions with software documentation through social context embedding |
title_fullStr |
Learning to answer programming questions with software documentation through social context embedding |
title_full_unstemmed |
Learning to answer programming questions with software documentation through social context embedding |
title_sort |
learning to answer programming questions with software documentation through social context embedding |
publishDate |
2019 |
url |
https://hdl.handle.net/10356/86193 http://hdl.handle.net/10220/48306 |
_version_ |
1681046163767164928 |