Facoltà di scienze informatiche

Opinion mining for software development

Lin, Bin ; Bavota, Gabriele (Dir.) ; Lanza, Michele (Codir.)

Thèse de doctorat : Università della Svizzera italiana, 2020 ; 2020INFO010.

Opinion mining, which uses computational methods to extract opinions and sentiments from natural language texts, can be applied to various software engineering (SE) tasks. For example, developers can mine user feedback from mobile app reviews to understand how to improve their products, and software team leaders can assess developers' mood and emotions by mining communication logs or commit... More

Add to personal list
    Summary
    Opinion mining, which uses computational methods to extract opinions and sentiments from natural language texts, can be applied to various software engineering (SE) tasks. For example, developers can mine user feedback from mobile app reviews to understand how to improve their products, and software team leaders can assess developers' mood and emotions by mining communication logs or commit messages. Also, the growing popularity of technical Q&A websites (e.g., Stack Overflow) and code-sharing platforms (e.g., GitHub) made available a plethora of information that can be mined to collect opinions of experienced developers (e.g., what they think about a specific software library). The latter can be used to assist software design decisions. However, such a task is far from trivial due to three main reasons: First, the amount of information available online is huge; second, opinions are often embedded in unstructured data; and third, recent studies have indicated that opinion mining tools provide unreliable results when used out-of-the-box in the SE domain, since they are not designed to process SE datasets. Despite all these challenges, we believe mining opinions from online resources enables developers to access peers' expertise with ease. The knowledge embedded in these opinions, once converted into actionable items, can facilitate software development activities. We first investigated the feasibility of using state-of-the-art sentiment analysis tools to identify sentiment polarity in the software context. We also examined whether customizing a neural network model with SE data can improve its performance of sentiment polarity prediction. Based on the findings of these studies, we proposed a novel approach for recommending APIs with rationales by mining opinions from Q&A websites to support software design decisions. On the one hand, we shed light on the limitations researchers face when applying existing opinion mining techniques in SE context. On the other hand, we illustrate the promise of mining opinions from online resources to support software development activities.