-
How practical is it? Machine Learning for Identifying Conceptual Interoperability Constraints in API Documents
Authors:
Hadil Abukwaik,
Mohammed Abufouda,
Thejashree Nair,
Dieter Rombach
Abstract:
Building meaningful interoperation with external software units requires performing the conceptual interoperability analysis that starts with identifying the conceptual interoperability constraints of each software unit, then it compares the systems' constraints to detect their conceptual mismatch. We call the conceptual interoperability constraints (the COINs) that can be of different types inclu…
▽ More
Building meaningful interoperation with external software units requires performing the conceptual interoperability analysis that starts with identifying the conceptual interoperability constraints of each software unit, then it compares the systems' constraints to detect their conceptual mismatch. We call the conceptual interoperability constraints (the COINs) that can be of different types including structure, dynamic, and quality. Missing such constraints may lead to unexpected mismatches, expensive resolution, and running-late projects. However, it is a challenging task for software architects and analysts to manually analyze the unstructured text in API documents to identify the COINs. Not only it is a tedious and time-consuming task, but also it needs knowledge about the constraint types. In this article, we present and evaluate our idea of utilizing machine learning techniques in automating the COIN identification, which is the first step of conceptual interoperability analysis, from human text in API documents. Our empirical research started with a multiple-case study to build the ground truth dataset, on which we contributed our machine learning COIN-Classification Model. We show the model's robustness through experiments using different machine learning text-classification algorithms. The experiments' results revealed that our model can achieve up to 87% accuracy in automatically identifying the COINs in text. Thus, we implemented a tool that embeds our model to demonstrate its practical value in industrial context. Then, we evaluated the practitioners' acceptance for the tool and found that they significantly agreed on its usefulness and ease of use.
△ Less
Submitted 5 December, 2018;
originally announced December 2018.
-
Postmortem Analysis of Decayed Online Social Communities: Cascade Pattern Analysis and Prediction
Authors:
Mohammed Abufouda
Abstract:
Recently, many online social networks, such as MySpace, Orkut, and Friendster, have faced inactivity decay of their members, which contributed to the collapse of these networks. The reasons, mechanics, and prevention mechanisms of such inactivity decay are not fully understood. In this work, we analyze decayed and alive sub-websites from the StackExchange platform. The analysis mainly focuses on t…
▽ More
Recently, many online social networks, such as MySpace, Orkut, and Friendster, have faced inactivity decay of their members, which contributed to the collapse of these networks. The reasons, mechanics, and prevention mechanisms of such inactivity decay are not fully understood. In this work, we analyze decayed and alive sub-websites from the StackExchange platform. The analysis mainly focuses on the inactivity cascades that occur among the members of these communities. We provide measures to understand the decay process and statistical analysis to extract the patterns that accompany the inactivity decay. Additionally, we predict cascade size and cascade virality using machine learning. The results of this work include a statistically significant difference of the decay patterns between the decayed and the alive sub-websites. These patterns are mainly: cascade size, cascade virality, cascade duration, and cascade similarity. Additionally, the contributed prediction framework showed satisfactory prediction results compared to a baseline predictor. Supported by empirical evidence, the main findings of this work are: (1) the decay process is not governed by only one network measure; it is better described using multiple measures; (2) the expert members of the StackExchange sub-websites were mainly responsible for the activity or inactivity of the StackExchange sub-websites; (3) the Statistics sub-website is going through decay dynamics that may lead to it becoming fully-decayed; and (4) decayed sub-websites were originally less resilient to inactivity decay, unlike the alive sub-websites.
△ Less
Submitted 10 October, 2018; v1 submitted 1 May, 2018;
originally announced May 2018.
-
On Using Network Science in Mining Developers Collaboration in Software Engineering: A Systematic Literature Review
Authors:
Mohammed Abufouda,
Hadil Abukwaik
Abstract:
The goal of this study is to identify, review, and analyze the published research works that used network analysis as a tool for understanding the human collaboration on different levels of software development. This study and its findings are expected to be of benefit for software engineering practitioners and researchers who are mining software repositories using tools from network science field…
▽ More
The goal of this study is to identify, review, and analyze the published research works that used network analysis as a tool for understanding the human collaboration on different levels of software development. This study and its findings are expected to be of benefit for software engineering practitioners and researchers who are mining software repositories using tools from network science field. We conducted a systematic literature review, in which we analyzed a number of selected papers from different digital libraries based on inclusion and exclusion criteria. We identified $35$ primary studies (PSs) from 4 digital libraries, then we extracted data from each PS according to a predefined data extraction sheet. The results of our data analysis showed that not all of the constructed networks used in the PSs were valid as the edges of these networks did not reflect a real relationship between the entities of the network. Additionally, the used measures in the PSs were in many cases not suitable for the used networks. Also, the reported analysis results by the PSs were not, in most cases, validated using any statistical model. Finally, many of the PSs did not provide lessons or guidelines for software practitioners that can improve the software engineering practices. Although employing network analysis in mining developers' collaboration showed some satisfactory results in some of the PSs, the application of network analysis needs to be conducted more carefully. That is said, the constructed network should be representative and meaningful, the used measure needs to be suitable for the context, and the validation of the results should be considered. More and above, we state some research gaps, in which network science can be applied, with some pointers to recent advances that can be used to mine collaboration networks.
△ Less
Submitted 3 December, 2017;
originally announced December 2017.
-
Link Classification and Tie Strength Ranking in Online Social Networks with Exogenous Interaction Networks
Authors:
Mohammed Abufouda,
Katharina A. Zweig
Abstract:
Online social networks (OSNs) have become the main medium for connecting people, sharing knowledge and information, and for communication. The social connections between people using these OSNs are formed as virtual links (e.g., friendship and following connections) that connect people. These links are the heart of today's OSNs as they facilitate all of the activities that the members of a social…
▽ More
Online social networks (OSNs) have become the main medium for connecting people, sharing knowledge and information, and for communication. The social connections between people using these OSNs are formed as virtual links (e.g., friendship and following connections) that connect people. These links are the heart of today's OSNs as they facilitate all of the activities that the members of a social network can do. However, many of these networks suffer from noisy links, i.e., links that do not reflect a real relationship or links that have a low intensity, that change the structure of the network and prevent accurate analysis of these networks. Hence, a process for assessing and ranking the links in a social network is crucial in order to sustain a healthy and real network. Here, we define link assessment as the process of identifying noisy and non-noisy links in a network. In this paper, we address the problem of link assessment and link ranking in social networks using external interaction networks. In addition to a friendship social network, additional exogenous interaction networks are utilized to make the assessment process more meaningful. We employed machine learning classifiers for assessing and ranking the links in the social network of interest using the data from exogenous interaction networks. The method was tested with two different datasets, each containing the social network of interest, with the ground truth, along with the exogenous interaction networks. The results show that it is possible to effectively assess the links of a social network using only the structure of a single network of the exogenous interaction networks, and also using the structure of the whole set of exogenous interaction networks. The experiments showed that some classifiers do better than others regarding both link classification and link ranking.
△ Less
Submitted 14 August, 2017;
originally announced August 2017.
-
Community Aliveness: Discovering Interaction Decay Patterns in Online Social Communities
Authors:
Mohammed Abufouda
Abstract:
Online Social Communities (OSCs) provide a medium for connecting people, sharing news, eliciting information, and finding jobs, among others. The dynamics of the interaction among the members of OSCs is not always growth dynamics. Instead, a $\textit{decay}$ or $\textit{inactivity}$ dynamics often happens, which makes an OSC obsolete. Understanding the behavior and the characteristics of the membe…
▽ More
Online Social Communities (OSCs) provide a medium for connecting people, sharing news, eliciting information, and finding jobs, among others. The dynamics of the interaction among the members of OSCs is not always growth dynamics. Instead, a $\textit{decay}$ or $\textit{inactivity}$ dynamics often happens, which makes an OSC obsolete. Understanding the behavior and the characteristics of the members of an inactive community help to sustain the growth dynamics of these communities and, possibly, prevents them from being out of service. In this work, we provide two prediction models for predicting the interaction decay of community members, namely: a Simple Threshold Model (STM) and a supervised machine learning classification framework. We conducted evaluation experiments for our prediction models supported by a $\textit{ground truth}$ of decayed communities extracted from the StackExchange platform. The results of the experiments revealed that it is possible, with satisfactory prediction performance in terms of the F1-score and the accuracy, to predict the decay of the activity of the members of these communities using network-based attributes and network-exogenous attributes of the members. The upper bound of the prediction performance of the methods we used is $0.91$ and $0.83$ for the F1-score and the accuracy, respectively. These results indicate that network-based attributes are correlated with the activity of the members and that we can find decay patterns in terms of these attributes. The results also showed that the structure of the decayed communities can be used to support the alive communities by discovering inactive members.
△ Less
Submitted 14 July, 2017;
originally announced July 2017.
-
A Theoretical Model for Understanding the Dynamics of Online Social Networks Decay
Authors:
Mohammed Abufouda
Abstract:
Online social networks represent a main source of communication and information exchange in today's life. They facilitate exquisitely news sharing, knowledge elicitation, and forming groups of same interests. Researchers in the last two decades studied the growth dynamics of the online social networks extensively questing a clear understanding of the behavior of humans in online social networks th…
▽ More
Online social networks represent a main source of communication and information exchange in today's life. They facilitate exquisitely news sharing, knowledge elicitation, and forming groups of same interests. Researchers in the last two decades studied the growth dynamics of the online social networks extensively questing a clear understanding of the behavior of humans in online social networks that helps in many directions, like engineering better recommendation systems and attracting new members. However, not all of social networks achieved the desired growth, for example, online social networks like MySpace, Orkut, and Friendster are out of service today. In this work, we present a probabilistic theoretical model that captures the dynamics of the social decay due to the inactivity of the members of a social network. The model is proved to have some interesting mathematical properties, namely \textit{submodularity}, which imply achieving the model optimization in a reasonable performance. That means the maximization problem can be approximated within a factor of $(1-1/e)$ and the minimization problem can be achieved in polynomial time.
△ Less
Submitted 1 September, 2020; v1 submitted 5 October, 2016;
originally announced October 2016.
-
Quality-aware Approach for Engineering Self-adaptive Software Systems
Authors:
Mohammed Abufouda
Abstract:
Self-adaptivity allows software systems to autonomously adjust their behavior during run-time to reduce the cost complexities caused by manual maintenance. In this paper, an approach for building an external adaptation engine for self-adaptive software systems is proposed. In order to improve the quality of self-adaptive software systems, this research addresses two challenges in self-adaptive sof…
▽ More
Self-adaptivity allows software systems to autonomously adjust their behavior during run-time to reduce the cost complexities caused by manual maintenance. In this paper, an approach for building an external adaptation engine for self-adaptive software systems is proposed. In order to improve the quality of self-adaptive software systems, this research addresses two challenges in self-adaptive software systems. The first challenge is managing the complexity of the adaptation space efficiently and the second is handling the run-time uncertainty that hinders the adaptation process. This research utilizes Case-based Reasoning as an adaptation engine along with utility functions for realizing the managed system's requirements and handling uncertainty.
△ Less
Submitted 11 February, 2014;
originally announced February 2014.
-
A Framework for Enhancing Performance and Handling Run-Time Uncertainty in Self-Adaptive Systems
Authors:
Mohammed Abufouda
Abstract:
Self-adaptivity allows software systems to autonomously adjust their behavior during run-time to reduce the cost complexities caused by manual maintenance. In this paper, a framework for building an external adaptation engine for self-adaptive software systems is proposed. In order to improve the quality of self-adaptive software systems, this research addresses two challenges in self-adaptive sof…
▽ More
Self-adaptivity allows software systems to autonomously adjust their behavior during run-time to reduce the cost complexities caused by manual maintenance. In this paper, a framework for building an external adaptation engine for self-adaptive software systems is proposed. In order to improve the quality of self-adaptive software systems, this research addresses two challenges in self-adaptive software systems. The first challenge is to provide better performance of the adaptation engine by managing the complexity of the adaptation space efficiently and the second challenge is handling run-time uncertainty that hinders the adaptation process. This research utilizes Case-based Reasoning as an adaptation engine along with utility functions for realizing the managed system's requirements.
△ Less
Submitted 10 February, 2014;
originally announced February 2014.