Leveraging Crowd-sourced Information to Guide Library Usage

Benyamin Noori
2018
Studies have shown that there is a mismatch between the information needs of a developer and information provided by the documentation of software libraries. Additionally, previous work suggests that developers' information needs are driven by the tasks they do. Based on these previous findings, we argue library documentation should be task-oriented. We propose a technique to generate task-oriented library documentation based on information extracted from the popular crowd-sourced Q & A
more » ... Stack Overflow. Our methodology makes use of natural language processing techniques as well domain-specific heuristics to process and organize information available on Stack Overflow. The resulting task-oriented documentation for a software library contains three main components: (1) a list of tasks that can be achieved using the library, (2) a set of code snippets to demonstrate how to accomplish a specific task, and (3) additional information about trade-offs and insights of using specific Application Programming Interfaces. To evaluate the quality of information we extract and the usefulness of our approach, we conduct a survey of a diverse group of 69 Java developers. In addition to showing that our proposed task-oriented library documentation is useful to developers, the findings of our online survey also shed light on current limitations and challenges of extracting information from crowd-sourced websites. Finally, we present improvements to parts of our methodology, based on our analysis of the results. ii Preface
doi:10.7939/r3v698t7j fatcat:6pp73mtervenpbotk2oul4xfci