Learning to interpret knowledge from software Q&A sites - XU, Bowen (Institutional Knowledge at Singapore Management University, 2021)
Nowadays, software question and answer (SQA) data has become a treasure for software engineering as it contains a huge volume of programming knowledge. That knowledge can be interpreted in many different ways to support various software activities, such as code recommendation, program repair, and so on. In this dissertation, we interpret SQA data by addressing three novel research problems. The first research problem is about linkable knowledge unit prediction. In this problem, a question and its answers within a post in Stack Overflow are considered as a knowledge unit (KU). KUs often contain semantically relevant knowledge, and thus linkable for different purposes. Being able to classify different classes of linkable knowledge units would support more targeted information needs when users search or explore the linkable knowledge. Compare with the approaches proposed in prior works, we design a relatively simpler but more effective machine learning model to address the problem. Moreover, we discover the limitation of the dataset used in the previous works and construct a new one with a larger size and higher diversity. Our experimental result shows that our model outperforms the state-of-the-art approaches significantly. The second research problem is about distributed representation for Stack Overflow posts. In this dissertation, we propose a specialized deep learning architecture Post2Vec which extracts distributed representations of Stack Overflow posts. To evaluate Post2Vec, we first investigate its end-to-end effectiveness in tag recommendation task. We observe that Post2Vec achieves significant improvement in terms of F1-score@5 at a lower computational cost. Moreover, to evaluate the value of representations learned by Post2Vec, we use them for three other tasks, i.e., relatedness prediction, post classification, and API recommendation. We demonstrate that the representations can be used to boost the effectiveness of state-of-the-art solutions for the three tasks by substantial margins. The third research problem is about answer summary generation for technical questions. We formulate the task as a query-focused multi-answer-posts summarization task for a given technical question. We conduct user studies to evaluate the quality of the answer summaries generated by our approach. The user study results demonstrate those answer summaries generated by AnswerBot are relevant, useful, and diverse.