Towards comprehending the non-functional requirements through Developers eyes

Jie Zou,Ling Xu,Mengning Yang,Xiaohong Zhang,Dan Yang
DOI: https://doi.org/10.1016/j.infsof.2016.12.003
IF: 3.9
2017-01-01
Information and Software Technology
Abstract:ContextAs a vital role for the quality of software, non-functional requirements (NFRs) are attracting greater attention from developers. The programming question and answer (Q&A) websites like Stack Overflow gathered the knowledge and expertise of developers worldwide which reflects some insight into the development activities (e.g., NFRs), but the NFRs in the Q&A site are rarely investigated. ObjectiveOur research aims to aid comprehension on the actual thoughts and needs of the developers by analyzing the NFRs on Stack Overflow. MethodWe extracted the textual content of Stack Overflow discussions, and then we applied the topic modeling technique called latent Dirichlet allocation (LDA) helping us to discover the main topics of the corpus. Next, we labelled the topics with NFRs by the wordlists to analyze the hot, unresolved, difficult NFRs, and the evolutionary trends which involves the trends of the NFRs focus and NFRs difficulty. ResultsOur findings show that (1) The developers mostly discuss usability and reliability while discussing less on maintainability and efficiency. (2) The most unresolved problems also occurred in usability and reliability. (3) The visualization of the NFR evolutions over time shows the functionality and reliability attract more and more attention from developers and usability remains hot. (4) The NFRs investigation in specific technologies indicates the quality is a similar concern among different technologies and some NFRs are of more interest as time progresses. (5) The research on NFRs difficulty in specific technologies shows the maintainability is the most difficult NFR. In addition, the trends of the NFRs difficulty over time in the seven categories signal that we should focus more on usability to address them. ConclusionWe present an empirical study on 21.7 million posts and 32.5 million comments of Stack Overflow, and our research provides some guide to understand the NFRs through developers eyes.
What problem does this paper attempt to address?