Litcius/Paper detail

How to formulate specific how-to questions in software development?

Mingwei Liu, Xin Peng, Andrian Marcus, Christoph Treude, Jiazhan Xie, Huanjun Xu, Yanjun Yang

2022Proceedings of the 30th ACM Joint European Software Engineering Conference and Symposium on the Foundations of Software Engineering11 citationsDOI

Abstract

Developers often ask how-to questions using search engines, technical Q&A communities, and interactive Q&A systems to seek help for specific programming tasks. However, they often do not formulate the questions in a specific way, making it hard for the systems to return the best answers. We propose an approach (TaskKG4Q) that interactively helps developers formulate a programming related how-to question. TaskKG4Q is using a programming task knowledge graph (task KG in short) mined from Stack Overflow questions, which provides a hierarchical conceptual structure for tasks in terms of [actions], [objects], and [constraints]. An empirical evaluation of the intrinsic quality of the task KG revealed that 75.0% of the annotated questions in the task KG are correct. The comparison between TaskKG4Q and two baselines revealed that TaskKG4Q can help developers formulate more specific how-to questions. More so, an empirical study with novice programmers revealed that they write more effective questions for finding answers to their programming tasks on Stack Overflow.

Topics & Concepts

Computer scienceTask (project management)Ask priceEmpirical researchGraphSoftwareTask analysisInductive programmingProgramming paradigmSoftware engineeringArtificial intelligenceProgramming languageTheoretical computer scienceManagementEconomyEpistemologyPhilosophyEconomicsSoftware Engineering ResearchSoftware Engineering Techniques and PracticesExpert finding and Q&A systems