In this work, we explore users’ affective states during issue resolution in open source software (OSS) projects, and study the correlations between these states and their future retention. While many studies focus on users’ sentiment polarities, few have delved into the complex cognitive processes underlying issue resolution. This work proposes a nine-state model that describes users’ affective states by combining sentiment polarities with emotion. With this model, we perform affective state estimation from users’ issue comments with the state-of-the-art large language models (LLMs). Experimental results on existing benchmarks suggest that LLMs are effective in estimating the affective states from issue comments, and the finetuned RoBERTa-based estimator achieves the best performance with a 69.01% accuracy. With the estimator, we analyze the dynamics of users’ affective states during issue resolution in 114 real-world OSS projects and find significant differences between popular projects under active maintenance and inactive projects. Moreover, we perform regression analysis and find significant correlations between users’ affective states during issue resolution and their future retention and activeness in participating in issue discussions and making contributions. Compared with existing factors, we improve the average goodness-of-fit of regression models by 42.56% and 12.08%, for user retention and future activeness, after extending the factors to include users’ affective states, respectively. The results suggest that experiencing confusion and frustration is negatively associated with a user’s future retention, while being engaged corresponds to a higher likelihood of future participation. Our study shows the importance of maintaining an engaged and positive atmosphere in OSS teams.
- Article type
- Year
- Co-author
Repackaging brings serious threats to Android ecosystem. Software birthmark techniques are typically applied to detect repackaged apps. Birthmarks based on apps' runtime graphical user interfaces (GUI) are effective, especially for obfuscated or encrypted apps. However, existing studies are time-consuming and not suitable for handling apps in large scale. In this paper, we propose an effective yet efficient dynamic GUI birthmark for Android apps. Briefly, we run an app with automatically generated GUI events and dump its layout after each event. We divide each dumped layout into a grid, count in each grid cell the vertices of boundary rectangles corresponding to widgets within the layout, and generate a feature vector to encode the layout. Similar layouts are merged at runtime, and finally we obtain a graph as the birthmark of the app. Given a pair of apps to be compared, we build a weighted bipartite graph from their birthmarks and apply a modified version of the maximum-weight-bipartite-matching algorithm to determine whether they form a repackaging pair (RP) or not. We implement the proposed technique in a prototype, GridDroid, and apply it to detect RPs in three datasets involving 527 apks. GridDroid reports only six false negatives and seven false positives, and it takes GridDroid merely 20 microseconds on average to compare a pair of birthmarks.
Activity-oriented context-aware (AOCA) applications are representative in pervasive computing. These applications recognize daily-life human activities, perceive the environment status related to the activities, and react to ensure the smooth performance of the activities. Existing research proposed a specific light-weight, incremental method to support the development of such applications; however it is not easy to learn and use. This paper aims to facilitate the development of such applications and improve the productivity of developers. We propose AocML, a textual domain-specific language which provides a high-level abstraction of AOCA applications. Specifically, we first show the software model of AOCA applications and the abstract syntax of AocML. Then, we introduce the concrete syntax of AocML. We also implement the tools for AocML, including the development environment as well as the generation of Java code and ontology specification. Moreover, we use a case study and evaluation to demonstrate the advantages of AocML.
京公网安备11010802044758号