Muhammad Ali Babar 0001

dblp:03/1909 · also Ali Babar 0001 · DBLP profile ↗
← Back
236ranked-venue papers
33as first author
81since 2021 · last 2026
0000-0001-9696-3626ORCID · conflict

Domains — the database's venue-derived domains; a paper can count in several

Software engineering, systems software and programming languages · 194 · 33 first-author · 53 since 2021Artificial intelligence and machine learning · 17 · 3 first-author · 4 since 2021Applied, interdisciplinary, general and emerging computing · 16 · 5 first-author · 4 since 2021Databases, data management, data science and information retrieval · 14 · 8 since 2021Computer networks · 10 · 8 since 2021Security and privacy · 7 · 7 since 2021Human-computer interaction and ubiquitous computing · 6 · 3 since 2021Systems, architecture and hardware · 5 · 4 since 2021Graphics, computer vision, multimedia, augmented reality and games · 1
YearPublicationVenuePosition
2026 Towards AI-Enabled Engineering of Digital Twins: An Architecture-Centric Approach
Nguyen Khoi Tran 0001, Muhammad Ali Babar 0001
ICSA3
2026 Software vulnerability management in IoT systems: a systematic mapping study
abstract
Abstract The Internet of Things (IoT) has rapidly emerged as a ubiquitous and pervasive paradigm in software development, significantly impacting both social life and business environments. However, this growth has also led to a corresponding increase in the number and sophistication of threats and attacks targeting IoT devices and services. The vulnerability of IoT software to security breaches has become a significant concern for the research community. Managing software vulnerabilities in IoT is a hugely challenging process involving several socio-technical decisions. Despite the rapid increase in primary studies focusing on Software Vulnerability Management (SVM) in IoT systems, no secondary studies specifically identify and analyse the socio-technical challenges, solutions, and state-of-the-art evaluation studies in SVM in IoT systems. This paper aims to address this gap by systematically identifying, classifying, comparing, and evaluating state of the art of SVM in IoT systems from a socio-technical point of view. We conducted a systematic mapping study (SMS) based on 73 qualitatively selected studies to i) classify the types, frequency, and demography of published research; ii) identify the socio-technical challenges in this regard; iii) classify the reported solutions; and iv) understand the rigour of the evaluation, including real-world application. In summary, our results point to 32 socio-technical challenges in IoT vulnerability management, where most are practice-related. In terms of the solutions, we found a maximum number of solutions proposed for the software vulnerability identification stage, with 22 frameworks. The software vulnerability disclosure stage has the least amount of solutions reported. This SMS also reveals that there needs to be more rigorous evaluation using more mature forms of evaluations like simulation with real data and case studies. Based on the findings that highlight the important concerns in this domain, we recommend a list of future research directions.
Fariha Tasmin Jaigirdar, Asangi Jayatilaka, Muhammad Ali Babar 0001
Cybersecur.3
2026 Alert-ME: An Explainability-Driven Defense Against Adversarial Examples in Transformer-Based Text Classification
abstract
Transformer-based Text Classifiers (TTC), exemplified by models like BERT, Roberta, T5, and GPT, have showcased impressive proficiency in Natural Language Processing (NLP). Nonetheless, their vulnerability to adversarial examples (AEs) presents a substantial security concern. Existing efforts to fortify model robustness either entail high computational costs or lack transparency and interpretability. This paper introduces a holistic framework calledExplainability-drivenDetection,Identification, andTransformation (EDIT) to address the shortcomings of prevailing inference-time defenses. (i) EDIT employs explainability methodologies (e.g., attention maps, integrated gradients) and frequency features for automated detection and identification of perturbed words while providing insights into the model's decision-making process. (ii) Building upon detection, EDIT purifies detected adversarial examples through an optimal transformation mechanism that utilizes pre-trained embeddings and model feedback to find the best replacements for identified perturbed words. (iii) To integrate human intelligence, the framework automates the process and triggers alerts for a security analyst to ensure secure safeguards and enable proactive human feedback. We comprehensively evaluate our framework on BERT and ROBERTA, trained on four SOTA text classification datasets: IMDB, YELP, AGNEWS, and SST2. We also assess our framework against seven SOTA Word Substitution Attacks (WSA) at character, word, and multi-levels of granularity. The results show that EDIT achieves an average F-score and balanced accuracy of 89.69% and 89.70%, respectively, across all datasets and classifiers. Compared to four SOTA inference defenses, our detector is 1.22 times better in balanced accuracy (BAL_ACC) and 1.33 times better in F1-Score. It also excels in operational efficiency, being about 83 times faster in feature extraction. The identification module outperforms techniques like ReplaceScore, FreqScore, and ExplainScore, achieving 1.125 times better BAL_ACC and Recall, 1.142 times higher AUC, 1.120 times greater Precision, and 1.149 times improved F1-Score. It significantly reduces false positives and negatives by approximately 1.537 and 1.172 times, respectively. Our transformation module effectively converts adversarial examples into non-adversarial counterparts with an accuracy of 91%. EDIT identifies the necessity for human intervention with an average median accuracy of 89%. With alerts integrated, EDIT achieves an average median accuracy of 90% across all evaluated datasets, models, and types of attacks, all while maintaining computational efficiency, averaging 6.94 seconds.
Bushra Sabir, Yansong Gao 0001, Alsharif Abuadbba, Muhammad Ali Babar 0001
IEEE Trans. Dependable Secur. Comput.4
2025 A Future in Motion: Reimagining Public Transport with Diverse Autonomous Vehicles
abstract
Public transportation plays a vital role in supporting sustainable, accessible, environment-friendly, and equitable urban mobility. However, challenges such as poor first- and last-mile connectivity, limited service coverage, and inefficient use of space continue to limit its effectiveness and uptake. Autonomous vehicles (AVs) offer new opportunities to address these limitations by enhancing flexibility, improving access, and complementing existing transit systems. This vision paper explores how a diverse fleet of AVs, including cars, shuttles, pods, scooters, and buses, can be integrated into public transport to form an adaptive, multimodal, and data-driven mobility ecosystem. We outline key research directions spanning fleet coordination, spatial deployment, infrastructure planning, and intelligent transportation platforms. We highlight the need for interdisciplinary research at the intersection of spatial computing, transportation systems, artificial intelligence, and urban data infrastructure. Our aim is to inform and inspire future efforts toward building autonomous mobility systems that are efficient, inclusive, and future-ready.
Muhammad Aamir Cheema, Muhammad Ali Babar 0001, Mohammed Eunus Ali, Mohammad Goudarzi, Walid G. Aref
SIGSPATIAL/GIS2
2025 Multivariate Time Series Anomaly Detection by Capturing Coarse-Grained Intra- and Inter-Variate Dependencies
abstract
Multivariate time series anomaly detection is essential for failure management in web application operations, as it directly influences the effectiveness and timeliness of implementing remedial or preventive measures. This task is often framed as a semi-supervised learning problem, where only normal data are available for model training, primarily due to the labor-intensive nature of data labeling and the scarcity of anomalous data. Existing semi-supervised methods often detect anomalies by capturing intra-variate temporal dependencies and/or inter-variate relationships to learn normal patterns, flagging timestamps that deviate from these patterns as anomalies. However, these approaches often fail to capture salient intra-variate temporal and inter-variate dependencies in time series due to their focus on excessively fine granularity, leading to suboptimal performance. In this study, we introduce MtsCID, a novel semi-supervised multivariate time series anomaly detection method. MtsCID employs a dual network architecture: one network operates on the attention maps of multi-scale intra-variate patches for coarse-grained temporal dependency learning, while the other works on variates to capture coarse-grained inter-variate relationships through convolution and interaction with sinusoidal prototypes. This design enhances the ability to capture the patterns from both intra-variate temporal dependencies and inter-variate relationships, resulting in improved performance. Extensive experiments across seven widely used datasets demonstrate that MtsCID achieves performance comparable or superior to state-of-the-art benchmark methods.
Yongzheng Xie, Hongyu Zhang 0002, Muhammad Ali Babar 0001
WWW3
2025 Understanding practitioners' challenges and requirements in the design, implementation, and evaluation of anti-phishing interventions
abstract
Background: Research shows that the ineffectiveness of anti-phishing interventions can result from practitioners’ failure to consider end-users’ requirements in the intervention design, implementation, and evaluation. To assist practitioners in addressing usability issues , we reported 41 guidelines through a systematic Multi-vocal Literature Review (MLR). The usefulness of these guidelines in real-world scenarios remains uncertain until the involved challenges and requirements to implement them are investigated. Objective: (1) To investigate practitioners’ challenges in the design, implementation, and evaluation of phishing interventions in real-world settings; (2) to understand practitioners’ perspectives on our guidelines and how they can be made easily accessible to the practitioners. Method: We interviewed 18 practitioners (intervention designers, security practitioners, and C-suite employees) from 18 organizations in 6 countries. Results: (1) We identify 8 challenges in training content design, anti-phishing datasets, post-training knowledge assessment , and so on. We compare these challenges with the challenges identified from our MLR to demonstrate the ecological validity of the challenges found in MLR and derive a set of insights to overcome them; (2) we report practitioners’ feedback on our guidelines; (3) we gather actionable features on an envisioned tool to make these guidelines easily accessible. Conclusion: We provide 15 recommendations to improve the anti-phishing defense in the organisations.
Orvila Sarker, Asangi Jayatilaka, Sherif Haggag, Chelsea Liu, Muhammad Ali Babar 0001
J. Syst. Softw.5
2025 Design and Implementation of Fragmented Clouds for Evaluation of Distributed Databases
abstract
In this paper, we present a Fragmented Hybrid Cloud (FHC) that provides a unified view of multiple geographically distributed private cloud datacenters. FHC leverages a fragmented usage model in which outsourcing is bi-directional across private clouds that can be hosted by static and mobile entities. The mobility aspect of private cloud nodes has important impacts on the FHC performance in terms of latency and network throughput that are reversely proportional to time-varying distances among different nodes. Mobility also results in intermittent interruption among computing nodes and network links of FHC infrastructure. To fully consider mobility and its consequences, we implemented a layered FHC that leverages Linux utilities and bash-shell programming. We also evaluated the impact of the mobility of nodes on the performance of distributed databases as a result of time-varying latency and bandwidth, downsizing and upsizing cluster nodes, and network accessibility. The findings from our extensive experiments provide deep insights into the performance of well-known big data databases, such as Cassandra, MongoDB, Redis, and MySQL, when deployed on a FHC.
Yaser Mansouri, Faheem Ullah, Shagun Dhingra, Muhammad Ali Babar 0001
IEEE Trans. Cloud Comput.4
2024 An Investigation into Misuse of Java Security APIs by Large Language Models
abstract
The increasing trend of using Large Language Models (LLMs) for code generation raises the question of their capability to generate trustworthy code. While many researchers are exploring the utility of code generation for uncovering software vulnerabilities, one crucial but often overlooked aspect is the security Application Programming Interfaces (APIs). APIs play an integral role in upholding software security, yet effectively integrating security APIs presents substantial challenges. This leads to inadvertent misuse by developers, thereby exposing software to vulnerabilities. To overcome these challenges, developers may seek assistance from LLMs. In this paper, we systematically assess ChatGPT's trustworthiness in code generation for security API use cases in Java. To conduct a thorough evaluation, we compile an extensive collection of 48 programming tasks for 5 widely used security APIs. We employ both automated and manual approaches to effectively detect security API misuse in the code generated by ChatGPT for these tasks. Our findings are concerning: around 70% of the code instances across 30 attempts per task contain security API misuse, with 20 distinct misuse types identified. Moreover, for roughly half of the tasks, this rate reaches 100%, indicating that there is a long way to go before developers can rely on ChatGPT to securely implement security API code.
Zahra Mousavi, Chadni Islam, Kristen Moore, Alsharif Abuadbba, Muhammad Ali Babar 0001
AsiaCCS5
2024 Evidence-Based Research for Supporting Software Security in Software Development: Methodological Challenges & Strategies
abstract
This is an extended abstract for the tutorial on the challenges and strategies for designing and conducting empirical research in software security. The tutorial will draw some examples from our research and development efforts for using quantitative and qualitative methods for identifying and understanding the challenges of developing secure software and devising and evaluating appropriate methods, processes and tools for addressing the identified challenges. The tutorial will focus on identifying and discussing the key lessons learned by the participants in their empirical research and how they are the same or different for the secure software development research and development.
Muhammad Ali Babar 0001
EASE1
2024 An Empirically Grounded Reference Architecture for Software Supply Chain Metadata Management
abstract
With the rapid rise in Software Supply Chain (SSC) attacks, organisations need thorough and trustworthy visibility over the entire SSC of their software inventory to detect risks early and identify compromised assets rapidly in the event of an SSC attack. One way to achieve such visibility is through SSC metadata, machine-readable and authenticated documents describing an artefact’s lifecycle. Adopting SSC metadata requires organisations to procure or develop a Software Supply Chain Metadata Management system (SCM2), a suite of software tools for performing life cycle activities of SSC metadata documents such as creation, signing, distribution, and consumption. Selecting or developing an SCM2 is challenging due to the lack of a comprehensive domain model and architectural blueprint to aid practitioners in navigating the vast design space of SSC metadata terminologies, frameworks, and solutions. This paper addresses the above-mentioned challenge by presenting an empirically grounded Reference Architecture (RA) comprising of a domain model and an architectural blueprint for SCM2 systems. Our proposed RA is constructed systematically on an empirical foundation built with industry-driven and peer-reviewed SSC security frameworks. Our theoretical evaluation, which consists of an architectural mapping of five prominent SSC security tools on the RA, ensures its validity and applicability, thus affirming the proposed RA as an effective framework for analysing existing SCM2 solutions and guiding the engineering of new SCM2 systems.
Nguyen Khoi Tran 0001, Samodha Pallewatta, Muhammad Ali Babar 0001
EASE3
2024 Software Vulnerability Prediction in Low-Resource Languages: An Empirical Study of CodeBERT and ChatGPT
abstract
Background: Software Vulnerability (SV) prediction in emerging languages is increasingly important to ensure software security in modern systems. However, these languages usually have limited SV data for developing high-performing prediction models. Aims: We conduct an empirical study to evaluate the impact of SV data scarcity in emerging languages on the state-of-the-art SV prediction model and investigate potential solutions to enhance the performance. Method: We train and test the state-of-the-art model based on CodeBERT with and without data sampling techniques for function-level and line-level SV prediction in three low-resource languages – Kotlin, Swift, and Rust. We also assess the effectiveness of ChatGPT for low-resource SV prediction given its recent success in other domains. Results: Compared to the original work in C/C++ with large data, CodeBERT’s performance of function-level and line-level SV prediction significantly declines in low-resource languages, signifying the negative impact of data scarcity. Regarding remediation, data sampling techniques fail to improve CodeBERT; whereas, ChatGPT showcases promising results, substantially enhancing predictive performance by up to 34.4% for the function level and up to 53.5% for the line level. Conclusion: We have highlighted the challenge and made the first promising step for low-resource SV prediction, paving the way for future research in this direction.
Triet Huynh Minh Le, Muhammad Ali Babar 0001, Tung Hoang Thai
EASE2
2024 Towards Secure Management of Edge-Cloud IoT Microservices Using Policy as Code
Samodha Pallewatta, Muhammad Ali Babar 0001
ECSA2
2024 Mitigating Data Imbalance for Software Vulnerability Assessment: Does Data Augmentation Help?
abstract
Background: Software Vulnerability (SV) assessment is increasingly adopted to address the ever-increasing volume and complexity of SVs. Data-driven approaches have been widely used to automate SV assessment tasks, particularly the prediction of the Common Vulnerability Scoring System (CVSS) metrics such as exploitability, impact, and severity. SV assessment suffers from the imbalanced distributions of the CVSS classes, but such data imbalance has been hardly understood and addressed in the literature. Aims: We conduct a large-scale study to quantify the impacts of data imbalance and mitigate the issue for SV assessment through the use of data augmentation. Method: We leverage nine data augmentation techniques to balance the class distributions of the CVSS metrics. We then compare the performance of SV assessment models with and without leveraging the augmented data. Results: Through extensive experiments on 180k+ real-world SVs, we show that mitigating data imbalance can significantly improve the predictive performance of models for all the CVSS tasks, by up to 31.8% in Matthews Correlation Coefficient. We also discover that simple text augmentation like combining random text insertion, deletion, and replacement can outperform the baseline across the board. Conclusions: Our study provides the motivation and the first promising step toward tackling data imbalance for effective SV assessment.
Triet Huynh Minh Le, Muhammad Ali Babar 0001
ESEM2
2024 Automatic Data Labeling for Software Vulnerability Prediction Models: How Far Are We?
abstract
Background: Software Vulnerability (SV) prediction needs large-sized and high-quality data to perform well. Current SV datasets mostly require expensive labeling efforts by experts (human-labeled) and thus are limited in size. Meanwhile, there are growing efforts in automatic SV labeling at scale. However, the fitness of auto-labeled data for SV prediction is still largely unknown. Aims: We quantitatively and qualitatively study the quality and use of the state-of-the-art auto-labeled SV data, D2A, for SV prediction. Method: Using multiple sources and manual validation, we curate clean SV data from human-labeled SV-fixing commits in two well-known projects for investigating the auto-labeled counterparts. Results: We discover that 50+% of the auto-labeled SVs are noisy (incorrectly labeled), and they hardly overlap with the publicly reported ones. Yet, SV prediction models utilizing the noisy auto-labeled SVs can perform up to 22% and 90% better in Matthews Correlation Coefficient and Recall, respectively, than the original models. We also reveal the promises and difficulties of applying noise-reduction methods for automatically addressing the noise in auto-labeled SV data to maximize the data utilization for SV prediction. Conclusions: Our study informs the benefits and challenges of using auto-labeled SVs, paving the way for large-scale SV prediction.
Triet Huynh Minh Le, Muhammad Ali Babar 0001
ESEM2
2024 Automated Code-centric Software Vulnerability Assessment: How Far Are We? An Empirical Study in C/C++
abstract
Background: The C/C++ languages hold significant importance in Software Engineering research because of their widespread use in practice. Numerous studies have utilized Machine Learning (ML) and Deep Learning (DL) techniques to detect software vulnerabilities (SVs) in the source code written in these languages. However, the application of these techniques in function-level SV assessment has been largely unexplored. SV assessment is increasingly crucial as it provides detailed information on the exploitability, impacts, and severity of security defects, thereby aiding in their prioritization and remediation. Aims: We conduct the first empirical study to investigate and compare the performance of ML and DL models, many of which have been used for SV detection, for function-level SV assessment in C/C++. Method: Using 9,993 vulnerable C/C++ functions, we evaluated the performance of six multi-class ML models and five multi-class DL models for the SV assessment at the function level based on the Common Vulnerability Scoring System (CVSS). We further explore multi-task learning, which can leverage common vulnerable code to predict all SV assessment outputs simultaneously in a single model, and compare the effectiveness and efficiency of this model type with those of the original multi-class models. Results: We show that ML has matching or even better performance compared to the multi-class DL models for function-level SV assessment with significantly less training time. Employing multi-task learning allows the DL models to perform significantly better, with an average of 8–22% increase in Matthews Correlation Coefficient (MCC), than the multi-class models. Conclusions: We distill the practices of using data-driven techniques for function-level SV assessment in C/C++, including the use of multi-task DL to balance efficiency and effectiveness. This can establish a strong foundation for future work in this area.
Anh The Nguyen, Triet Huynh Minh Le, Muhammad Ali Babar 0001
ESEM3
2024 METAL: Metamorphic Testing Framework for Analyzing Large-Language Model Qualities
abstract
Large-Language Models (LLMs) have shifted the paradigm of natural language data processing. However, their black-boxed and probabilistic characteristics can lead to potential risks in the quality of outputs in diverse LLM applications. Recent studies have tested Quality Attributes (QAs), such as robustness or fairness, of LLMs by generating adversarial input texts. However, existing studies have limited their coverage of QAs and tasks in LLMs and are difficult to extend. Additionally, these studies have only used one evaluation metric, Attack Success Rate (ASR), to assess the effectiveness of their approaches. We propose a MEtamorphic Testing for Analyzing LLMs (METAL) framework to address these issues by applying Metamorphic Testing (MT) techniques. This approach facilitates the systematic testing of LLM qualities by defining Metamorphic Relations (MRs), which serve as modularized evaluation metrics. The METAL framework can automatically generate hundreds of MRs from templates that cover various QAs and tasks. In addition, we introduced novel metrics to assess the effectiveness of MRs accurately by integrating the ASR method into the semantic qualities of text. Through the experiments conducted with three prominent LLMs, we have confirmed that the METAL framework effectively evaluates essential QAs on primary LLM tasks and reveals the quality risks in LLMs. Moreover, the newly proposed metrics can guide the optimal MRs for testing each task and suggest the most effective method for generating MRs.
Sangwon Hyun, Mingyu Guo 0001, Muhammad Ali Babar 0001
ICST3
2024 Are Latent Vulnerabilities Hidden Gems for Software Vulnerability Prediction? An Empirical Study
abstract
Collecting relevant and high-quality data is integral to the development of effective Software Vulnerability (SV) prediction models. Most of the current SV datasets rely on SV-fixing commits to extract vulnerable functions and lines. However, none of these datasets have considered latent SVs existing between the introduction and fix of the collected SVs. There is also little known about the usefulness of these latent SVs for SV prediction. To bridge these gaps, we conduct a large-scale study on the latent vulnerable functions in two commonly used SV datasets and their utilization for function-level and line-level SV predictions. Leveraging the state-of-the-art SZZ algorithm, we identify more than 100k latent vulnerable functions in the studied datasets. We find that these latent functions can increase the number of SVs by 4× on average and correct up to 5k mislabeled functions, yet they have a noise level of around 6%. Despite the noise, we show that the state-of-the-art SV prediction model can significantly benefit from such latent SVs. The improvements are up to 24.5% in the performance (F1-Score) of function-level SV predictions and up to 67% in the effectiveness of localizing vulnerable lines. Overall, our study presents the first promising step toward the use of latent SVs to improve the quality of SV datasets and enhance the performance of SV prediction tasks.
Triet Huynh Minh Le, Xiaoning Du 0001, Muhammad Ali Babar 0001
MSR3
2024 Does Generative AI Generate Smells Related to Container Orchestration?: An Exploratory Study with Kubernetes Manifests
abstract
Generative artificial intelligence (AI) technologies, such as ChatGPT have shown promise in solving software engineering problems. However, these technologies have also shown to be susceptible to generating software artifacts that contain quality issues. A systematic characterization of quality issues, such as smells in ChatGPT-generated artifacts can help in providing recommendations for practitioners who use generative AI for container orchestration.
Yue Zhang 0051, Rachel Meredith, Wilson Reeves, Julia Coriolano, Muhammad Ali Babar 0001, Akond Ashfaque Ur Rahman
MSR5
2024 Malicious Package Detection using Metadata Information
abstract
Protecting software supply chains from malicious packages is paramount in the evolving landscape of software development. Attacks on the software supply chain involve attackers injecting harmful software into commonly used packages or libraries in a software repository. For instance, JavaScript uses Node Package Manager (NPM), and Python uses Python Package Index (PyPi) as their respective package repositories. In the past, NPM has had vulnerabilities such as the event-stream incident, where a malicious package was introduced into a popular NPM package, potentially impacting a wide range of projects. As the integration of third-party packages becomes increasingly ubiquitous in modern software development, accelerating the creation and deployment of applications, the need for a robust detection mechanism has become critical. On the other hand, due to the sheer volume of new packages being released daily, the task of identifying malicious packages presents a significant challenge. To address this issue, in this paper, we introduce a metadata-based malicious package detection model, MeMPtec. This model extracts a set of features from package metadata information. These extracted features are classified as either easy-to-manipulate (ETM) or difficult-to-manipulate (DTM) features based on monotonicity and restricted control properties. By utilising these metadata features, not only do we improve the effectiveness of detecting malicious packages, but also we demonstrate its resistance to adversarial attacks in comparison with existing state-of-the-art. Our experiments indicate a significant reduction in both false positives (up to 97.56%) and false negatives (up to 91.86%).
Sajal Halder, Michael Bewong, Arash Mahboubi, Yinhao Jiang, Md. Rafiqul Islam 0001, Md Zahidul Islam 0001, Ryan H. L. Ip, M. Ejaz Ahmed, Gowri Sankar Ramachandran, Muhammad Ali Babar 0001
WWW10
2024 Mechanism design for public projects via three machine learning based approaches
abstract
Abstract We study mechanism design for nonexcludable and excludable binary public project problems. Our aim is to maximize the expected number of consumers and the expected agents’ welfare. We first show that for the nonexcludable public project model, there is no need for machine learning based mechanism design. We identify a sufficient condition on the prior distribution for the existing conservative equal costs mechanism to be the optimal strategy-proof and individually rational mechanism. For general distributions, we propose a dynamic program that solves for the optimal mechanism. For the excludable public project model, we identify a similar sufficient condition for the existing serial cost sharing mechanism to be optimal for 2 and 3 agents. We derive a numerical upper bound and use it to show that for several common distributions, the serial cost sharing mechanism is close to optimality. The serial cost sharing mechanism is not optimal in general. We propose three machine learning based approaches for designing better performing mechanisms. We focus on the family of largest unanimous mechanisms , which characterizes all strategy-proof and individually rational mechanisms for the excludable public project model. A largest unanimous mechanism describes an iterative mechanism, which is defined by an exponential number of mechanism parameters. Our first approach describes the largest unanimous mechanism family using a neural network and training is carried out by minimizing a cost function that combines the mechanism design objective and the constraint violation penalty. We interpret the largest unanimous mechanisms as price-oriented rationing-free (PORF) mechanisms, which enables us to move the mechanisms’ iterative decision making off the neural network, to a separate simulation process, therefore avoiding the vanishing gradient problem. We also feed the prior distribution’s analytical form into the cost function to achieve high-quality gradients for efficient training. Our second approach treats the mechanism design task as a Markov Decision Process with an exponential number of states. During the Markov decision process, the non-consumers are gradually removed from the system. We train multiple neural networks, each for a different number of remaining agents, to learn the optimal value function on the states. Training is carried out by supervised learning toward a set of manually prepared base cases and the Bellman equation. Our third approach is based on reinforcement learning for a Partially Observable Markov Decision Process . Each RL episode randomly draws a type profile, which is hidden from the RL agent (mechanism designer). The RL agent only observes which cost share offers have been accepted under the largest unanimous mechanism under discussion. We use a continuous action space reinforcement learning approach to adjust the offer policy (i.e., adjust mechanism parameters). Lastly, our first two approaches use “supervision to manual mechanisms” as a systematic way for network initialization, which is potentially valuable for machine learning based mechanism design in general.
Mingyu Guo 0001, Diksha Goel, Runqi Guo, Yuko Sakurai, Muhammad Ali Babar 0001
Auton. Agents Multi Agent Syst.6
2024 Agriculture 4.0 and beyond: Evaluating cyber threat intelligence sources and techniques in smart farming ecosystems
abstract
The digitisation of agriculture, integral to Agriculture 4.0, has brought significant benefits while simultaneously escalating cybersecurity risks. With the rapid adoption of smart farming technologies and infrastructure, the agricultural sector has become an attractive target for cyberattacks. This paper presents a systematic literature review that assesses the applicability of existing cyber threat intelligence (CTI) techniques within smart farming infrastructures (SFIs). We develop a comprehensive taxonomy of CTI techniques and sources, specifically tailored to the SFI context, addressing the unique cyber threat challenges in this domain. A crucial finding of our review is the identified need for a virtual Chief Information Security Officer (vCISO) in smart agriculture. While the concept of a vCISO is not yet established in the agricultural sector, our study highlights its potential significance. The implementation of a vCISO could play a pivotal role in enhancing cybersecurity measures by offering strategic guidance, developing robust security protocols, and facilitating real-time threat analysis and response strategies. This approach is critical for safeguarding the food supply chain against the evolving landscape of cyber threats. Our research underscores the importance of integrating a vCISO framework into smart farming practices as a vital step towards strengthening cybersecurity. This is essential for protecting the agriculture sector in the era of digital transformation, ensuring the resilience and sustainability of the food supply chain against emerging cyber risks.
Hang Thanh Bui, Hamed Aboutorab, Arash Mahboubi, Yansong Gao 0001, Nazatul Haque Sultan, Muhammad Aufeef Chauhan, Mohammad Zavid Parvez, Michael Bewong, Md. Rafiqul Islam 0001, Md Zahidul Islam 0001, Seyit Ahmet Çamtepe, Praveen Gauravaram, Dinesh Kumar Singh, Muhammad Ali Babar 0001, Shihao Yan
Comput. Secur.14
2024 KRIOTA: A framework for Knowledge-management of dynamic Reference Information and Optimal Task Assignment in hybrid edge-cloud environments to support situation-aware robot-assisted operations
Muhammad Aufeef Chauhan, Muhammad Ali Babar 0001, Haifeng Shen
Future Gener. Comput. Syst.2
2024 Evaluation of distributed data processing frameworks in hybrid clouds
abstract
Distributed data processing frameworks (e.g., Hadoop, Spark, and Flink) are widely used to distribute data among computing nodes of a cloud. Recently, there have been increasing efforts aimed at evaluating the performance of distributed data processing frameworks hosted in private and public clouds. However, there is a paucity of research on evaluating the performance of these frameworks hosted in a hybrid cloud, which is an emerging cloud model that integrates private and public clouds to use the best of both worlds. Therefore, in this paper, we evaluate the performance of Hadoop, Spark, and Flink in a hybrid cloud in terms of execution time, resource utilization, horizontal scalability, vertical scalability, and cost. For this study, our hybrid cloud consists of OpenStack (private cloud) and MS Azure (public cloud). We use both batch and iterative workloads for the evaluation. Our results show that in a hybrid cloud (i) the execution time increases as more nodes are borrowed by the private cloud from the public cloud, (ii) Flink outperforms Spark, which in turn outperforms Hadoop in terms of execution time, (iii) Hadoop transfers the largest amount of data among the nodes during the workload execution while Spark transfers the least amount of data, (iv) all three frameworks horizontally scale better as compared to vertical scaling, and (v) Spark is found to be least expensive in terms of $ cost for data processing while Hadoop is found the most expensive.
Faheem Ullah, Shagun Dhingra, Xiaoyu Xia 0001, Muhammad Ali Babar 0001
J. Netw. Comput. Appl.4
2024 A Multi-vocal Literature Review on challenges and critical success factors of phishing education, training and awareness
abstract
Phishing is a malicious attempt by cyber attackers to steal personal information through deception. Phishing attacks are often aided by carefully crafted phishing emails, which can go undetected by automated anti-phishing tools due to their limited accuracy. Studies found that user education, training, and awareness can thwart phishing attacks. Understanding diverse interconnected challenges and critical success factors of phishing education, training, and awareness (PETA) approaches can help improve organizations’ defense against phishing. This study presents a comprehensive, structured view of the challenges and critical success factors of the design, implementation, and evaluation stages of PETA. We have conducted a Multi-vocal Literature Review (MLR) by systematically collecting 53 academic studies and 16 grey studies from popular databases by following a well-known MLR guideline. We identified 20 challenges and 23 critical success factors, some of which involve human-centric and socio-technical factors in PETA. Our findings point out the need for designing explainable anti-phishing systems and developing automated tools and platforms to conduct real-world phishing studies. Our systematic analysis of 69 studies has enabled us to highlight the need for addressing human-centric issues, incorporating users’ knowledge gaps, and adopting personalized approaches in PETA.
Orvila Sarker, Asangi Jayatilaka, Sherif Haggag, Chelsea Liu, Muhammad Ali Babar 0001
J. Syst. Softw.5
2024 Design and Generation of a Set of Declarative APIs for Security Orchestration
abstract
The emerging threat landscape causes continuous change in the Incident Response Process (IRP) and security tools of security orchestration platforms (SOAR). Users of such platforms often struggle to adapt to these changes because they are addressed in an ad-hoc manner through a complex architecture. The complex design of the SOAR can be hidden behind an easy-to-use user interface. This article introduces a Declarative API (DAPI)-driven Orchestration approach, DecOr, that alleviates the need for security teams’ detailed understanding of the libraries and plugins to address the changes of a SOAR. DecOr comprises 1) three sets of dAPIs to encapsulate the activities of security orchestration and 2) a semantic framework to support the design and generation of dAPIs from task descriptions, leveraging natural language processing techniques. The dAPIs are mapped with an ontological knowledge base to execute IRPs. We experimentally evaluate the effectiveness and efficiency of DecOr based on 147 task and dAPI pairs, curated from real-world playbooks. We show the end-to-end process from identifying dAPIs to executing 48 IRPs with seven security tools. The evaluation results show, DecOr accurately generates dAPIs in near real-time, with precision and recall values over 80% and successfully executes changing IRPs 93% of the time.
Chadni Islam, Muhammad Ali Babar 0001, Surya Nepal
IEEE Trans. Serv. Comput.2
2023 Analyzing the Evolution of Inter-package Dependencies in Operating Systems: A Case Study of Ubuntu
Victor Prokhorenko, Chadni Islam, Muhammad Ali Babar 0001
ECSA3
2023 An Experience Report on the Design and Implementation of an Ad-hoc Blockchain Platform for Tactical Edge Applications
Nguyen Khoi Tran 0001, Muhammad Ali Babar 0001, Julian Thorpe, Seth Leslie, Andrew Walters
ECSA2
2023 Guidance Models for Designing Big Data Cyber Security Analytics Systems
Faheem Ullah, Muhammad Ali Babar 0001
ECSA2
2023 A Study on Early & Non-Intrusive Security Assessment for Container Images
Mubin Ul Haque, Muhammad Ali Babar 0001
ENASE2
2023 Security Tools' API Recommendation Using Machine Learning
Zarrin Tasnim Sworna, Anjitha Sreekumar, Chadni Islam, Muhammad Ali Babar 0001
ENASE4
2023 Data Quality for Software Vulnerability Datasets
abstract
The use of learning-based techniques to achieve automated software vulnerability detection has been of longstanding interest within the software security domain. These data-driven solutions are enabled by large software vulnerability datasets used for training and benchmarking. However, we observe that the quality of the data powering these solutions is currently ill-considered, hindering the reliability and value of produced outcomes. Whilst awareness of software vulnerability data preparation challenges is growing, there has been little investigation into the potential negative impacts of software vulnerability data quality. For instance, we lack confirmation that vulnerability labels are correct or consistent. Our study seeks to address such shortcomings by inspecting five inherent data quality attributes for four state-of-the-art software vulnerability datasets and the subsequent impacts that issues can have on software vulnerability prediction models. Surprisingly, we found that all the analyzed datasets exhibit some data quality problems. In particular, we found 20–71% of vulnerability labels to be inaccurate in real-world datasets, and 17-99% of data points were duplicated. We observed that these issues could cause significant impacts on downstream models, either preventing effective model training or inflating benchmark performance. We advocate for the need to overcome such challenges. Our findings will enable better consideration and assessment of software vulnerability data quality in the future.
Roland Croft, Muhammad Ali Babar 0001, M. Mehdi Kholoosi
ICSE2
2023 Reinforcement Learning Based Neighbour Selection for VANET with Adaptive Trust Management
abstract
Successful information propagation from source to destination in Vehicular Adhoc Network (VANET) can be hampered by the presence of neighbouring attacker nodes causing unwanted packet dropping. Potential attackers change their behaviour over time and remain undetected due to the adhoc nature of VANET. Capturing the dynamic attacker behaviour and updating the corresponding neighbourhood information without compromising the quality of service requirements is an ongoing challenge. This work proposes a Reinforcement Learning (RL) based neighbour selection framework for VANET with an adaptive trust management system to capture the behavioural changes of potential attackers and to dynamically update the neighbourhood information. In contrast to existing works, we consider trust and link-life time in unison as neighbour selection criteria to achieve trustworthy communication. Our adaptive trust model takes into account the social relationship, time and confidence in trust observation to avoid four types of attackers. To update the neighbourhood information, our framework sets the learning rate of the RL agent according to the velocities of the neighbour nodes to improve the model’s adaptability to network topology changes. Results demonstrate that our method can take less number of hops to the destination for large network sizes while can response is up to 54% faster compared to a baseline method. Also, the proposed model can outperform the other baseline method by reducing the packet dropping rate up to 57% caused by the attacker.
Orvila Sarker, Hong Shen 0001, Muhammad Ali Babar 0001
TrustCom3
2023 IRP2API: Automated Mapping of Cyber Security Incident Response Plan to Security Tools' APIs
abstract
Security Operation Center (SOC) uses Incident Response Plan (IRP) to respond to security incidents by orchestrating diverse security tools’ activities in a Security Orchestration, Automation and Response (SOAR) platform. SOC teams manually dig through API documentation of security tools to find the appropriate APIs to define, update and execute an IRP, which hampers effective and efficient incident response. We propose a novel framework, namely IRP2API, for automated mapping of IRP to diverse security tools’ APIs. IRP2API enables SOC teams to effectively and efficiently execute IRP tasks, whilst significantly reducing the required human effort. IRP2API is a unified framework for diverse security tools using an unsupervised transfer learning approach based on API documentation. IRP2API alleviates the requirement of expert knowledge, expensive manually labeled data and access to the code repository. IRP2API achieves suitable semantic coverage by leveraging different semantic variation enrichment methods to deal with the semantic variation of IRP and API data. To demonstrate the real world viability of IRP2API, we experimentally evaluate its effectiveness and efficiency using IRPs of a real world SOAR platform, 6 security tools and 4 transfer learning-based pre-trained embedding approaches. IRP2API achieves 91.1% Top-15 Accuracy and mean reciprocal rank@15 of 57.4 for automated IRP to API mapping, which is 41.6% and 81.6% improved compared to the best results across all non-transfer learning-based baselines. It indicates its effectiveness to support a SOC team. IRP2API requires only 0.8 sec per IRP task to map suitable API that reflects its real world applicability in time-critical SOC.
Zarrin Tasnim Sworna, Muhammad Ali Babar 0001, Anjitha Sreekumar
SANER2
2023 Defending SDN against packet injection attacks using deep learning
abstract
The (logically) centralized architecture of software-defined networks makes them an easy target for packet injection attacks. In these attacks, the attacker injects malicious packets into the SDN network to affect the services and performance of the SDN controller and overflows the capacity of the SDN switches. Such attacks have been shown to ultimately stop the network functioning in real-time, leading to network breakdowns. There have been significant works on detecting and defending against similar DoS attacks in non-SDN networks, but detection and protection techniques for SDN against packet injection attacks are still in their infancy. Furthermore, many of the proposed solutions have been shown to be easily bypassed by simple modifications to the attacking packets or by altering the attacking profile. In this paper, we develop novel Graph Convolutional Neural Network models and algorithms for grouping network nodes/users into security classes by learning from network data. We start with two simple classes - nodes that engage in suspicious packet injection attacks and nodes that are not. From these classes, we then partition the network into separate segments with different security policies using distributed Ryu controllers in an SDN network. We show in experiments on an emulated SDN that our detection solution outperforms alternative approaches with above 99% detection accuracy for various types (both old and new) of injection attacks. More importantly, our mitigation solution maintains continuous functions of non-compromised nodes while isolating compromised/suspicious nodes in real-time. All code and data are publicly available for the reproducibility of our results.
Anh Tuan Phu, Faheem Ullah, Tanvir Ul Huque, Ranesh Kumar Naha, Muhammad Ali Babar 0001
Comput. Networks6
2023 Falling for phishing attempts: An investigation of individual differences that are associated with behavior in a naturalistic phishing simulation
abstract
Social engineering cyber-attacks such as phishing emails pose a serious threat to the safety of many organizations. Given that the effectiveness of these attacks heavily relies on poor human decision making, an improved understanding of the individual characteristics that increase cybersecurity vulnerability could inform more targeted training. The current study aimed to identify whether several factors, including phishing email detection ability, confidence in one's phishing identification decisions, general attitudes towards one's level of responsibility and efficacy, and employee satisfaction and loyalty to the organization, may predict behavior in a naturalistic phishing simulation in an employment setting. We followed up employees of a large organization who had been recently targeted by a phishing simulation and asked them to complete a survey that included a phishing detection task. The employees’ behavior in the phishing simulation was ranked according to its safety: reporting the suspicious email, neither reporting nor clicking on the embedded link, and clicking on the link. We found that fewer years of employment at the organization and lower employee satisfaction and loyalty predicted increasingly unsafe behavior in the simulation. This suggests that newer and unsatisfied employees are most vulnerable to phishing attempts and might benefit most from targeted cybersecurity training.
Nathan Beu, Asangi Jayatilaka, Mansooreh Zahedi, Muhammad Ali Babar 0001, Laura Hartley, Winston Lewinsmith, Irina Baetu
Comput. Secur.4
2023 On the privacy of mental health apps
abstract
Abstract An increasing number of mental health services are now offered through mobile health (mHealth) systems, such as in mobile applications (apps). Although there is an unprecedented growth in the adoption of mental health services, partly due to the COVID-19 pandemic, concerns about data privacy risks due to security breaches are also increasing. Whilst some studies have analyzed mHealth apps from different angles, including security, there is relatively little evidence for data privacy issues that may exist in mHealth apps used for mental health services, whose recipients can be particularly vulnerable. This paper reports an empirical study aimed at systematically identifying and understanding data privacy incorporated in mental health apps. We analyzed 27 top-ranked mental health apps from Google Play Store. Our methodology enabled us to perform an in-depth privacy analysis of the apps, covering static and dynamic analysis, data sharing behaviour, server-side tests, privacy impact assessment requests, and privacy policy evaluation. Furthermore, we mapped the findings to the LINDDUN threat taxonomy, describing how threats manifest on the studied apps. The findings reveal important data privacy issues such as unnecessary permissions, insecure cryptography implementations, and leaks of personal data and credentials in logs and web requests. There is also a high risk of user profiling as the apps’ development do not provide foolproof mechanisms against linkability, detectability and identifiability. Data sharing among 3rd-parties and advertisers in the current apps’ ecosystem aggravates this situation. Based on the empirical findings of this study, we provide recommendations to be considered by different stakeholders of mHealth apps in general and apps developers in particular. We conclude that while developers ought to be more knowledgeable in considering and addressing privacy issues, users and health professionals can also play a role by demanding privacy-friendly apps.
Leonardo H. Iwaya, Muhammad Ali Babar 0001, Awais Rashid, Chamila Wijayarathna
Empir. Softw. Eng.2
2023 Evaluating the efficacy of using a novel gaze-based attentive user interface to extend ADHD children's attention span
Haifeng Shen, Othman Asiry, Muhammad Ali Babar 0001, Tomasz Bednarz
Int. J. Hum. Comput. Stud.3
2023 An empirical study on secure usage of mobile health apps: The attack simulation approach
Bakheet Aljedaani, Aakash Ahmad, Mansooreh Zahedi, Muhammad Ali Babar 0001
Inf. Softw. Technol.4
2023 Resource Utilization of Distributed Databases in Edge-Cloud Environment
abstract
A benchmark study of modern distributed databases (DDBs) (e.g., Cassandra, MongoDB, Redis, and MySQL) is an important source of information for selecting the right technology for managing data in edge–cloud deployments. While most of the existing studies have investigated the performance and scalability of DDBs in cloud computing, there is a lack of focus on resource utilization (e.g., energy, bandwidth, and storage consumption) of workload offloading for DDBs deployed in edge–cloud environments. For this purpose, we conducted experiments on various physical and virtualized computing nodes, including variously powered servers, Raspberry Pi, and hybrid cloud (OpenStack and Azure). Our extensive experimental results reveal insights into which database under which offloading scenario is more efficient in terms of energy, bandwidth, and storage consumption.
Yaser Mansouri, Victor Prokhorenko, Faheem Ullah, Muhammad Ali Babar 0001
IEEE Internet Things J.4
2023 NLP methods in host-based intrusion detection systems: A systematic review and future directions
abstract
Host-based Intrusion Detection System (HIDS) is an effective last line of defense for defending against cyber security attacks after perimeter defenses (e.g., Network-based Intrusion Detection System and Firewall) have failed or been bypassed. HIDS is widely adopted in the industry as HIDS is ranked among the top two most used security tools by Security Operation Centers (SOC) of organizations. Although effective and efficient HIDS is highly desirable for industrial organizations, the evolution of increasingly complex attack patterns causes several challenges resulting in performance degradation of HIDS (e.g., high false alert rate creating alert fatigue for SOC staff). Since Natural Language Processing (NLP) methods are better suited for identifying complex attack patterns, an increasing number of HIDS are leveraging the advances in NLP that have shown effective and efficient performance in precisely detecting low footprint, zero-day attacks and predicting an attacker’s next steps. This active research trend of using NLP in HIDS demands a synthesized and comprehensive body of knowledge of NLP-based HIDS. Despite the drastically growing adoption of NLP in HIDS development, there has been relatively little effort allocated to systematically analyze and synthesize the available peer review literature to understand how NLP is used in HIDS development. The lack of a synthesized and comprehensive body of knowledge on such an important topic motivated us to conduct a Systematic Literature Review (SLR) of the papers on the end-to-end pipeline of the use of NLP in HIDS development. For the end-to-end NLP-based HIDS development pipeline, we identify, taxonomically categorize and systematically compare the state-of-the-art of NLP methods usage in HIDS, attacks detected by these NLP methods, datasets and evaluation metrics which are used to evaluate the NLP-based HIDS. We highlight the relevant prevalent practices, considerations, advantages and limitations to support the HIDS developers. We also outline the future research directions for the NLP-based HIDS development.
Zarrin Tasnim Sworna, Zahra Mousavi, Muhammad Ali Babar 0001
J. Netw. Comput. Appl.3
2023 End-users' knowledge and perception about security of clinical mobile health apps: A case study with two Saudi Arabian mHealth providers
Bakheet Aljedaani, Aakash Ahmad, Mansooreh Zahedi, Muhammad Ali Babar 0001
J. Syst. Softw.4
2023 Runtime software patching: Taxonomy, survey and future directions
Chadni Islam, Victor Prokhorenko, Muhammad Ali Babar 0001
J. Syst. Softw.3
2023 Revisiting the practices and pains of microservice architecture in reality: An industrial inquiry
Xin Zhou 0016, Shanshan Li 0002, Lingli Cao, He Zhang 0001, Zijia Jia, Chenxing Zhong, Zhihao Shan, Muhammad Ali Babar 0001
J. Syst. Softw.8
2023 A qualitative study of architectural design issues in DevOps
abstract
Abstract Software architecture is critical in succeeding with Development and Operations (DevOps). However, designing software architectures that enable and support DevOps (DevOps‐driven software architectures) is a challenge for organizations. We assert that one of the essential steps towards characterizing DevOps‐driven architectures is to understand architectural design issues raised in DevOps. At the same time, some of the architectural issues that emerge in the DevOps context (and their corresponding architectural practices or tactics) may stem from the context (i.e., domain) and characteristics of software organizations. To this end, we conducted a mixed‐methods study that consists of a qualitative case study of two teams in a company during their DevOps transformation and a content analysis of Stack Overflow and DevOps Stack Exchange posts to understand architectural design issues in DevOps. Our study found eight specific and contextual architectural design issues faced by the two teams and classified architectural design issues discussed in Stack Overflow and DevOps Stack Exchange into 11 groups. Our aggregated results reveal that the main characteristics of DevOps‐driven architectures are being loosely coupled and prioritizing deployability, testability, supportability, and modifiability over other quality attributes. Finally, we discuss some concrete implications for research and practice.
Mojtaba Shahin, Ali Rezaei Nasab, Muhammad Ali Babar 0001
J. Softw. Evol. Process.3
2023 APIRO: A Framework for Automated Security Tools API Recommendation
abstract
Security Orchestration, Automation, and Response (SOAR) platforms integrate and orchestrate a wide variety of security tools to accelerate the operational activities of Security Operation Center (SOC). Integration of security tools in a SOAR platform is mostly done manually using APIs, plugins, and scripts. SOC teams need to navigate through API calls of different security tools to find a suitable API to define or update an incident response action. Analyzing various types of API documentation with diverse API format and presentation structure involves significant challenges such as data availability, data heterogeneity, and semantic variation for automatic identification of security tool APIs specific to a particular task. Given these challenges can have negative impact on SOC team’s ability to handle security incident effectively and efficiently, we consider it important to devise suitable automated support solutions to address these challenges. We propose a novel learning-based framework for automated security tool API R ecommendation for security O rchestration, automation, and response, APIRO . To mitigate data availability constraint, APIRO enriches security tool API description by applying a wide variety of data augmentation techniques. To learn data heterogeneity of the security tools and semantic variation in API descriptions, APIRO consists of an API-specific word embedding model and a Convolutional Neural Network (CNN) model that are used for prediction of top three relevant APIs for a task. We experimentally demonstrate the effectiveness of APIRO in recommending APIs for different tasks using three security tools and 36 augmentation techniques. Our experimental results demonstrate the feasibility of APIRO for achieving 91.9% Top-1 Accuracy. Compared to the state-of-the-art baseline, APIRO is 26.93%, 23.03%, and 20.87% improved in terms of Top-1, Top-2, and Top-3 Accuracy and outperforms the baseline by 23.7% in terms of Mean Reciprocal Rank (MRR).
Zarrin Tasnim Sworna, Chadni Islam, Muhammad Ali Babar 0001
ACM Trans. Softw. Eng. Methodol.3
2023 Data Preparation for Software Vulnerability Prediction: A Systematic Literature Review
abstract
Software Vulnerability Prediction (SVP) is a data-driven technique for software quality assurance that has recently gained considerable attention in the Software Engineering research community. However, the difficulties of preparing Software Vulnerability (SV) related data is considered as the main barrier to industrial adoption of SVP approaches. Given the increasing, but dispersed, literature on this topic, it is needed and timely to systematically select, review, and synthesize the relevant peer-reviewed papers reporting the existing SV data preparation techniques and challenges. We have carried out a Systematic Literature Review (SLR) of SVP research in order to develop a systematized body of knowledge of the data preparation challenges, solutions, and the needed research. Our review of the 61 relevant papers has enabled us to develop a taxonomy of data preparation for SVP related challenges. We have analyzed the identified challenges and available solutions using the proposed taxonomy. Our analysis of the state of the art has enabled us identify the opportunities for future research. This review also provides a set of recommendations for researchers and practitioners of SVP approaches.
Roland Croft, Yongzheng Xie, Muhammad Ali Babar 0001
IEEE Trans. Software Eng.3
2023 Privacy Engineering in the Wild: Understanding the Practitioners' Mindset, Organizational Aspects, and Current Practices
abstract
Privacy engineering, as an emerging field of research and practice, comprises the technical capabilities and management processes needed to implement, deploy, and operate privacy features and controls in working systems. For that, software practitioners and other stakeholders in software companies need to work cooperatively toward building privacy-preserving businesses and engineering solutions. Significant research has been done to understand the software practitioners' perceptions of information privacy, but more emphasis should be given to the uptake of concrete privacy engineering components. This research delves into the software practitioners' perspectives and mindset, organisational aspects, and current practices on privacy and its engineering processes. A total of 30 practitioners from nine countries and backgrounds were interviewed, sharing their experiences and voicing their opinions on a broad range of privacy topics. The thematic analysis methodology was adopted to code the interview data qualitatively and construct a rich and nuanced thematic framework. As a result, we identified three critical interconnected themes that compose our thematic framework for privacy engineering “in the wild”: (1) personal privacy mindset and stance, categorised into practitioners' privacy knowledge, attitudes and behaviours; (2) organisational privacy aspects, such as decision-power and positive and negative examples of privacy climate; and, (3) privacy engineering practices, such as procedures and controls concretely used in the industry. Among the main findings, this study provides many insights about the state-of-the-practice of privacy engineering, pointing to a positive influence of privacy laws (e.g., EU General Data Protection Regulation) on practitioners' behaviours and organisations' cultures. Aspects such as organisational privacy culture and climate were also confirmed to have a powerful influence on the practitioners' privacy behaviours. A conducive environment for privacy engineering needs to be created, aligning the privacy values of practitioners and their organisations, with particular attention to the leaders and top management's commitment to privacy. Organisations can also facilitate education and awareness training for software practitioners on existing privacy engineering theories, methods and tools that have already been proven effective.
Leonardo H. Iwaya, Muhammad Ali Babar 0001, Awais Rashid
IEEE Trans. Software Eng.2
2023 Enhancing bitcoin transaction confirmation prediction: a hybrid model combining neural networks and XGBoost
abstract
Abstract With Bitcoin being universally recognized as the most popular cryptocurrency, more Bitcoin transactions are expected to be populated to the Bitcoin blockchain system. As a result, many transactions can encounter different confirmation delays. Concerned about this, it becomes vital to help a user understand (if possible) how long it may take for a transaction to be confirmed in the Bitcoin blockchain. In this work, we address the issue of predicting confirmation time within a block interval rather than pinpointing a specific timestamp. After dividing the future into a set of block intervals (i.e., classes), the prediction of a transaction’s confirmation is treated as a classification problem. To solve it, we propose a framework, Hybrid Confirmation Time Estimation Network ( Hybrid-CTEN ), based on neural networks and XGBoost to predict transaction confirmation time in the Bitcoin blockchain system using three different sources of information: historical transactions in the blockchain, unconfirmed transactions in the mempool, as well as the estimated transaction itself. Finally, experiments on real-world blockchain data demonstrate that, other than XGBoost excelling in the binary classification case (to predict whether a transaction will be confirmed in the next generated block), our proposed framework Hybrid-CTEN outperforms state-of-the-art methods on precision, recall and f1-score on all the multiclass classification cases (4-class, 6-class and 8-class) to predict in which future block interval a transaction will be confirmed.
Limeng Zhang, Rui Zhou 0001, Qing Liu 0001, Jiajie Xu 0001, Chengfei Liu, Muhammad Ali Babar 0001
World Wide Web (WWW)6
2022 ProML: A Decentralised Platform for Provenance Management of Machine Learning Software Systems
Nguyen Khoi Tran 0001, Bushra Sabir, Muhammad Ali Babar 0001, Nini Cui, Mehran Abolhasan, Justin Lipman
ECSA3
2022 An Empirical Study of Automation in Software Security Patch Management
abstract
Several studies have shown that automated support for different activities of the security patch management process has great potential for reducing delays in installing security patches. However, it is also important to understand how automation is used in practice, its limitations in meeting real-world needs and what practitioners really need, an area that has not been empirically investigated in the existing software engineering literature. This paper reports an empirical study aimed at investigating different aspects of automation for security patch management using semi-structured interviews with 17 practitioners from three different organisations in the healthcare domain. The findings are focused on the role of automation in security patch management for providing insights into the as-is state of automation in practice, the limitations of current automation, how automation support can be enhanced to effectively meet practitioners’ needs, and the role of the human in an automated process. Based on the findings, we have derived a set of recommendations for directing future efforts aimed at developing automated support for security patch management.
Nesara Dissanayake, Asangi Jayatilaka, Mansooreh Zahedi, Muhammad Ali Babar 0001
ASE4
2022 Noisy Label Learning for Security Defects
abstract
Data-driven software engineering processes, such as vulnerability prediction heavily rely on the quality of the data used. In this paper, we observe that it is infeasible to obtain a noise-free security defect dataset in practice. Despite the vulnerable class, the non-vulnerable modules are difficult to be verified and determined as truly exploit free given the limited manual efforts available. It results in uncertainty, introduces labeling noise in the datasets and affects conclusion validity. To address this issue, we propose novel learning methods that are robust to label impurities and can leverage the most from limited label data; noisy label learning. We investigate various noisy label learning methods applied to software vulnerability prediction. Specifically, we propose a two-stage learning method based on noise cleaning to identify and remediate the noisy samples, which improves AUC and recall of baselines by up to 8.9% and 23.4%, respectively. Moreover, we discuss several hurdles in terms of achieving a performance upper bound with semi-omniscient knowledge of the label noise. Overall, the experimental results show that learning from noisy labels can be effective for data-driven software and security analytics.
Roland Croft, Muhammad Ali Babar 0001, Huaming Chen
MSR2
2022 LineVD: Statement-level Vulnerability Detection using Graph Neural Networks
abstract
Current machine-learning based software vulnerability detection methods are primarily conducted at the function-level. However, a key limitation of these methods is that they do not indicate the specific lines of code contributing to vulnerabilities. This limits the ability of developers to efficiently inspect and interpret the predictions from a learnt model, which is crucial for integrating machine-learning based tools into the software development work-flow. Graph-based models have shown promising performance in function-level vulnerability detection, but their capability for statement-level vulnerability detection has not been extensively explored. While interpreting function-level predictions through explainable AI is one promising direction, we herein consider the statement-level software vulnerability detection task from a fully supervised learning perspective. We propose a novel deep learning framework, LineVD, which formulates statement-level vulnerability detection as a node classification task. LineVD leverages control and data dependencies between statements using graph neural networks, and a transformer-based model to encode the raw source code tokens. In particular, by addressing the conflicting outputs between function-level and statement-level information, LineVD significantly improve the prediction performance without vulnerability status for function code. We have conducted extensive experiments against a large-scale collection of real-world C/C++ vulnerabilities obtained from multiple real-world projects, and demonstrate an increase of 105% in F1-score over the current state-of-the-art.
David Hin, Andrey Kan, Huaming Chen, Muhammad Ali Babar 0001
MSR4
2022 On the Use of Fine-grained Vulnerable Code Statements for Software Vulnerability Assessment Models
abstract
Many studies have developed Machine Learning (ML) approaches to detect Software Vulnerabilities (SVs) in functions and fine-grained code statements that cause such SVs. However, there is little work on leveraging such detection outputs for data-driven SV assessment to give information about exploitability, impact, and severity of SVs. The information is important to understand SVs and prioritize their fixing. Using large-scale data from 1,782 functions of 429 SVs in 200 real-world projects, we investigate ML models for automating function-level SV assessment tasks, i.e., predicting seven Common Vulnerability Scoring System (CVSS) metrics. We particularly study the value and use of vulnerable statements as inputs for developing the assessment models because SVs in functions are originated in these statements. We show that vulnerable statements are 5.8 times smaller in size, yet exhibit 7.5--114.5% stronger assessment performance (Matthews Correlation Coefficient (MCC)) than non-vulnerable statements. Incorporating context of vulnerable statements further increases the performance by up to 8.9% (0.64 MCC and 0.75 F1-Score). Overall, we provide the initial yet promising ML-based baselines for function-level SV assessment, paving the way for further research in this direction.
Triet Huynh Minh Le, Muhammad Ali Babar 0001
MSR2
2022 LogGD: Detecting Anomalies from System Logs with Graph Neural Networks
abstract
Log analysis is one of the main techniques engineers use to troubleshoot faults of large-scale software systems. During the past decades, many log analysis approaches have been proposed to detect system anomalies reflected by logs. They usually take log event counts or sequential log events as inputs and utilize machine learning algorithms including deep learning models to detect system anomalies. These anomalies are often identified as violations of quantitative relational patterns or sequential patterns of log events in log sequences. However, existing methods fail to leverage the spatial structural relationships among log events, resulting in potential false alarms and unstable performance. In this study, we propose a novel graph-based log anomaly detection method, LogGD, to effectively address the issue by transforming log sequences into graphs. We exploit the powerful capability of Graph Transformer Neural Network, which combines graph structure and node semantics for log-based anomaly detection. We evaluate the proposed method on four widely-used public log datasets. Experimental results show that LogGD can outperform state-of-the-art quantitative-based and sequence-based methods and achieve stable performance under different window size settings. The results confirm that LogGD is effective in log-based anomaly detection.
Yongzheng Xie, Hongyu Zhang 0002, Muhammad Ali Babar 0001
QRS3
2022 An Investigation into Inconsistency of Software Vulnerability Severity across Data Sources
abstract
Software Vulnerability (SV) severity assessment is a vital task for informing SV remediation and triage. Ranking of SV severity scores is often used to advise prioritization of patching efforts. However, severity assessment is a difficult and subjective manual task that relies on expertise, knowledge, and standardized reporting schemes. Consequently, different data sources that perform independent analysis may provide conflicting severity rankings. Inconsistency across these data sources affects the reliability of severity assessment data, and can consequently impact SV prioritization and fixing. In this study, we investigate severity ranking inconsistencies over the SV reporting lifecycle. Our analysis helps characterize the nature of this problem, identify correlated factors, and determine the impacts of inconsistency on downstream tasks. Our findings observe that SV severity often lacks consideration or is underestimated during initial reporting, and such SVs consequently receive lower prioritization. We identify six potential attributes that are correlated to this misjudgment, and show that inconsistency in severity reporting schemes can severely degrade the performance of downstream severity prediction by up to 77%. Our findings help raise awareness of SV severity data inconsistencies and draw attention to this data quality problem. These insights can help developers better consider SV severity data sources, and improve the reliability of consequent SV prioritization. Furthermore, we encourage researchers to provide more attention to SV severity data selection.
Roland Croft, Muhammad Ali Babar 0001, Li Li 0029
SANER2
2022 Well Begun is Half Done: An Empirical Study of Exploitability & Impact of Base-Image Vulnerabilities
abstract
Container technology, (e.g., Docker) is being widely adopted for deploying software infrastructures or applications in the form of container images. Security vulnerabilities in the container images are a primary concern for developing containerized software. Exploitation of the vulnerabilities could result in disastrous impact, such as loss of confidentiality, integrity, and availability of containerized software. Understanding the exploitability and impact characteristics of vulnerabilities can help in securing the configuration of containerized software. However, there is a lack of research aimed at empirically identifying and understanding the exploitability and impact of vulnerabilities in container images. We carried out an empirical study to investigate the exploitability and impact of security vulnerabilities in base-images and their prevalence in open-source containerized software. We considered base-images since container images are built from base-images that provide all the core functionalities to build and operate containerized software. Besides, security vulnerabilities in a base-image can propagate to derived container images, which can host different applications. That means a single exploitable vulnerability in base-images can result in security attacks in several containerized software. Our analysis of a set of 1, 983 unique base-image security vulnerabilities revealed 13 novel findings. These findings are expected to help developers to understand the potential security problems related to base-images and encourage them to investigate base-images from security perspective before developing their applications. For researchers, this study highlights the need of developing tools for mitigating the exploitability of vulnerable base-images.
Mubin Ul Haque, Muhammad Ali Babar 0001
SANER2
2022 KGSecConfig: A Knowledge Graph Based Approach for Secured Container Orchestrator Configuration
abstract
Container Orchestrator (CO) is a vital technology for managing clusters of containers, which may form a virtualized infrastructure for developing and operating software systems. Like any other software system, securing CO is critical, but can be quite challenging task due to large number of configurable options. Manual configuration is not only knowledge intensive and time consuming, but also is error prone. For automating security configuration of CO, we propose a novel Knowledge Graph based Security Configuration, KGSecConfig, approach. Our solution leverages keyword and learning models to systematically capture, link, and correlate heterogeneous and multi-vendor configuration space in a unified structure for supporting automation of security configuration of CO. We implement KGSecConfig on Kubernetes, Docker, Azure, and VMWare to build secured configuration knowledge graph. Our evaluation results show 0.98 and 0.94 accuracy for keyword and learning-based secured configuration option and concept extraction, respectively. We also demonstrate the utilization of the knowledge graph for automated misconfiguration mitigation in a Kubernetes cluster. We assert that our knowledge graph based approach can help in addressing several challenges, e.g., misconfiguration of security, associated with manually configuring the security of CO.
Mubin Ul Haque, M. Mehdi Kholoosi, Muhammad Ali Babar 0001
SANER3
2022 An empirical study of developers' discussions about security challenges of different programming languages
Roland Croft, Yongzheng Xie, Mansooreh Zahedi, Muhammad Ali Babar 0001, Christoph Treude
Empir. Softw. Eng.4
2022 Design and evaluation of adaptive system for big data cyber security analytics
Faheem Ullah, Muhammad Ali Babar 0001, Aldeida Aleti
Expert Syst. Appl.2
2022 Software security patch management - A systematic literature review of challenges, approaches, tools and practices
Nesara Dissanayake, Asangi Jayatilaka, Mansooreh Zahedi, Muhammad Ali Babar 0001
Inf. Softw. Technol.4
2022 Challenges and solutions when adopting DevSecOps: A systematic review
Roshan Namal Rajapakse, Mansooreh Zahedi, Muhammad Ali Babar 0001, Haifeng Shen
Inf. Softw. Technol.3
2022 Relationships between software architecture and source code in practice: An exploratory survey and interview
Fangchao Tian, Peng Liang 0001, Muhammad Ali Babar 0001
Inf. Softw. Technol.3
2022 SmartValidator: A framework for automatic identification and classification of cyber threat data
Chadni Islam, Muhammad Ali Babar 0001, Roland Croft, Helge Janicke
J. Netw. Comput. Appl.2
2022 A framework for automating deployment and evaluation of blockchain networks
Nguyen Khoi Tran 0001, Muhammad Ali Babar 0001, Andrew Walters
J. Netw. Comput. Appl.2
2022 On the scalability of Big Data Cyber Security Analytics systems
Faheem Ullah, Muhammad Ali Babar 0001
J. Netw. Comput. Appl.2
2022 Why, How and Where of Delays in Software Security Patch Management: An Empirical Investigation in the Healthcare Sector
abstract
Numerous security attacks that resulted in devastating consequences can be traced back to a delay in applying a security patch. Despite the criticality of timely patch application, not much is known about why and how delays occur when applying security patches in practice, and how the delays can be mitigated. Based on longitudinal data collected from 132 delayed patching tasks over a period of four years and observations of patch meetings involving eight teams from two organisations in the healthcare domain, and using quantitative and qualitative data analysis approaches, we identify a set of reasons relating to technology, people and organisation as key explanations that cause delays in patching. Our findings also reveal that the most prominent cause of delays is attributable to coordination delays in the patch management process and a majority of delays occur during the patch deployment phase. Towards mitigating the delays, we describe a set of strategies employed by the studied practitioners. This research serves as the first step toward understanding the practical reasons for delays and possible mitigation strategies in vulnerability patch management. Our findings provide useful insights for practitioners to understand what and where improvement is needed in the patch management process and guide them towards taking timely actions against potential attacks. Also, our findings help researchers to invest effort into designing and developing computer-supported tools to better support a timely security patch management process.
Nesara Dissanayake, Mansooreh Zahedi, Asangi Jayatilaka, Muhammad Ali Babar 0001
Proc. ACM Hum. Comput. Interact.4
2022 Mod2Dash: A Framework for Model-Driven Dashboards Generation
abstract
The construction of an interactive dashboard involves deciding on what information to present and how to display it and implementing those design decisions to create an operational dashboard. Traditionally, a dashboard's design is implied in the deployed dashboard rather captured explicitly as a digital artifact, preventing it from being backed up, version-controlled, and shared. Moreover, practitioners have to implement this implicit design manually by coding or configuring it on a dashboard platform. This paper proposes Mod2Dash, a software framework that enables practitioners to capture their dashboard designs as models and generate operational dashboards automatically from these models. The framework also provides a GUI-driven customization approach for practitioners to fine-tune the auto-generated dashboards and update their models. With these abilities, Mod2Dash enables practitioners to rapidly prototype and deploy dashboards for both operational and research purposes. We evaluated the framework's effectiveness in a case study on cyber security visualization for decision support. A proof-of-concept of Mod2Dash was employed to model and reconstruct 31 diverse real-world cyber security dashboards. A human-assisted comparison between the Mod2Dash-generated dashboards and the baseline dashboards shows a close matching, indicating the framework's effectiveness for real-world scenarios.
Liuyue Jiang, Nguyen Khoi Tran 0001, Muhammad Ali Babar 0001
Proc. ACM Hum. Comput. Interact.3
2021 A Large-scale Study of Security Vulnerability Support on Developer Q&A Websites
abstract
Context: Developers usually seek solutions to addressing Security Vulnerabilities (SVs) on developer Question and Answer (Q&A) websites. However, there is still little known about these SV-specific discussions on different Q&A sites. Objective: We present a large-scale empirical study to understand developers’ SV discussions and how these discussions are being supported by Q&A sites. Method: We use topic modeling to uncover the topics of 71,329 curated SV posts from two large Q&A sites, namely Stack Overflow (SO) and Security StackExchange (SSE). We then analyze the popularity, difficulty, and level of expertise for each topic. We also perform a qualitative analysis to identify the types of solutions to SV-related questions. Results: We identify 13 main SV discussion topics. Many topics do not follow the distributions and trends in expert-based security sources, e.g., Common Weakness Enumeration (CWE) and Open Web Application Security Project (OWASP). We also discover that SV discussions attract more experts to answer than many other domains, but some difficult SV topics (e.g., Vulnerability Scanning Tools) still receive quite limited support from experts. Moreover, we identify seven key types of answers given to SV questions, in which SO often provides code and instructions, while SSE usually gives experience-based advice and explanations. Conclusion: Our findings provide support for researchers and practitioners to effectively acquire, share and leverage SV knowledge on Q&A sites.
Triet Huynh Minh Le, Roland Croft, David Hin, Muhammad Ali Babar 0001
EASE4
2021 Taxonomy of Edge Blockchain Network Designs
Nguyen Khoi Tran 0001, Muhammad Ali Babar 0001
ECSA2
2021 An Empirical Study of Rule-Based and Learning-Based Approaches for Static Application Security Testing
abstract
Background: Static Application Security Testing (SAST) tools purport to assist developers in detecting security issues in source code. These tools typically use rule-based approaches to scan source code for security vulnerabilities. However, due to the significant shortcomings of these tools (i.e., high false positive rates), learning-based approaches for Software Vulnerability Prediction (SVP) are becoming a popular approach. Aims: Despite the similar objectives of these two approaches, their comparative value is unexplored. We provide an empirical analysis of SAST tools and SVP models, to identify their relative capabilities for source code security analysis. Method: We evaluate the detection and assessment performance of several common SAST tools and SVP models on a variety of vulnerability datasets. We further assess the viability and potential benefits of combining the two approaches. Results: SAST tools and SVP models provide similar detection capabilities, but SVP models exhibit better overall performance for both detection and assessment. Unification of the two approaches is difficult due to lacking synergies. Conclusions: Our study generates 12 main findings which provide insights into the capabilities and synergy of these two approaches. Through these observations we provide recommendations for use and improvement.
Roland Croft, Dominic Newlands, Muhammad Ali Babar 0001
ESEM4
2021 An Empirical Analysis of Practitioners' Perspectives on Security Tool Integration into DevOps
abstract
Background: Security tools play a vital role in enabling developers to build secure software. However, it can be quite challenging to introduce and fully leverage security tools without affecting the speed or frequency of deployments in the DevOps paradigm. Aims: We aim to empirically investigate the key challenges practitioners face when integrating security tools into a DevOps workflow in order to provide recommendations for overcoming the challenges. Method: We conducted a study involving 31 systematically selected webinars on integrating security tools in DevOps. We used a qualitative data analysis method, i.e., thematic analysis, to identify the challenges and emerging solutions related to integrating security tools in rapid deployment environments. Results: We find that whilst traditional security tools are unable to cater for the needs of DevOps, the industry is moving towards new generations of security tools that have started focusing on the needs of DevOps. We have developed a DevOps workflow that integrates security tools and a set of guidelines by synthesizing practitioners' recommendations in the analyzed webinars. Conclusion: Whilst the latest security tools are addressing some of the requirements of DevOps, there are many tool-related drawbacks yet to be adequately addressed.
Roshan Namal Rajapakse, Mansooreh Zahedi, Muhammad Ali Babar 0001
ESEM3
2021 LogDP: Combining Dependency and Proximity for Log-Based Anomaly Detection
Yongzheng Xie, Hongyu Zhang 0002, Bo Zhang 0057, Muhammad Ali Babar 0001
ICSOC4
2021 DeepCVA: Automated Commit-level Vulnerability Assessment with Deep Multi-task Learning
abstract
It is increasingly suggested to identify Software Vulnerabilities (SVs) in code commits to give early warnings about potential security risks. However, there is a lack of effort to assess vulnerability-contributing commits right after they are detected to provide timely information about the exploitability, impact and severity of SVs. Such information is important to plan and prioritize the mitigation for the identified SVs. We propose a novel Deep multi-task learning model, DeepCVA, to automate seven Commit-level Vulnerability Assessment tasks simultaneously based on Common Vulnerability Scoring System (CVSS) metrics. We conduct large-scale experiments on 1,229 vulnerability-contributing commits containing 542 different SVs in 246 real-world software projects to evaluate the effectiveness and efficiency of our model. We show that DeepCVA is the best-performing model with 38% to 59.8% higher Matthews Correlation Coefficient than many supervised and unsupervised baseline models. DeepCVA also requires 6.3 times less training and validation time than seven cumulative assessment models, leading to significantly less model maintenance cost as well. Over-all, DeepCVA presents the first effective and efficient solution to automatically assess SVs early in software systems.
Triet Huynh Minh Le, David Hin, Roland Croft, Muhammad Ali Babar 0001
ASE4
2021 Automated Security Assessment for the Internet of Things
abstract
Internet of Things (IoT) based applications face an increasing number of potential security risks, which need to be systematically assessed and addressed. Expert-based manual assessment of IoT security is a predominant approach, which is usually inefficient. To address this problem, we propose an automated security assessment framework for IoT networks. Our framework first leverages machine learning and natural language processing to analyze vulnerability descriptions for predicting vulnerability metrics. The predicted metrics are then input into a two-layered graphical security model, which consists of an attack graph at the upper layer to present the network connectivity and an attack tree for each node in the network at the bottom layer to depict the vulnerability information. This security model automatically assesses the security of the IoT network by capturing potential attack paths. We evaluate the viability of our approach using a proof-of-concept smart building system model which contains a variety of real-world IoT devices and poten-tial vulnerabilities. Our evaluation of the proposed framework demonstrates its effectiveness in terms of automatically predicting the vulnerability metrics of new vulnerabilities with more than 90% accuracy, on average, and identifying the most vulnerable attack paths within an IoT network. The produced assessment results can serve as a guideline for cybersecurity professionals to take further actions and mitigate risks in a timely manner.
Xuanyu Duan, Mengmeng Ge 0001, Triet Huynh Minh Le, Faheem Ullah, Shang Gao 0003, Xuequan Lu, Muhammad Ali Babar 0001
PRDC7
2021 A grounded theory of the role of coordination in software security patch management
abstract
Several disastrous security attacks can be attributed to delays in patching software vulnerabilities. While researchers and practitioners have paid significant attention to automate vulnerabilities identification and patch development activities of software security patch management, there has been relatively little effort dedicated to gain an in-depth understanding of the socio-technical aspects, e.g., coordination of interdependent activities of the patching process and patching decisions, that may cause delays in applying security patches. We report on a Grounded Theory study of the role of coordination in security patch management. The reported theory consists of four inter-related dimensions, i.e., causes, breakdowns, constraints, and mechanisms. The theory explains the causes that define the need for coordination among interdependent software/hardware components and multiple stakeholders’ decisions, the constraints that can negatively impact coordination, the breakdowns in coordination, and the potential corrective measures. This study provides potentially useful insights for researchers and practitioners who can carefully consider the needs of and devise suitable solutions for supporting the coordination of interdependencies involved in security patch management.
Nesara Dissanayake, Mansooreh Zahedi, Asangi Jayatilaka, Muhammad Ali Babar 0001
ESEC/SIGSOFT FSE4
2021 Revenue maximizing markets for zero-day exploits
Mingyu Guo 0001, Hideaki Hata, Muhammad Ali Babar 0001
Auton. Agents Multi Agent Syst.4
2021 Understanding and addressing quality attributes of microservices architecture: A Systematic literature review
Shanshan Li 0002, He Zhang 0001, Zijia Jia, Chenxing Zhong, Cheng Zhang 0010, Zhihao Shan, Jinfeng Shen, Muhammad Ali Babar 0001
Inf. Softw. Technol.8
2021 Integrating blockchain and Internet of Things systems: A systematic review on objectives and designs
Nguyen Khoi Tran 0001, Muhammad Ali Babar 0001, Jonathan Boan
J. Netw. Comput. Appl.2
2021 A review of edge computing: Features and resource virtualization
Yaser Mansouri, Muhammad Ali Babar 0001
J. Parallel Distributed Comput.2
2021 The impact of traceability on software maintenance and evolution: A mapping study
abstract
Abstract Software traceability plays a critical role in software maintenance and evolution. We conducted a systematic mapping study with six research questions to understand the benefits, costs, and challenges of using traceability in maintenance and evolution. We systematically selected, analyzed, and synthesized 63 studies published between January 2000 and May 2020, and the results show that traceability supports 11 maintenance and evolution activities, among which change management is the most frequently supported activity; strong empirical evidence from industry is needed to validate the impact of traceability on maintenance and evolution; easing the process of change management is the main benefit of deploying traceability practices; establishing and maintaining traceability links is the main cost of deploying traceability practices; 13 approaches and 32 tools that support traceability in maintenance and evolution were identified; improving the quality of traceability links , the performance of using traceability approaches , and tools are the main traceability challenges in maintenance and evolution. The findings of this study provide a comprehensive understanding of deploying traceability practices in software maintenance and evolution phase and can be used by researchers for future directions and practitioners for making informed decisions while using traceability in maintenance and evolution.
Fangchao Tian, Peng Liang 0001, Chong Wang 0004, Arif Ali Khan, Muhammad Ali Babar 0001
J. Softw. Evol. Process.6
2021 Systematic Scalability Modeling of QoS-aware Dynamic Service Composition
abstract
In Dynamic Service Composition (DSC), an application can be dynamically composed using web services to achieve its functional and Quality of Services (QoS) goals. DSC is a relatively mature area of research that crosscuts autonomous and services computing. Complex autonomous and self-adaptive computing paradigms (e.g., multi-tenant cloud services, mobile/smart services, services discovery and composition in intelligent environments such as smart cities) have been leveraging DSC to dynamically and adaptively maintain the desired QoS, cost and to stabilize long-lived software systems. While DSC is fundamentally known to be an NP-hard problem, systematic attempts to analyze its scalability have been limited, if not absent, though such analysis is of a paramount importance for their effective, efficient, and stable operations. This article reports on a new application of goal-modeling, providing a systematic technique that can support DSC designers and architects in identifying DSC-relevant characteristics and metrics that can potentially affect the scalability goals of a system. The article then applies the technique to two different approaches for QoS-aware dynamic services composition, where the article describes two detailed exemplars that exemplify its application. The exemplars hope to provide researchers and practitioners with guidance and transferable knowledge in situations where the scalability analysis may not be straightforward. The contributions provide architects and designers for QoS-aware dynamic service composition with the fundamentals for assessing the scalability of their own solutions, along with goal models and a list of application domain characteristics and metrics that might be relevant to other solutions. Our experience has shown that the technique was able to identify in both exemplars application domain characteristics and metrics that had been overlooked in previous scalability analyses of these DSC, some of which indeed limited their scalability. It has also shown that the experiences and knowledge can be transferable: The first exemplar was used as an example to inform and ease the work of applying the technique in the second one, reducing the time to create the model, even for a non-expert.
Leticia Duboc, Rami Bahsoon, Faisal Alrebeish, Carlos Joseph Mera-Gómez, Vivek Nallur, Rick Kazman, Philip Bianco, Muhammad Ali Babar 0001, Rajkumar Buyya
ACM Trans. Auton. Adapt. Syst.8
2020 An Empirical Study on Developing Secure Mobile Health Apps: The Developers' Perspective
abstract
Mobile apps exploit embedded sensors and wireless connectivity of a device to empower users with portable computations, context-aware communication, and enhanced interaction. Specifically, mobile health apps (mHealth apps for short) are becoming integral part of mobile and pervasive computing to improve the availability and quality of healthcare services. Despite the offered benefits, mHealth apps face a critical challenge, i.e., security of health-critical data that is produced and consumed by the app. Several studies have revealed that security specific issues of mHealth apps have not been adequately addressed. The objectives of this study are to empirically (a) investigate the challenges that hinder development of secure mHealth apps, (b) identify practices to develop secure apps, and (c) explore motivating factors that influence secure development. We conducted this study by collecting responses of 97 developers from 25 countries - across 06 continents - working in diverse teams and roles to develop mHealth apps for Android, iOS, and Windows platform. Qualitative analysis of the survey data is based on (i) 8 critical challenges, (ii) taxonomy of best practices to ensure security, and (iii) 6 motivating factors that impact secure mHealth apps. This research provides empirical evidence as practitioners' view and guidelines to develop emerging and next generation of secure mHealth apps.
Bakheet Aljedaani, Aakash Ahmad, Mansooreh Zahedi, Muhammad Ali Babar 0001
APSEC4
2020 Mining Questions Asked about Continuous Software Engineering: A Case Study of Stack Overflow
abstract
Context: With the growing popularity of rapid software delivery and deployment, the methods, practices and technologies of Continuous Software Engineering (CSE) are evolving steadily. This creates the need for understanding the recent trends of the technologies, practitioners' challenges and views in this domain. Objective: In this paper, we present an empirical study aimed at exploring CSE from the practitioners' perspective by mining discussions from Q&A websites. Method: We have analyzed 12,989 questions and answers posted on Stack Overflow. Topic modelling is conducted to derive the dominant topics in this domain. Further, a qualitative analysis was conducted to identify the key challenges discussed. Findings: Whilst the trend of posted questions is sharply increasing, the questions are becoming more specific to technologies and more difficult to attract answers. We identified 32 topics of discussions, among which "Error messages in Continuous Integration/Deployment" and "Continuous Integration concepts" are the most dominant. We also present the most challenging areas in this domain from the practitioners' perspectives.
Mansooreh Zahedi, Roshan Namal Rajapakse, Muhammad Ali Babar 0001
EASE3
2020 Architecture-Centric Support for Integrating Security Tools in a Security Orchestration Platform
Chadni Islam, Muhammad Ali Babar 0001, Surya Nepal
ECSA2
2020 Challenges in Docker Development: A Large-scale Study Using Stack Overflow
abstract
Background: Docker technology has been increasingly used among software developers in a multitude of projects. This growing interest is due to the fact that Docker technology supports a convenient process for creating and building containers, promoting close cooperation between developer and operations teams, and enabling continuous software delivery. As a fast-growing technology, it is important to identify the Docker-related topics that are most popular as well as existing challenges and difficulties that developers face.
Mubin Ul Haque, Leonardo H. Iwaya, Muhammad Ali Babar 0001
ESEM3
2020 Anatomy, Concept, and Design Space of Blockchain Networks
abstract
Blockchain technologies have been increasingly adopted by enterprises to increase operational efficiency and enable new business models. These enterprise blockchain applications generally run on dedicated blockchain networks due to regulations and security requirements. The design process of these networks involves many decisions and trade-offs that impact security, governance, and performance of applications that run on them. The challenge is further exacerbated by the lack of a common architecture and concept map to communicate about blockchain networks, as blockchain technologies tend to use different concepts and architecture. This paper presents a concept map, an anatomy and the principal dimensions of the design space of blockchain networks. We applied the proposed design space in a case study about designing and deploying a blockchain network for an ad-hoc IoT infrastructure. We found that the design space brought structure to the design process and the analysis of design alternatives. The presented concept map, anatomy and design space are intended to help improve the blockchain network design practice and lay a foundation for future research on the design process and deployment automation of blockchain networks.
Nguyen Khoi Tran 0001, Muhammad Ali Babar 0001
ICSA2
2020 An evidence-based inquiry into the use of grey literature in software engineering
abstract
Context: Following on other scientific disciplines, such as health sciences, the use of Grey Literature (GL) has become widespread in Software Engineering (SE) research. Whilst the number of papers incorporating GL in SE is increasing, there is little empirically known about different aspects of the use of GL in SE research.
He Zhang 0001, Xin Zhou 0016, Xin Huang 0019, Muhammad Ali Babar 0001
ICSE5
2020 On the Role of Software Architecture in DevOps Transformation: An Industrial Case Study
abstract
Development and Operations (DevOps), a particular type of Continuous Software Engineering, has become a popular Software System Engineering paradigm. Software architecture is critical in succeeding with DevOps. However, there is little evidence-based knowledge of how software systems are architected in the industry to enable and support DevOps. Since architectural decisions, along with their rationales and implications, are very important in the architecting process, we performed an industrial case study that has empirically identified and synthesized the key architectural decisions considered essential to DevOps transformation by two software development teams. Our study also reveals that apart from the chosen architecture style, DevOps works best with modular architectures. In addition, we found that the performance of the studied teams can improve in DevOps if operations specialists are added to the teams to perform the operations tasks that require advanced expertise. Finally, investment in testing is inevitable for the teams if they want to release software changes faster.
Mojtaba Shahin, Muhammad Ali Babar 0001
ICSSP2
2020 Security Awareness of End-Users of Mobile Health Applications: An Empirical Study
abstract
Mobile systems offer portable and interactive computing, empowering users, to exploit a multitude of context-sensitive services, including mobile healthcare. Mobile health applications (i.e., mHealth apps) are revolutionizing the healthcare sector by enabling stakeholders to produce and consume healthcare services. A widespread adoption of mHealth technologies and rapid increase in mHealth apps entail a critical challenge, i.e., lack of security awareness by end-users regarding health-critical data. This paper presents an empirical study aimed at exploring the security awareness of end-users of mHealth apps. We collaborated with two mHealth providers in Saudi Arabia to gather data from 101 end-users. The results reveal that despite having the required knowledge, end-users lack appropriate behaviour , i.e., reluctance or lack of understanding to adopt security practices, compromising health-critical data with social, legal, and financial consequences. The results emphasize that mHealth providers should ensure security training of end-users (e.g., threat analysis workshops), promote best practices to enforce security (e.g., multi-step authentication), and adopt suitable mHealth apps (e.g., trade-offs for security vs usability). The study provides empirical evidence and a set of guidelines about security awareness of mHealth apps.
Bakheet Aljedaani, Aakash Ahmad, Mansooreh Zahedi, Muhammad Ali Babar 0001
MobiQuitous4
2020 PUMiner: Mining Security Posts from Developer Question and Answer Websites with PU Learning
abstract
Security is an increasing concern in software development. Developer Question and Answer (Q&A) websites provide a large amount of security discussion. Existing studies have used human-defined rules to mine security discussions, but these works still miss many posts, which may lead to an incomplete analysis of the security practices reported on Q&A websites. Traditional supervised Machine Learning methods can automate the mining process; however, the required negative (non-security) class is too expensive to obtain. We propose a novel learning framework, PUMiner, to automatically mine security posts from Q&A websites. PUMiner builds a context-aware embedding model to extract features of the posts, and then develops a two-stage PU model to identify security content using the labelled Positive and Un-labelled posts. We evaluate PUMiner on more than 17.2 million posts on Stack Overflow and 52,611 posts on Security StackExchange. We show that PUMiner is effective with the validation performance of at least 0.85 across all model configurations. Moreover, Matthews Correlation Coefficient (MCC) of PUMiner is 0.906, 0.534 and 0.084 points higher than one-class SVM, positive-similarity filtering, and one-stage PU models on unseen testing posts, respectively. PUMiner also performs well with an MCC of 0.745 for scenarios where string matching totally fails. Even when the ratio of the labelled positive posts to the un-labelled ones is only 1:100, PUMiner still achieves a strong MCC of 0.65, which is 160% better than fully-supervised learning. Using PUMiner, we provide the largest and up-to-date security content on Q&A websites for practitioners and researchers.
Triet Huynh Minh Le, David Hin, Roland Croft, Muhammad Ali Babar 0001
MSR4
2020 Automatic Identification of Architecture Smell Discussions from Stack Overflow
abstract
Architecture Smells (ASs), as one source of technical debt, indicate underlying problems at a high level of systems and negatively impact various system qualities, such as maintainability and evolvability. Detecting and refactoring ASs requires the relevant architectural knowledge and experience. Therefore, gathering the knowledge of ASs from various sources can facilitate ASs detecting and refactoring. However, manually identifying AS knowledge is time-consuming. Automatically and correctly identifying AS-related posts from Stack Overflow is a step toward utilizing the AS knowledge to help developers better maintain their systems. In this work, we propose an approach to automatically identify AS-related posts from Stack Overflow (SoF) by using machine learning algorithms. We evaluate the performance of 12 classifiers based on 3 feature extraction techniques and 4 classification algorithms with a created dataset of SoF posts (including 208 AS-related posts and 187 AS-unrelated posts). The results demonstrate that the SVM algorithm with Word2Vec achieved the best overall performance with an accuracy of 0.650, a precision of 0.613, a recall of 0.905, and an F1- score of 0.731. These results imply that the obtained model of the AS-related posts identification can be used to aid developers and researchers in collecting AS discussions from SoF.
Fangchao Tian, Peng Liang 0001, Muhammad Ali Babar 0001
SEKE4
2020 An automated implementation of hybrid cloud for performance evaluation of distributed databases
Yaser Mansouri, Victor Prokhorenko, Muhammad Ali Babar 0001
J. Netw. Comput. Appl.3
2020 Modeling, analyzing and predicting security cascading attacks in smart buildings systems-of-systems
Jamal El Hachem, Vanea Chiprianov, Muhammad Ali Babar 0001, Tarek Al Khalil, Philippe Aniorté
J. Syst. Softw.3
2020 Architectural Design Space for Modelling and Simulation as a Service: A Review
Mojtaba Shahin, Muhammad Ali Babar 0001, Muhammad Aufeef Chauhan
J. Syst. Softw.2
2019 A Framework for Internet of Things Search Engines Engineering
abstract
The content of the Internet of Things (IoT), notably sensor data and virtual representation of physical devices, has been increasingly delivered via Web protocols and available on the World Wide Web (WWW). Internet of Things Search Engine (IoTSE) systems are catalytic to utilize this influx of data. They enable users to discover and retrieve relevant IoT content. While a general IoTSE system - the next "Google" - is beyond the horizon due to the vast diversity of IoT content and types of queries for them, specific IoTSE systems that target subsets of query types and IoT infrastructure are feasible and beneficial. A component-based engineering approach, in which prior IoTSE systems and research prototypes are reassembled as building blocks for new IoTSE systems, could be a time-and cost-effective solution to engineering IoTSE systems. This paper presents the design, implementation, and evaluation of a framework to facilitate a component-based approach to engineering IoTSE systems. As an evaluation, we developed eight IoTSE components and composed them into eight proof-of-concept IoTSE systems, using a reference implementation of the proposed framework. An analysis on Source Line of Code (SLOC) revealed that the complexity handled transparently by the IoTSE framework could account for over 90% of the code base of a simple IoTSE system.
Nguyen Khoi Tran 0001, Muhammad Ali Babar 0001, Quan Z. Sheng, John C. Grundy
APSEC2
2019 Automated Interpretation and Integration of Security Tools Using Semantic Knowledge
Chadni Islam, Muhammad Ali Babar 0001, Surya Nepal
CAiSE2
2019 Gathering Cyber Threat Intelligence from Twitter Using Novelty Classification
abstract
The following topics are dealt with: feature extraction; learning (artificial intelligence); virtual reality; solid modelling; user interfaces; neurophysiology; electroencephalography; human computer interaction; augmented reality; medical signal processing.
Ba Dung Le, Mehwish Nasim, Muhammad Ali Babar 0001
CW4
2019 QuickAdapt: Scalable Adaptation for Big Data Cyber Security Analytics
abstract
Big Data Cyber Security Analytics (BDCA) leverages big data technologies for collecting, storing, and analyzing a large volume of security events data to detect cyber-attacks. Accuracy and response time, being the most important quality concerns for BDCA, are impacted by changes in security events data. Whilst it is promising to adapt a BDCA system's architecture to the changes in security events data for optimizing accuracy and response time, it is important to consider large search space of architectural configurations. Searching a large space of configurations for potential adaptation incurs an overwhelming adaptation time, which may cancel the benefits of adaptation. We present an adaptation approach, QuickAdapt, to enable quick adaptation of a BDCA system. QuickAdapt uses descriptive statistics (e.g., mean and variance) of security events data and fuzzy rules to (re) compose a system with a set of components to ensure optimal accuracy and response time. We have evaluated QuickAdapt for a distributed BDCA system using four datasets. Our evaluation shows that on average QuickAdapt reduces adaptation time by 105× with a competitive adaptation accuracy of 70% as compared to an existing solution.
Faheem Ullah, Muhammad Ali Babar 0001
ICECCS2
2019 How Developers Discuss Architecture Smells? An Exploratory Study on Stack Overflow
abstract
Architecture Smells (ASs) are design decisions that can have significant negative effects on a system's quality attributes such as reusability and testability. ASs are focused on higher level of software systems than code smells, which are implementation-level constructs. ASs can have much wider impact on a system than code smells. However, ASs usually receive less attention than code smells in both research and practice. We have conducted an exploratory study of developers' conception of ASs by analyzing related discussions in Stack Overflow. We used 14 ASs related terms to search the relevant posts in Stack Overflow and extracted 207 posts. We used Grounded Theory method for analyzing the extracted posts about developers' description of ASs, causes of ASs, approaches and tools for detecting and refactoring ASs, quality attributes affected by ASs, and difficulties in detecting and refactoring ASs. Our findings show that: (1) developers often describe ASs with some general terms; (2) ASs are mainly caused by violating architecture patterns, design principles, or misusing architecture antipatterns; (3) there is a lack of dedicated tools for detecting and refactoring ASs; (4) developers mainly concern about the maintainability and performance of systems affected by ASs; and (5) the inability to quantify the cost and benefit as well as the lack of approaches and tools makes detecting and refactoring ASs difficult.
Fangchao Tian, Peng Liang 0001, Muhammad Ali Babar 0001
ICSA3
2019 An Architecture-Driven Adaptation Approach for Big Data Cyber Security Analytics
abstract
Big Data Cyber Security Analytics (BDCA) systems leverage big data technologies (e.g., Hadoop and Spark) for collecting, storing, and analyzing large volume of security event data to detect cyber-attacks. Accuracy and response time are the two most important quality concerns for BDCA systems. However, the frequent changes in the operating environment of a BDCA system (such as quality and quantity of security event data) significantly impact these qualities. In this paper, we first study the impact of such environmental changes. We then present ADABTics, an architecture-driven adaptation approach that (re)composes the system at runtime with a set of components to ensure optimal accuracy and response time. We finally evaluate our approach both in a single node and multinode settings using a Hadoop-based BDCA system and different adaptation scenarios. Our evaluation shows that on average ADABTics improves BDCA's accuracy and response time by 6.06% and 23.7%respectively.
Faheem Ullah, Muhammad Ali Babar 0001
ICSA2
2019 An ontology-driven approach to automating the process of integrating security software systems
abstract
A wide variety of security software systems need to be integrated into a Security Orchestration Platform (SecOrP) to streamline the processes of defending against and responding to cybersecurity attacks. Lack of interpretability and interoperability among security systems are considered the key challenges to fully leverage the potential of the collective capabilities of different security systems. The processes of integrating security systems are repetitive, time-consuming and error-prone; these processes are carried out manually by human experts or using ad-hoc methods. To help automate security systems integration processes, we propose an Ontology-driven approach for Security OrchestrAtion Platform (OnSOAP). The developed solution enables interpretability, and interoperability among security systems, which may exist in operational silos. We demonstrate OnSOAP's support for automated integration of security systems to execute the incident response process with three security systems (Splunk, Limacharlie, and Snort) for a Distributed Denial of Service (DDoS) attack. The evaluation results show that OnSOAP enables SecOrP to interpret the input and output of different security systems, produce error-free integration details, and make security systems interoperable with each other to automate and accelerate an incident response process.
Chadni Islam, Muhammad Ali Babar 0001, Surya Nepal
ICSSP2
2019 Automated software vulnerability assessment with concept drift
abstract
Software Engineering researchers are increasingly using Natural Language Processing (NLP) techniques to automate Software Vulnerabilities (SVs) assessment using the descriptions in public repositories. However, the existing NLP-based approaches suffer from concept drift. This problem is caused by a lack of proper treatment of new (out-of-vocabulary) terms for the evaluation of unseen SVs over time. To perform automated SVs assessment with concept drift using SVs' descriptions, we propose a systematic approach that combines both character and word features. The proposed approach is used to predict seven Vulnerability Characteristics (VCs). The optimal model of each VC is selected using our customized time-based cross-validation method from a list of eight NLP representations and six well-known Machine Learning models. We have used the proposed approach to conduct large-scale experiments on more than 100,000 SVs in the National Vulnerability Database (NVD). The results show that our approach can effectively tackle the concept drift issue of the SVs' descriptions reported from 2000 to 2018 in NVD even without retraining the model. In addition, our approach performs competitively compared to the existing word-only method. We also investigate how to build compact concept-drift-aware models with much fewer features and give some recommendations on the choice of classifiers and NLP representations for SVs assessment.
Triet Huynh Minh Le, Bushra Sabir, Muhammad Ali Babar 0001
MSR3
2019 Quantifying the Impact of Design Strategies for Big Data Cyber Security Analytics: An Empirical Investigation
abstract
Big Data Cyber Security Analytics (BDCA) systems use big data technologies (e.g., Hadoop and Spark) for collecting, storing, and analyzing a large volume of security event data to detect cyber-attacks. The state-of-the-art uses various design strategies (e.g., feature selection and alert ranking) to help BDCA systems to achieve the desired levels of accuracy and response time. However, the use of these strategies in the state-of-the-art is not consistent, which exposes a lack of consensus on "when to use (and not to use) these design strategies?" In this paper, we follow a systematic experimentation framework to quantify the impact of four design strategies on the accuracy and response time with respect to three contextual factors i.e., security data, machine learning model employed in the system, and the execution mode of the system. For the aimed quantification, we performed experiments on a Hadoop-based BDCA system using four security datasets, five machine learning models, and three execution modes. Our findings lead us to formulate a set of design guidelines that will help researchers and practitioners to decide when to use (and not to use) the design strategies.
Faheem Ullah, Muhammad Ali Babar 0001
PDCAT2
2019 Ethnographic research in software engineering: a critical review and checklist
abstract
Software Engineering (SE) community has recently been investing significant amount of effort in qualitative research to study the human and social aspects of SE processes, practices, and technologies. Ethnography is one of the major qualitative research methods, which is based on constructivist paradigm that is different from the hypothetic-deductive research model usually used in SE. Hence, the adoption of ethnographic research method in SE can present significant challenges in terms of sufficient understanding of the methodological requirements and the logistics of its applications. It is important to systematically identify and understand various aspects of adopting ethnography in SE and provide effective guidance. We carried out an empirical inquiry by integrating a systematic literature review and a confirmatory survey. By reviewing the ethnographic studies reported in 111 identified papers and 26 doctoral theses and analyzing the authors' responses of 29 of those papers, we revealed several unique insights. These identified insights were then transformed into a preliminary checklist that helps improve the state-of-the-practice of using ethnography in SE. This study also identifies the areas where methodological improvements of ethnography are needed in SE.
He Zhang 0001, Xin Huang 0019, Xin Zhou 0016, Muhammad Ali Babar 0001
ESEC/SIGSOFT FSE5
2019 An empirical study of architecting for continuous delivery and deployment
Mojtaba Shahin, Mansooreh Zahedi, Muhammad Ali Babar 0001, Liming Zhu 0001
Empir. Softw. Eng.3
2019 Special issue on architecting for hyper connectivity and hyper virtualization
Bedir Tekinerdogan, Uwe Zdun, Muhammad Ali Babar 0001
J. Syst. Softw.3
2019 Architectural Tactics for Big Data Cybersecurity Analytics Systems: A Review
Faheem Ullah, Muhammad Ali Babar 0001
J. Syst. Softw.2
2018 An empirical investigation of transferring research to software technology innovation: a case of data-driven national security software
abstract
Context: Governments are providing more and more support for academia-industry collaborations for industry led research and innovation via Cooperative Research Centers (CRC). It is important to understand the processes and practices of such programs for transferring scientific R&D to innovation. Goal: We aimed at empirically investigating the processes and practices implemented in the context of one of the Australian CRCs, aimed at transferring big data research to innovative software solutions for national security. Method: We applied case study method and collected and analyzed data from 17 interviews and observations of the participants of the studied CRC program. Findings: We present the innovation process implemented in the studied CRC. We particularly highlight the practices used to involve end-users in the innovation process. We further elaborate on the challenges of running this collaborative model for software technology innovation.
Mansooreh Zahedi, Muhammad Ali Babar 0001, Brenton Cooper
ESEM2
2018 Synthesizing qualitative research in software engineering: a critical review
abstract
Synthesizing data extracted from primary studies is an integral component of the methodologies in support of Evidence Based Software Engineering (EBSE) such as System Literature Review (SLR). Since a large and increasing number of studies in Software Engineering (SE) incorporate qualitative data, it is important to systematically review and understand different aspects of the Qualitative Research Synthesis (QRS) being used in SE. We have reviewed the use of QRS methods in 328 SLRs published between 2005 and 2015. We also inquired the authors of 274 SLRs to confirm whether or not any QRS methods were used in their respective reviews. 116 of them provided the responses, which were included in our analysis. We found eight QRS methods applied in SE research, two of which, narrative synthesis and thematic synthesis, have been predominantly adopted by SE researchers for synthesizing qualitative data. Our study determines that a significant amount of missing knowledge and incomplete understanding of the defined QRS methods in the community. Our effort also identifies an initial set factors that may influence the selection and use of appropriate QRS methods in SE.
Xin Huang 0019, He Zhang 0001, Xin Zhou 0016, Muhammad Ali Babar 0001, Song Yang 0001
ICSE4
2018 Cost Sharing Security Information with Minimal Release Delay
Mingyu Guo 0001, Muhammad Ali Babar 0001
PRIMA3
2018 Automatically exploiting implicit design knowledge when solving the class responsibility assignment problem
abstract
Assigning responsibilities to classes is not only vital during initial software analysis/design phases in object-oriented analysis and design (OOAD), but also during maintenance and evolution phases, when new responsibilities have to be assigned to classes or existing responsibilities have to be changed. Class Responsibility Assignment (CRA) is one of the most complex tasks in OOAD as it heavily relies on designers' judgment and implicit design knowledge (DK) of design problems. Since CRA is highly dependent on the successful use of implicit DK, (semi)-automated approaches that help designers to assign responsibilities to classes should make implicit DK explicit and exploit the DK effectively. In this paper, we propose a learning based approach for the Class Responsibility Assignment (CRA) problem. A learning mechanism is introduced into Genetic Algorithm (GA) to extract the implicit DK about which responsibilities have a high probability to be assigned to the same class, and then the extracted DK is employed automatically to improve the design quality of the generated solutions. The proposed approach has been evaluated through an experimental study with three cases. By comparing the solutions obtained from the proposed approach and the existing approaches, the proposed approach can significantly improve the design quality of the generated solutions to the CRA problem, and the generated solutions by the proposed approach are more likely to be accepted by developers from the practical aspects.
Yongrui Xu, Peng Liang 0001, Muhammad Ali Babar 0001
SANER3
2018 System requirements-OSS components: matching and mismatch resolution practices - an empirical study
Claudia P. Ayala, Anh Nguyen-Duc 0001, Xavier Franch, Martin Höst, Reidar Conradi, Daniela S. Cruzes, Muhammad Ali Babar 0001
Empir. Softw. Eng.7
2018 Data exfiltration: A review of external attack vectors and countermeasures
Faheem Ullah, Matthew Edwards 0001, Rajiv Ramdhany, Ruzanna Chitchyan, Muhammad Ali Babar 0001, Awais Rashid
J. Netw. Comput. Appl.5
2017 A Mapping Study on Mining Software Process
abstract
Background: Mining Software Process (MSP) helps distill important information about software process enactment from software data repositories. An increasing amount of research effort is being dedicated to MSP. These studies differ in various aspects (e.g., topics, data, and techniques) of MSP. Objective: We aim to study the state of the art on MSP from following aspects, i.e., research topics, data sources, data types, mining techniques, and mining tools. Method: We conducted a systematic mapping study on the research relevant to MSP at both microprocess and macroprocess levels. Results: Our mapping study identified 40 relevant studies that can be grouped into microprocess and macroprocess levels. The identified mining techniques have been mapped onto the associated mining tools that fall into four types. Driven by the three research questions which represented in a meta-model, the findings revealed the correlations among the research topics, data sources, data types, mining techniques, and mining tools. Conclusion: It is observed that in order to discover the software process model or map, the main data source is from industrial project. Current mining techniques for microprocess research are mostly business process mining or sequence mining techniques used to recover descriptive software process. In addition, various machine learning algorithms and novel proposed methods are used to improve the accuracy of macroprocess level factors (e.g., software effort estimation).
Liming Dong 0001, Bohan Liu 0003, Zheng Li 0001, Muhammad Ali Babar 0001, Bingbing Xue 0002
APSEC5
2017 Adopting Continuous Delivery and Deployment: Impacts on Team Structures, Collaboration and Responsibilities
abstract
Context: Continuous Delivery and Deployment (CD) practices aim to deliver software features more frequently and reliably. While some efforts have been made to study different aspects of CD practices, a little empirical work has been reported on the impact of CD on team structures, collaboration and team members' responsibilities. Goal: Our goal is to empirically investigate how Development (Dev) and Operations (Ops) teams are organized in software industry for adopting CD practices. Furthermore, we explore the potential impact of practicing CD on collaboration and team members' responsibilities. Method:We conducted a mixed-method empirical study, which collected data from 21 in-depth, semi-structured interviews in 19 organizations and a survey with 93 software practitioners. Results: There are four common types of team structures (i.e., (1) separate Dev and Ops teams with higher collaboration; (2) separate Dev and Ops teams with facilitator(s) in the middle; (3) small Ops team with more responsibilities for Dev team; (4) no visible Ops team) for organizing Dev and Ops teams to effectively initiate and adopt CD practices. Our study also provides insights into how software organizations actually improve collaboration among teams and team members for practicing CD. Furthermore, we highlight new responsibilities and skills (e.g., monitoring and logging skills), which are needed in this regard.
Mojtaba Shahin, Mansooreh Zahedi, Muhammad Ali Babar 0001, Liming Zhu 0001
EASE3
2017 Security Support in Continuous Deployment Pipeline
abstract
Continuous Deployment (CD) has emerged as a new practice in the software industry to continuously and automatically deploy software changes into production. Continuous Deployment Pipeline (CDP) supports CD practice by transferring the changes from the repository to production. Since most of the CDP components run in an environment that has several interfaces to the Internet, these components are vulnerable to various kinds of malicious attacks. This paper reports our work aimed at designing secure CDP by utilizing security tactics. We have demonstrated the effectiveness of five security tactics in designing a secure pipeline by conducting an experiment on two CDPs - one incorporates security tactics while the other does not. Both CDPs have been analyzed qualitatively and quantitatively. We used assurance cases with goal-structured notations for qualitative analysis. For quantitative analysis, we used penetration tools. Our findings indicate that the applied tactics improve the security of the major components (i.e., repository, continuous integration server, main server) of a CDP by controlling access to the components and establishing secure connections.
Faheem Ullah, Adam Johannes Raft, Mojtaba Shahin, Mansooreh Zahedi, Muhammad Ali Babar 0001
ENASE5
2017 Understanding the Heterogeneity of Contributors in Bug Bounty Programs
abstract
Background: While bug bounty programs are not new in software development, an increasing number of companies, as well as open source projects, rely on external parties to perform the security assessment of their software for reward. However, there is relatively little empirical knowledge about the characteristics of bug bounty program contributors. Aim: This paper aims to understand those contributors by highlighting the heterogeneity among them. Method: We analyzed the histories of 82 bug bounty programs and 2,504 distinct bug bounty contributors, and conducted a quantitative and qualitative survey. Results: We found that there are project-specific and non-specific contributors who have different motivations for contributing to the products and organizations. Conclusions: Our findings provide insights to make bug bounty programs better and for further studies of new software development roles.
Hideaki Hata, Mingyu Guo 0001, Muhammad Ali Babar 0001
ESEM3
2017 Beyond Continuous Delivery: An Empirical Investigation of Continuous Deployment Challenges
abstract
Context: A growing number of software organizations have been adopting Continuous DElivery (CDE) and Continuous Deployment (CD) practices. Researchers have started investing significant efforts in studying different aspects of CDE and CD. Many studies refer to CDE (i.e., where an application is potentially capable of being deployed) and CD (i.e., where an application is automatically deployed to production on every update) as synonyms and do not distinguish them from each other. Despite CDE being successfully adopted by a large number of organizations, it is not empirically known why organizations still are unable or demotivated to have automatic and continuous deployment (i.e., CD practice). Goal: This study aims at empirically investigating and classifying the factors that may impact on adopting and implementing CD practice. Method: We conducted a mixed-method empirical study consisting of interviewing 21 software practitioners, followed by a survey with 98 respondents. Results: Our study reveals 11 confounding factors that limit or demotivate software organizations to push changes automatically and continuously to production. The most important ones are "lack of automated (user) acceptance test", "manual quality check", "deployment as business decision", "insufficient level of automated test coverage", and "highly bureaucratic deployment process". Conclusion: Our findings highlight several areas for future research and provide suggestions for practitioners to streamline deployment process.
Mojtaba Shahin, Muhammad Ali Babar 0001, Mansooreh Zahedi, Liming Zhu 0001
ESEM2
2017 A Model Driven Method to Design and Analyze Secure Architectures of Systems-of-Systems
abstract
Context: Systems-of-Systems (SoS) is becoming the major paradigm for engineering next generation solutions such as smart cities, health-care and emergency response. However, SoS differentiating characteristics, such as emergent behavior, may introduce specific issues that make ensuring their security a critical challenge. Objective: the aim of this study is to investigate how Software Engineering approaches can be extended to model and analyze secure SoS solutions for discovering high impact cascading attacks at the architecture stage. Method: in order to achieve our objective, we followed the guidelines of Model Driven Engineering to propose a method, Systems-of-Systems Security (SoSSec), that comprises: (1) an architectural description language for modeling SoS and its vulnerabilities and (2) a MultiAgent System for security analysis of SoS architectures.
Jamal El Hachem, Tarek Al Khalil, Vanea Chiprianov, Muhammad Ali Babar 0001, Philippe Aniorté
ICECCS4
2017 Optimizing Affine Maximizer Auctions via Linear Programming: An Application to Revenue Maximizing Mechanism Design for Zero-Day Exploits Markets
Mingyu Guo 0001, Hideaki Hata, Muhammad Ali Babar 0001
PRIMA3
2017 A Kernel-Based Approach to Developing Adaptable and Reusable Sensor Retrieval Systems for the Web of Things
Nguyen Khoi Tran 0001, Quan Z. Sheng, Muhammad Ali Babar 0001, Lina Yao 0001
WISE (1)3
2017 Are you a human or a humanoid: Predictive user modelling through behavioural analysis of online gameplay data
Kaiqi Jin, Haifeng Shen, Muhammad Ali Babar 0001
Adv. Eng. Informatics4
2017 A Reference Architecture for provisioning of Tools as a Service: Meta-model, Ontologies and Design Elements
Muhammad Aufeef Chauhan, Muhammad Ali Babar 0001, Quan Z. Sheng
Future Gener. Comput. Syst.2
2017 An empirical investigation of the influence of persona with personality traits on conceptual design
Farshid Anvari, Debbie Richards 0001, Michael Hitchens, Muhammad Ali Babar 0001, Hien Minh Thi Tran, Peter Busch 0001
J. Syst. Softw.4
2017 Architecting cloud-enabled systems: a systematic survey of challenges and solutions
abstract
Summary The literature on the challenges of and potential solutions to architecting cloud‐based systems is rapidly growing but is scattered. It is important to systematically analyze and synthesize the existing research on architecting cloud‐based software systems in order to build a cohesive body of knowledge of the reported challenges and solutions. We have systematically identified and reviewed 133 papers that report architecture‐related challenges and solutions for cloud‐based software systems. This paper reports the methodological details, findings, and implications of a systematic review that has enabled us to identify 44 unique categories of challenges and associated solutions for architecting cloud‐based software systems. We assert that the identified challenges and solutions classified into the categories form a body of knowledge that can be leveraged for designing or evaluating software architectures for cloud‐based systems. Our key conclusions are that a large number of primary studies focus on middleware services aimed at achieving scalability, performance, response time, and efficient resource optimization. Architecting cloud‐based systems presents unique challenges as the systems to be designed range from pervasive embedded systems and enterprise applications to smart devices with Internet of Things. We also conclude that there is a huge potential of research on architecting cloud‐based systems in areas related to green computing, energy efficient systems, mobile cloud computing, and Internet of Things. Copyright © 2016 John Wiley & Sons, Ltd.
Muhammad Aufeef Chauhan, Muhammad Ali Babar 0001, Boualem Benatallah
Softw. Pract. Exp.2
2016 Mining Source Code Topics Through Topic Model and Words Embedding
Wei Zhang 0098, Quan Z. Sheng, Ermyas Abebe, Muhammad Ali Babar 0001, Andi Zhou
ADMA4
2016 Model Driven Software Security Architecture of Systems-of-Systems
abstract
Recently, there is a growing interest in Systems of Systems (SoS), their architecture, security and application domains. However, their specific characteristics such as the operational independence of SoS constituent systems (CS), the absence of central authority and their emergent behavior make the modeling of their structure, behavior and security a complex task. One of the current main security challenges in the context of SoS is the cascading attack problem. The challenge is to predict the concatenation/sequence of CS's vulnerabilities that could be triggered resulting in destructive cascading failures and take corrective actions to reduce the cost, development time and effect of later changes. In this paper, we propose a domain specific modeling language (DSML) to represent SoS security architecture. Having SoS security models will enable the discovery, analysis and resolution of cascading attacks, in the architecture phase, preventing development time and cost wastage. Following a Model Driven Engineering (MDE) approach, we generate a graphical editor for our DSML and use it to model a Smart Campus case study.
Jamal El Hachem, Zi Yang Pang, Vanea Chiprianov, Muhammad Ali Babar 0001, Philippe Aniorté
APSEC4
2016 Concealing jitter in Multi-Player Online Games through predictive behaviour modeling
abstract
Network latency imposes a major hinderance on the responsiveness and consistency of a Multi-Player Online Game (MPOG). In past decades, several network topologies and latency handling solutions have been proposed and adopted in a variety of MPOGs. Another issue closely related to latency is jitter, which is caused by the variation of latency. Most of the existing MPOGs adopt a simplistic approach to tackling jitter: when one's varying latency exceeds a threshold, one will be forced to leave the game; otherwise latency is treated constant or estimated from historical data. However, forcing a player to quit in the middle of a game simply because of a spike of unusual lengthy latency has a significant negative impact on both the fairness of the game and the player's gameplay quality of experience (QoE). In this paper, we propose an alternative approach that instead conceals jitter by seamlessly and transparently switching between a remote human player and their intelligent agent that resembles them. To model such an intelligent agent, we further contribute a novel technique referred to as predictive modeling of user behaviour (PREMUB), which predicts an object's future state based on how the remote player interacts with the object in the past. We have also developed an online table tennis game to demonstrate this idea and compare the prediction accuracy between using PREMUB and using the existing technique of dead reckoning that does not consider a user's playing pattern.
Haifeng Shen, Muhammad Ali Babar 0001
CSCWD3
2016 The Intersection of Continuous Deployment and Architecting Process: Practitioners' Perspectives
abstract
Context: Development and Operations (DevOps) is an emerging software industry movement to bridge the gap between software development and operations teams. DevOps supports frequently and reliably releasing new features and products-- thus subsuming Continuous Deployment (CD) practice. Goal: This research aims at empirically exploring the potential impact of CD practice on architecting process. Method: We carried out a case study involving interviews with 16 software practitioners. Results: We have identified (1) a range of recurring architectural challenges (i.e., highly coupled monolithic architecture, team dependencies, and ever-changing operational environments and tools) and (2) five main architectural principles (i.e., small and independent deployment units, not too much focus on reusability, aggregating logs, isolating changes, and testability inside the architecture) that should be considered when an application is (re-) architected for CD practice. This study also supports that software architecture can better support operations if an operations team is engaged at an early stage of software development for taking operational aspects into considerations. Conclusion: These findings provide evidence that software architecture plays a significant role in successfully and efficiently adopting continuous deployment. The findings contribute to establish an evidential body of knowledge about the state of the art of architecting for CD practice
Mojtaba Shahin, Muhammad Ali Babar 0001, Liming Zhu 0001
ESEM2
2016 An Empirical Evaluation of an Activity-Based Infrastructure for Supporting Cooperation in Software Engineering
abstract
Software engineering (SE) is predominantly a team effort that needs close cooperation among several people who may be geographically distributed. It has been recognized that appropriate tool support is a prerequisite to improve cooperation within SE teams. In an effort to contribute to this line of research, we have designed and developed an infrastructure, called ABC4GSD, based on the models of activity theory (AT) and the principles of the activity-based computing (ABC) paradigm. In this paper, we present a study that empirically evaluates the ability of ABC4GSD in supporting teams cooperation. We designed and executed a study based on a scenario that simulated the follow-the-Sun (FTS) strategy of global SE (GSE). Our research design allowed us to ensure cooperation to be both computer-mediated as well as contained within observable short time-windows - the hand-off activities of the FTS strategy. [Results] Overall, the results show that the cooperation support provided by the ABC4GSD system has been positively perceived by the participants. Nonetheless, open issues stimulating further investigations have been raised especially due to a few mixed results. Aware of the limitations of the simulated scenario, we conclude that the approach followed by the ABC4GSD system based on activities is desirable to improve the cooperation support in SE. Finally, our research approach based on simulating a scenario with geographical and temporal distribution can provide useful ideas for assessing collaborative technologies in SE.
Paolo Tell, Muhammad Ali Babar 0001
ICGSE2
2016 Discovering "unknown known" security requirements
abstract
Security is one of the biggest challenges facing organisations in the modern hyper-connected world. A number of theoretical security models are available that provide best practice security guidelines and are widely utilised as a basis to identify and operationalise security requirements. Such models often capture high-level security concepts (e.g., whitelisting, secure configurations, wireless access control, data recovery, etc.), strategies for operationalising such concepts through specific security controls, and relationships between the various concepts and controls. The threat landscape, however, evolves leading to new tacit knowledge that is embedded in or across a variety of security incidents. These unknown knowns alter, or at least demand reconsideration of the theoretical security models underpinning security requirements. In this paper, we present an approach to discover such unknown knowns through multi-incident analysis. The approach is based on a novel combination of grounded theory and incident fault trees. We demonstrate the effectiveness of the approach through its application to identify revisions to a theoretical security model widely used in industry.
Awais Rashid, Syed Asad Naqvi, Rajiv Ramdhany, Matthew Edwards 0001, Ruzanna Chitchyan, Muhammad Ali Babar 0001
ICSE6
2016 Revenue Maximizing Markets for Zero-Day Exploits
Mingyu Guo 0001, Hideaki Hata, Muhammad Ali Babar 0001
PRIMA3
2016 A Process Framework for Designing Software Reference Architectures for Providing Tools as a Service
Muhammad Aufeef Chauhan, Muhammad Ali Babar 0001, Christian W. Probst
PROFES2
2016 Why does site visit matter in global software development: A knowledge-based perspective
Mansooreh Zahedi, Muhammad Ali Babar 0001
Inf. Softw. Technol.2
2016 Software architectures for robotic systems: A systematic mapping study
Aakash Ahmad, Muhammad Ali Babar 0001
J. Syst. Softw.2
2016 10 years of software architecture knowledge management: Practice and future
abstract
The importance of architectural knowledge (AK) management for software development has been highlighted over the past ten years, where a significant amount of research has been done. Since the first systems using design rationale in the seventies and eighties to the more modern approaches using AK for designing software architectures, a variety of models, approaches, and research tools have leveraged the interests of researchers and practitioners in AK management (AKM). Capturing, sharing, and using AK has many benefits for software designers and maintainers, but the cost to capture this relevant knowledge hampers a widespread use by software companies. However, as the improvements made over the last decade didn't boost a wider adoption of AKM approaches, there is a need to identify the successes and shortcomings of current AK approaches and know what industry needs from AK. Therefore, as researchers and promoters of many of the AK research tools in the early stages where AK became relevant for the software architecture community, and based on our experience and observations, we provide in this research an informal retrospective analysis of what has been done and the challenges and trends for a future research agenda to promote AK use in modern software development practices.
Rafael Capilla, Anton Jansen, Antony Tang, Paris Avgeriou, Muhammad Ali Babar 0001
J. Syst. Softw.5
2015 Quality assessment of systematic reviews in software engineering: a tertiary study
abstract
Context: The quality of an Systematic Literature Review (SLR) is as good as the quality of the reviewed papers. Hence, it is vital to rigorously assess the papers included in an SLR. There has been no tertiary study aimed at reporting the state of the practice of quality assessment used in SLRs in Software Engineering (SE).
He Zhang 0001, Xin Huang 0019, Song Yang 0001, Muhammad Ali Babar 0001
EASE5
2015 Improving the Quality of Architecture Design Through Peer-Reviews and Recombination
Mojtaba Shahin, Muhammad Ali Babar 0001
ECSA2
2015 Effectiveness of Persona with Personality Traits on Conceptual Design
abstract
Conceptual design is an important skill in Software Engineering. Teaching conceptual design that can deliver a useful product is challenging, particularly when access to real users is limited. This study explores the effects of the use of Holistic Personas (i.e. a persona enriched with personality traits) on students' performance in creating conceptual designs. Our results indicate that the students were able to identify the personality traits of personas and their ratings of the personalities match closely with the intended personalities. A majority of the participants stated that their designs were tailored to meet the needs of the given personas' personality traits. Results suggest that the Holistic Personas can help students to take into account personality traits in the conceptual design process. Further studies are warranted to assess the value of incorporating Holistic Personas in conceptual design training for imparting skills of producing in-depth design by taking personalities into account.
Farshid Anvari, Debbie Richards 0001, Michael Hitchens, Muhammad Ali Babar 0001
ICSE (2)4
2015 7th International Workshop on Principles of Engineering Service-Oriented and Cloud Systems (PESOS 2015)
abstract
PESOS has established itself as a forum that brings together software engineering researchers and practitioners working in the areas of service-oriented systems to discuss research challenges, new developments and applications, as well as methods, techniques, experiences, and tools to support engineering, evolution and adaptation of service-oriented systems. The technical advances and growing adoption of Cloud computing is creating new challenges for the PESOS the software services community to explore the approaches to better engineer software systems that are designed, developed, operated and governed in the context of the Cloud. We again attracted high-quality submissions on a diverse set of relevant topics such as better approaches to engineering service-based collaborative systems, Infrastructure as a Service (IaaS), Platform as a Service (PaaS), and Software as a Service (SaaS) models of cloud computing and associated software quality attributes. PESOS 2015 will continue to be the key forum for collecting case studies and artifacts for educators and researchers in this area.
Muhammad Ali Babar 0001, Hye-Young Paik, Malolan Chetlur, Amir Molzam Sharifloo
ICSE (2)1
2015 Ant colony algorithm based scheduling for handling software project delay
abstract
Delay on a critical path may cause the failure in meeting the software project deadline. By adding extra employees with similar skills for help, the delay is expected to be eliminated or reduced. However, the originally scheduled activities may be suspended due to reallocation of employees, which may lead to the problem of delay propagation. So how to minimize and even eliminate the delay without delay propagation is worth investigation. In this paper, we first use a simple scenario to demonstrate the problem of employee scheduling which shows that in the scheduling process, one activity can have many ways for selecting employees from another project. In fact, the searching path in a multi-branch tree and its complete traversal is a NP hard problem. Furthermore when the scale of the problem becomes large, it is impractical to generate a search tree for implementation. Therefore, we propose an ant colony algorithm to address such a problem. Both case studies and initial simulation results demonstrate that our proposed algorithm can obtain feasible solutions under different circumstances.
Wei Zhang 0098, Yun Yang 0001, Junchao Xiao, Xiao Liu 0004, Muhammad Ali Babar 0001
ICSSP5
2015 Introducing Learning Mechanism for Class Responsibility Assignment Problem
Yongrui Xu, Peng Liang 0001, Muhammad Ali Babar 0001
SSBSE3
2014 Knowledge sharing for common understanding of technical specifications through artifactual culture
abstract
Context: Software engineering is a knowledge intensive activity that is supported by documenting and sharing the required knowledge through a wide variety of artifacts. Global Software Development (GSD) teams heavily rely on artifacts as a vital means of knowledge sharing. However, there is little empirical knowledge about the key reasons and practices of using artifacts in GSD for knowledge sharing to support common understanding of technical specifications. Objective: This study aims at empirically studying the key motivators, practices, and drawbacks of artifact-based knowledge sharing for achieving common understanding of technical specifications in the context of GSD. Method: We conducted an exploratory case study in an organization that was involved in several GSD projects. Results: Our findings revealed the key challenges that necessitated the use of artifacts for sharing technical specification knowledge. We also present the practices that make up the artifact-based knowledge sharing system in the studied case. Finally, we shed some light on the caveats of knowledge sharing practices adopted by the studied company. The findings can provide useful insights into the artifact-based knowledge sharing practices and how it can be complemented by having certain level of social ties among distributed team members, even through asynchronous means.
Mansooreh Zahedi, Muhammad Ali Babar 0001
EASE2
2014 Towards an understanding of enabling process knowing in global software development: a case study
abstract
Shared understanding of Software Engineering (SE) processes, that we call process knowing, is required for effective communication and coordination and communication within a team in order to improve team performance. SE Process knowledge can include roles, responsibilities and flow of information over a project lifecycle. Developing and sustaining process knowledge can be more challenging in Global Software Development (GSD). GSD distances can limit the ability of a team to develop a common understanding of processes. Anecdotes of the problems caused by lack of common understanding of processes in GSD are pervasive, but there is no reported empirical effort aimed at exploring the solutions to enable process knowing in GSD. We report a case study aimed at understanding an effort to enable process knowing for improving processes in GSD. The findings provide useful insights into the potential challenges of lack of process knowing and how an organization can enable process knowing for achieving the desired results that also help in increasing social interactions and positive behavioral changes.
Mansooreh Zahedi, Muhammad Ali Babar 0001
ICSSP2
2014 Towards a Reference Architecture to Provision Tools as a Service for Global Software Development
abstract
Organizations involve in Global Software Development (GSD) face challenges in terms of having access to appropriate set of tools for performing distributed engineering and development activities, integration between heterogeneous desktop and web-based tools, management of artifacts developed and maintained over distant locations using different kind of tools, traceability among artifacts, and access to artifacts and data of sensitive nature. These challenges pose additional constraints on specific projects and reduce the possibility to carry out their engineering and development in globally distributed environment. In this paper, we argue the need to have a cloud-enabled platform for supporting GSD and propose reference architecture of a cloud based Platform for providing support to provision ecosystem of the Tools as a Service (PTaaS).
Muhammad Aufeef Chauhan, Muhammad Ali Babar 0001
WICSA2
2014 Towards an Evidence-Based Understanding of Emergence of Architecture through Continuous Refactoring in Agile Software Development
abstract
The proponents of Agile software development approaches claim that software architecture emerges from continuous small refactoring, hence, there is not much value in spending upfront effort on architecture related issues. Based on a large-scale empirical study involving 102 practitioners who had worked with agile and architecture approaches, we have found that whether or not architecture emerges through continuous refactoring depends upon several contextual factors. Our study has identified 20 factors that have been categorized into four elements: project, team, practices, and organization. These empirically identified contextual factors are expected to help practitioners to make informed decisions about their architecture practices in agile software development.
Lianping Chen, Muhammad Ali Babar 0001
WICSA2
2014 Empirical Study of Architectural Knowledge Management Practices
abstract
Most current literature on Software Architecture Knowledge Management (AKM) reports research aimed at developing AKM approaches or identifying challenges in and potential solutions to AKM. However, there has been little effort aimed at empirically studying and describing how AKM is practiced in real-world projects. This paper reports a study aimed at empirically understanding how AKM is currently practiced in industry. Our findings are based on a systematic and rigorous analysis of reports of AKM practices in 29 industrial projects.
Matthias Galster, Muhammad Ali Babar 0001
WICSA2
2014 Global software engineering: Identifying challenges is important and providing solutions is even better
Muhammad Ali Babar 0001, Christian Lescher
Inf. Softw. Technol.1
2014 A systematic review of software architecture visualization techniques
Mojtaba Shahin, Peng Liang 0001, Muhammad Ali Babar 0001
J. Syst. Softw.3
2014 Factors that motivate software engineering teams: A four country empirical study
June M. Verner, Muhammad Ali Babar 0001, Narciso Cerpa, Tracy Hall, Sarah Beecham
J. Syst. Softw.2
2014 Key factors for adopting inner source
abstract
A number of organizations have adopted Open Source Software (OSS) development practices to support or augment their software development processes, a phenomenon frequently referred to as Inner Source . However the adoption of Inner Source is not a straightforward issue. Many organizations are struggling with the question of whether Inner Source is an appropriate approach to software development for them in the first place. This article presents a framework derived from the literature on Inner Source, which identifies nine important factors that need to be considered when implementing Inner Source. The framework can be used as a probing instrument to assess an organization on these nine factors so as to gain an understanding of whether or not Inner Source is suitable. We applied the framework in three case studies at Philips Healthcare, Neopost Technologies, and Rolls-Royce, which are all large organizations that have either adopted Inner Source or were planning to do so. Based on the results presented in this article, we outline directions for future research.
Klaas-Jan Stol, Paris Avgeriou, Muhammad Ali Babar 0001, Yan Lucas, Brian Fitzgerald 0001
ACM Trans. Softw. Eng. Methodol.3
2013 Understanding Structures and Affordances of Extended Teams in Global Software Development
abstract
Growing popularity of Global Software Development (GSD) has resulted in an increasing number of cross-organizational teams that are formed according to Extended Team Model (ETM). There is little known about the structures (work, social, and communication) that may exist in ETM and what affordances those structures provide to support collaboration and coordination. This paper reports a case study that has studied the structures of an ETM in GSD and how those structures provide affordances for dealing with known GSD challenges. This study has revealed that whilst the current structures in the studied team help deal with different GSD challenges, these structures appear to have certain challenges inherent in them and the affordances they provide. We make a few recommendations for improving the current structures to deal with the observed challenges. Our findings are expected to provide insights into the types of structures and associated challenges for implementing ETM in GSD.
Muhammad Ali Babar 0001, Mansooreh Zahedi
ICGSE1
2013 A Preliminary User Evaluation of an Infrastructure to Support Activity-Based Computing in Global Software Development (ABC4GSD)
abstract
Global Software Engineering (GSE) teams face challenges due to the need to replace traditional physical presence interactions and co-ordination with computer-mediated means. A vast majority of the available tool support for distributed collaboration is deep-seated in a desktop metaphor introduced in the `70s, and huge efforts are being devoted to overcome its known limitations. Over the last few years we have looked into the feasibility of providing an approach based on Activity-Based Computing (ABC) to address these issues in a novel way. We have developed a middleware and support tool, ABC4GSD, to enable collaborative distributed features in an application, while maintaining common interactions with the workstation that users are accustomed to. In this paper we present the results of a user evaluation we conducted on ABC4GSD using exemplar GSE scenarios. Participants' responses show positive and encouraging reception of the activity-based approach to supporting GSE.
Paolo Tell, Muhammad Ali Babar 0001, John C. Grundy
ICGSE2
2013 Systematic reviews in software engineering: An empirical investigation
He Zhang 0001, Muhammad Ali Babar 0001
Inf. Softw. Technol.2
2013 Building European software architecture community: how far have we come?
Muhammad Ali Babar 0001, Ian Gorton, Flávio Oquendo
Softw. Syst. Model.1
2012 Activity Theory Applied to Global Software Engineering: Theoretical Foundations and Implications for Tool Builders
abstract
Although a plethora of tools are available for Global Software Engineering (GSE) teams, it is being realized increasingly that the most prevalent desktop metaphor underpinning the majority of tools have several inherent limitations. We have proposed that Activity-Based Computing (ABC) can be a promising alternative to build tools for GSE. However, significant effort is required to introduce a new paradigm; there is a need of sound theoretical foundation based on activity theory to address challenges faced by tools in GSE. This paper reports our effort aimed at building theoretical foundations for applying activity theory to GSE. We analyze and explain the fundamental concepts of activity theory, and how they can be applied by using examples of software architecture design and evaluation processes. We describe the kind of data model and architectural support required for applying activity theory in building supporting infrastructure for GSE, and describe a proof of concept prototype.
Paolo Tell, Muhammad Ali Babar 0001
ICGSE2
2012 Quality requirements engineering for systems and software architecting: methods, approaches, and tools
Rafael Capilla, Muhammad Ali Babar 0001, Oscar Pastor 0001
Requir. Eng.2
2012 A framework for groupware-supported software architecture evaluation process in global software development
abstract
SUMMARY A software architecture evaluation process requires a large number of stakeholders to be collocated for evaluation sessions. Given an increasing trend to using globally distributed software development teams, organizations are likely to be discouraged from introducing disciplined software architecture evaluation practices that require collocated stakeholders. To address this issue, we propose that a software architecture evaluation can be carried out using suitable groupware systems. In this paper, we present a framework for supporting the software architecture evaluation process using a groupware system. The framework highlights the changes that are required in the existing software architecture evaluation methods. We provide an illustrated example of modeling and mapping the activities of the presented process on electronic workspaces provided by a groupware system. We also identify some of the features that a groupware system should provide to successfully support the process. Copyright © 2010 John Wiley & Sons, Ltd.
Muhammad Ali Babar 0001
J. Softw. Maintenance Res. Pract.1
2012 An empirical study of learning by osmosis in global software engineering
abstract
SUMMARY To teach global software engineering, we devised a complementary distributed module with a shared project involving both local and international teams. In local teams, students are located at the same university and trained in one of the two complementary topics. In international teams, students are located at two different universities and trained in one of the two complementary topics. This study empirically investigates whether the students in the international teams can compensate the extra effort required to deal with communication, coordination, and collaboration issues that characterize global software engineering projects with learning by osmosis (i.e., by transferring knowledge among globally distributed teams trained on different topics). The results show that there was no statistically significant difference between the performance of local and international teams. We assert that the students in the international and local teams perform equally well, thanks to learning by osmosis. However, our analysis of the self‐reported questionnaire data revealed that most of the participants (i.e., 70%) would like to work in local teams in real‐life project, 74% of the participants thought international teams were less efficient, and 41% of the participants reported lack of trust in their international team members compared with their local team members. Copyright © 2011 John Wiley & Sons, Ltd.
Patricia Lago, Henry Muccini, Muhammad Ali Babar 0001
J. Softw. Evol. Process.3
2011 Migrating Service-Oriented System to Cloud Computing: An Experience Report
abstract
Cloud computing has gained significant attention of industry and academic sectors which are interested in adopting or experimenting with this technology. An increasing number of companies are expected to migrate their systems to cloud enabled infrastructures. However, there has not been much attention paid to provide sufficient process support. Since migration projects are likely to encounter several kinds of challenges, it is important to identify and share the process and logistical requirements of migration projects in order to build a body of knowledge of appropriate process, methods, and tools. This paper purports to contribute to the growing knowledge of how to migrate existing systems to cloud computing by reporting our effort aimed at migrating an Open Source Software (OSS) framework, Hackystat, to cloud computing. We report the main steps followed, the process and technical challenges faced, and some of the strategies that helped us to address those challenges. We expect the reported experiences can provide readers with useful insights into the process and technical aspects that should be considered when migrating existing software systems to cloud computing infrastructures.
Muhammad Aufeef Chauhan, Muhammad Ali Babar 0001
IEEE CLOUD2
2011 An empirical assessment of a systematic search process for systematic reviews
abstract
Background: Systematic Literature Reviews (SLRs) have been gaining significant attention from Software En-gineering (SE) researchers since 2004. Several researches have also working on improving the scientific and techno-logical infrastructure available to support SLRs in SE. Objective: The study reported in this paper aims to vali-date the QGS-based search process for SLR, i.e. whether a more effective and/or productive search can be achieved by following such a systematic process. Method: We used a dual-case study, in which each case includes two observations of SE literature search for the same SLR but using and not using the QGS-based approach. Results: The overall sensitivity and precision of each observation were calculated for the search cases that im-plemented different search design. Conclusions: A systematic search process (QGS-based search in this paper) appears to gain higher sensitivity and precision in the two cases of SLR. Such a search process may help capture more relevant studies as well as save re-viewers ’ time spent in literature search activities. Our ob-servations also proof that an integrated search strategy is recommended for SLRs in SE to avoid the possible limita-tions of applying single manual or automated search. 1
He Zhang 0001, Muhammad Ali Babar 0001, Juan Li 0001, LiGuo Huang
EASE2
2011 Design and Evaluation of a Process for Identifying Architecture Patterns in Open Source Software
Klaas-Jan Stol, Paris Avgeriou, Muhammad Ali Babar 0001
ECSA3
2011 An Empirical Investigation of Systematic Reviews in Software Engineering
abstract
BACKGROUND: Systematic Literature Reviews (SLRs) have gained significant popularity among software engineering (SE) researchers since 2004. Several researchers have also been working on improving the scientific and technological support for SLRs in SE. We argue that there is also an essential need for evidence-based body of knowledge about different aspects of the adoption of SLRs in SE. OBJECTIVE: The main objective of this research is to empirically investigate the adoption and use of SLRs in SE research from various perspectives. METHOD: We used multi-method approach as it is based on a combination of complementary research methods which are expected to compensate each others' limitations. RESULTS: A large majority of the participants are convinced of the value of using a rigorous and systematic methodology for literature reviews. However, there are concerns about the required time and resources for SLRs. One of the most important motivators for performing SLRs is new findings and inception of innovative ideas for further research. The reported SLRs are more influential compared to the traditional literature reviews in terms of number of citations. One of the main challenges of conducting SLRs is drawing a balance between rigor and required effort. CONCLUSIONS: SLR has become a popular research methodology for conducting literature review and evidence aggregation in SE. There is an overall positive perception about this methodology. The findings provide interesting insights into different aspects of SLRs. We expect that the findings can provide valuable information to readers on what can be expected from conducting SLRs and the potential impact of such reviews.
He Zhang 0001, Muhammad Ali Babar 0001
ESEM2
2011 Supporting activity based computing paradigm in global software development
abstract
Global software development (GSD) teams have to use multiple tools to perform both complex and even simple tasks involving many context switches that can be frustrating. To lessen these issues, researchers are looking at providing new plug-ins whereas commercial vendors are flooding the market with comprehensive solutions often in the form of platforms. The current file- and application- oriented desktop metaphor can hardly support the collaborative and distributed nature of GSD teams. We assert that the Activity-Based Computing (ABC) paradigm has the potential for addressing the tool support related challenges of GSD. We have been incrementally designing and developing a flexible middleware (ABC4GSD) for supporting ABC in GSD. In this paper we present the theoretical foundations underpinning our approach and the architectural overview of a middleware for supporting ABC in GSD. Moreover, we briefly present a prototype leveraging the features provided by the middleware as a proof of concept.
Paolo Tell, Muhammad Ali Babar 0001
ASE2
2011 Joint Workshop of the Third International Workshop on Model-Driven Approaches in Software Product Line Engineering and the Third Workshop on Scalable Modeling Techniques for Software Product Lines (MAPLE/SCALE 2011)
abstract
Many of the benefits expected from software product lines (SPL) [1-2] are based on the assumption that the additional investment required for domain engineering, pays off during application engineering when products are derived from the product line [3]. However, to fully exploit this we need to optimize application engineering processes and handle the reusable artifacts of an SPL in a systematic and efficient manner. In this context, the joint MAPLE/SCALE workshop focuses on two closely related aspects: how model-driven approaches can help to achieve systematic and efficient derivation of products and how scalability challenges can be addressed that arise from the application of SPL techniques to SPLs of realistic size and complexity. The workshop aims to explore and explicate the current status and ongoing work in model-driven approaches and/or scalability of SPLs and the transfer of knowledge between different disciplines and application domains.
Goetz Botterweck, Natsuko Noda, Deepak Dhungana, Rick Rabiser, Muhammad Ali Babar 0001, Sholom Cohen, Kyo Chul Kang, Tomoji Kishi
SPLC5
2011 Empirical research in software architecture: opportunities, challenges, and approaches
abstract
Software architecture has become an important area of research and practice since the late 1980s (Shaw and Clements 2006 ). The term “software architecture” started gaining acceptance by the software engineering community in early 1990s but the foundations of this field were laid by the seminal work of Edsger Dijkstra, David Parnas, and others between 1960s and 1980s (Clements 2000 ). The increasing size and complexity of software systems and demand for high quality are some of the most important factors that have driven the increased interest in this sub-discipline of software engineering. It has generally been realized that a high-level design description can play an important role in successfully understanding and managing large and complex software systems (Clements et al. 2002 ; Lung and Kalaichelvan 2000 ). The high-level design decisions regarding the software architecture of a system are not only the hardest and most expensive to change but also play a fundamental role in setting the boundaries for the required quality attributes such as maintainability, reliability, usability, performance, and flexibility of a system (Bass et al. 2003 ; Clement and Northorp 1996 ).
Muhammad Ali Babar 0001, Patricia Lago, Arie van Deursen
Empir. Softw. Eng.1
2011 A systematic review of evaluation of variability management approaches in software product lines
Lianping Chen, Muhammad Ali Babar 0001
Inf. Softw. Technol.2
2011 A comparative study of challenges in integrating Open Source Software and Inner Source Software
Klaas-Jan Stol, Muhammad Ali Babar 0001, Paris Avgeriou, Brian Fitzgerald 0001
Inf. Softw. Technol.2
2011 Identifying relevant studies in software engineering
He Zhang 0001, Muhammad Ali Babar 0001, Paolo Tell
Inf. Softw. Technol.2
2011 Assessing architectural drift in commercial software development: a case study
abstract
Abstract Objectives: Software architecture is perceived as one of the most important artefacts created during a system's design. However, implementations often diverge from their intended architectures: a phenomenon called architectural drift. The objective of this research is to assess the occurrence of architectural drift in the context ofde novosoftware development, to characterize it, and to evaluate whether its detection leads to inconsistency removal.Method: Anin vivo, longitudinal case study was performed during the development of a commercial software system, where an approach based on Reflexion Modelling was employed to detect architectural drift. Observation and think‐aloud data, captured during the system's development, were assessed for the presence and types of architectural drift. When divergences were identified, the data were further analysed to see if identification led to the removal of these divergences.Results: The analysed system diverged from the intended architecture, during the initial implementation of the system. Surprisingly however, this work showed that Reflexion Modelling served to conceal some of the inconsistencies, a finding that directly contradicts the high regard that this technique enjoys as an architectural evaluation tool. Finally, the analysis illustrated that detection of inconsistencies was insufficient to prompt their removal, in the small, informal team context studied.Conclusions: Although the utility of the approach for detecting inconsistencies was demonstrated in most cases, it also served to hide several inconsistencies and did not act as a trigger for their removal. Hence additional efforts must be taken to lessen architectural drift and several improvements in this regard are suggested. Copyright © 2010 John Wiley & Sons, Ltd.
Jacek Rosik, Andrew Le Gear, Jim Buckley, Muhammad Ali Babar 0001, Dave Connolly
Softw. Pract. Exp.4
2010 A Systematic Review of Studies of Open Source Software Evolution
abstract
Software evolution relates to how software systems evolve over time. With the emergence of the open source paradigm, researchers are provided with a wealth of data for open source software evolution analysis. In this paper, we present a systematic review of open source software (OSS) evolution. The objective of this review is to obtain an overview of the existing studies in open source software evolution, with the intention of achieving an understanding of how software evolvability (i.e., a software system's ability to easily accommodate changes) is addressed during development and evolution of open source software. The primary studies for this review were identified based on a pre-defined search strategy and a multi-step selection process. Based on their research topics, we have identified four main categories of themes: software trends and patterns, evolution process support, evolvability characteristics addressed in OSS evolution, and examining OSS at software architecture level. A comprehensive overview and synthesis of these categories and related studies is presented as well.
Hongyu Pei Breivold, Muhammad Aufeef Chauhan, Muhammad Ali Babar 0001
APSEC3
2010 Towards an Evidence-Based Understanding of Electronic Data Sources
Lianping Chen, Muhammad Ali Babar 0001, He Zhang 0001
EASE2
2010 Identifying Architectural Patterns Used in Open Source Software: Approaches and Challenges
Klaas-Jan Stol, Paris Avgeriou, Muhammad Ali Babar 0001
EASE3
2010 On Searching Relevant Studies in Software Engineering
He Zhang 0001, Muhammad Ali Babar 0001
EASE2
2010 2nd Workshop on Scalable Modeling Techniques for Software Product Lines (SCALE 2010)
Muhammad Ali Babar 0001, Sholom Cohen, Kyo Chul Kang, Tomoji Kishi, Frank van der Linden 0001, Natsuko Noda, Klaus Pohl
SPLC1
2010 Variability Management in Software Product Lines: An Investigation of Contemporary Industrial Challenges
Lianping Chen, Muhammad Ali Babar 0001
SPLC2
2010 Applying empirical software engineering to software architecture: challenges and lessons learned
Davide Falessi, Muhammad Ali Babar 0001, Giovanni Cantone, Philippe Kruchten
Empir. Softw. Eng.2
2010 A systematic review of comparative evidence of aspect-oriented programming
Muhammad Sarmad Ali, Muhammad Ali Babar 0001, Lianping Chen, Klaas-Jan Stol
Inf. Softw. Technol.2
2010 Software Process Improvement barriers: A cross-cultural comparison
Mahmood Niazi, Muhammad Ali Babar 0001, June M. Verner
Inf. Softw. Technol.2
2010 A comparative study of architecture knowledge management tools
Antony Tang, Paris Avgeriou, Anton Jansen, Rafael Capilla, Muhammad Ali Babar 0001
J. Syst. Softw.5
2009 Risk Identification and Mitigation Processes for Using Scrum in Global Software Development: A Conceptual Framework
abstract
There is growing interest in applying agile practices in Global Software Development (GSD) projects. But project stakeholder distribution in GSD creates a number of challenges that make it difficult to use some agile practices. Moreover, little is known about what the key challenges or risks are, and how GSD project mangers deal with these risks while using agile practices. We conduct a Systematic Literature Review (SLR) following existing guidelines to identify primary papers that discuss the use of Scrum practices in GSD projects. We identify key challenges, due to global project distribution, that restrict the use of Scrum and explore the strategies used by project managers to deal with these challenges. Our findings are consolidated into a conceptual framework and we discuss various elements of this framework. This research is relevant to project managers who are seeking ways to use Scrum in their globally distributed projects.
Emam Hossain, Muhammad Ali Babar 0001, Hye-Young Paik, June M. Verner
APSEC2
2009 A Status Report on the Evaluation of Variability Management Approaches
Lianping Chen, Muhammad Ali Babar 0001, Ciarán Cawley
EASE2
2009 Systematic literature reviews in software engineering: Preliminary results from interviews with researchers
abstract
Systematic Literature Reviews (SLRs) have been gaining significant attention from software engineering researchers since 2004. Several researchers have reported their experiences of and lessons learned from applying systematic reviews to different subject matters in software engineering. However, there has been no attempt at independently exploring experiences and perceptions of the practitioners of systematic reviews in order to gain an in-depth understanding of various aspects of systemic reviews as a new research methodology in software engineering. We assert that there is a need of evidence based body of knowledge about the application of systematic reviews in software engineering. To address this need, we have started an empirical research program that aims to contribute to the growing body of knowledge about systematic reviews in software engineering. This paper reports the design, logistics, and results of the first phase empirical study carried out in this program. The results provide interesting insights into different aspects of systematic reviews based on the analysis of the data gathered from 17 interviewees with varying levels of knowledge of and experiences in systematic reviews. The findings from this study are expected to contribute to the existing knowledge about using systematic reviews and help further improve the state-of-the-practice of this research methodology in software engineering.
Muhammad Ali Babar 0001, He Zhang 0001
ESEM1
2009 How Can Agile Practices Minimize Global Software Development Co-ordination Risks?
Emam Hossain, Muhammad Ali Babar 0001, June M. Verner
EuroSPI2
2009 A Framework for Supporting the Software Architecture Evaluation Process in Global Software Development
abstract
Software Architecture (SA) evaluation process requires a large number of stakeholders to be collocated for evaluation sessions. Given the increasing trend of using globally distributed software development teams, organizations are likely to be discouraged from introducing disciplined architectural evaluation practices that require stakeholders to be collocated. To address this issue, we propose that SA evaluation can be carried out using suitable groupware systems. In this paper, we present a framework for supporting the SA evaluation process using groupware systems. The framework highlights the changes required in the existing SA evaluation processes. We provide an illustrated example of modeling and mapping the activities of the proposed process on electronic workspaces provided by a groupware system. We have also identified some of the features a groupware system should have to successfully support the process.
Muhammad Ali Babar 0001
ICGSE1
2009 Using Scrum in Global Software Development: A Systematic Literature Review
abstract
There is a growing interest in applying agile practices in global software development (GSD) projects. The literature on using Scrum, one of the most popular agile approaches, in distributed development projects has steadily been growing. However, there has not been any effort to systematically select, review, and synthesize the literature on this topic. We have conducted a systematic literature review of the primary studies that report using Scrum practices in GSD projects. Our search strategy identified 366 papers, of which 20 were identified as primary papers relevant to our research. We extracted data from these papers to identify various challenges of using Scrum in GSD. Current strategies to deal with the identified challenges have also been extracted. This paper presents the reviewpsilas findings that are expected to help researchers and practitioners to understand the challenges involved in using Scrum for GSD projects and the strategies available to deal with them.
Emam Hossain, Muhammad Ali Babar 0001, Hye-Young Paik
ICGSE2
2009 An Automated Tool for Generating UML Models from Natural Language Requirements
abstract
This paper describes a domain independent tool, named, UML Model Generator from Analysis of Requirements (UMGAR), which generates UML models like the Use-case Diagram, Analysis class model, Collaboration diagram and Design class model from natural language requirements using efficient Natural Language Processing (NLP) tools. UMGAR implements a set of syntactic reconstruction rules to process complex requirements into simple requirements. UMGAR also provides a generic XMI parser to generate XMI files for visualizing the generated models in any UML modeling tool. With respect to the existing tools in this area, UMGAR provides more comprehensive support for generating models with proper relationships, which can be used for large requirement documents.
Deva Kumar Deeptimahanti, Muhammad Ali Babar 0001
ASE2
2009 Towards a Framework for Using Agile Approaches in Global Software Development
Emam Hossain, Muhammad Ali Babar 0001, June M. Verner
PROFES2
2009 An industrial case of exploiting product line architectures in agile software development
Muhammad Ali Babar 0001, Tuomas Ihme, Minna Pikkarainen
SPLC1
2009 Variability management in software product lines: a systematic review
Lianping Chen, Muhammad Ali Babar 0001, Nour Ali
SPLC2
2009 Architecture-Centric Methods and Agile Approaches
Muhammad Ali Babar 0001, Pekka Abrahamsson
XP1
2009 Identifying high perceived value practices of CMMI level 2: An empirical study
Mahmood Niazi, Muhammad Ali Babar 0001
Inf. Softw. Technol.2
2009 Design decisions and design rationale in software architecture
Muhammad Ali Babar 0001, Patricia Lago
J. Syst. Softw.1
2008 Risks and Risk Management in Software Architecture Evolution: An Industrial Survey
abstract
The effort that has been made to study risk management in the context of software architecture and its evolution, has so far focused on output from structured evaluations. However, earlier research shows that formal, structured evaluation is not commonly used in industry. We have performed a survey among software architects, in order to capture a more complete picture of the risk and management issues in software architecture evolution. Our survey is specifically about their current knowledge of actual challenges they have anticipated and experienced, as well as strategies they have employed in response. We received completely filled questionnaires from 82 respondents out of a total distribution of 511 architects from the software industry in Norway. While many of the risks we have identified can be aligned with results from earlier studies, we have also identified several risks which appear not to fit these risk categories. Additionally, we found a direct link to business risks, as well as a relatively low level of awareness that lack of software architecture evaluation represents a potential risk.
Odd Petter N. Slyngstad, Reidar Conradi, Muhammad Ali Babar 0001, Viktor Clerc, Hans van Vliet
APSEC3
2008 A Model of Open Source Software-Based Product Line Development
abstract
Software product line (SPL) and open source software (OSS) have emerged as successful modes of developing software. There is an increased interest in developing suitable approaches for combining the promised advantages of SPL and OSS. Researchers and practitioners have been emphasizing the need of exploiting the ever growing repositories of OSS components for developing SPLs. However, there is no conceptual model for guiding the process of developing OSS-based SPLs. In this paper, we propose a model for developing software product line using open source software. This paper identifies and elaborates the essential phases and activities of the proposed model of developing OSS-based SPLs. This model emphasizes the vital role of software architecture and asserts that software architectures of OSS can be exploited to establish a SPL. To demonstrate this, we have evaluated Eclipse's architecture for its potential to support different flavors of a system.
Faheem Ahmed, Luiz Fernando Capretz, Muhammad Ali Babar 0001
COMPSAC3
2008 Message from the QACOS 2008 Workshop Organizers
abstract
Presents the introductory welcome message from the conference proceedings.
Muhammad Ali Babar 0001, Mari Tainlassi, Björn Lundell
COMPSAC1
2008 QACOS 2008 Workshop Organization
abstract
Provides a listing of current committee members and society officers.
Muhammad Ali Babar 0001, Mari Tainlassi, Björn Lundell
COMPSAC1
2008 Assessment of a Framework for Designing and Evaluating Security Sensitive Architecture
Muhammad Ali Babar 0001
EASE1
2008 Impact of Experience and Team Size on the Quality of Scenarios for Architecture Evaluation
Stefan Biffl, Muhammad Ali Babar 0001, Dietmar Winkler 0001
EASE2
2008 On the Role of Architectural Design Decisions in Software Product Line Engineering
Rafael Capilla, Muhammad Ali Babar 0001
ECSA2
2008 An industrial case study of architecture conformance
abstract
A software designer often has little control over, or means of checking, whether his design is being adhered to, once the implementation begins. This 'architectural drift', where the original design of the system and the as-implemented design of the system diverge, can cause serious problems for evolution, maintenance and the comprehensibility of a system if it remains undocumented or uncorrected. The earlier such discrepancies can be identified, the better.
Jacek Rosik, Andrew Le Gear, Jim Buckley, Muhammad Ali Babar 0001
ESEM4
2008 An empirical investigation of scenarios gained and lost in architecture evaluation meetings
abstract
Studying the effectiveness of scenario development meetings in the software architecture process is important to improve meeting effectiveness. This paper reports initial findings from analyzing the data collected in a controlled experiment aimed at studying the effectiveness of meetings in terms of gained and lost scenarios of individuals, real and nominal (non-communicating) teams. Our findings question the effectiveness of holding meetings since more important scenarios were lost than gained in these meetings. In the study nominal teams performed better than individuals and real teams.
Dietmar Winkler 0001, Stefan Biffl, Muhammad Ali Babar 0001
ESEM3
2008 Implementing Software Process Improvement Initiatives: An Analysis of Vietnamese Practitioners' Views
abstract
There is a vital need for gaining a solid understanding of different aspects of implementing SPI initiatives in organizations involved in software outsourcing and/or off-shoring, which are parts of Global Software Development (GSD) phenomenon. However, little attention has been paid to understand difficulties and challenges involved in implementing SPI programs in developing countries like Vietnam and Malaysia, which are emerging as key players in the context of GSD. This paper presents findings from an empirical study aimed at exploring practitioners' experiences and perceptions of different aspects of implementing SPI initiatives. Face-to-face meeting sessions were conducted with twenty-three software development practitioners from eight Vietnamese software development organisations, which were involved in software outsourcing contracts and had initiated SPI programs. The results provide interesting insights into different aspects of SPI initiatives. We expect that the findings can provide some advice to SPI practitioners on what needs to be addressed when developing SPI implementation initiatives in countries like Vietnam.
Muhammad Ali Babar 0001, Mahmood Niazi
ICGSE1
2008 Developing a Course on Designing Software in Globally Distributed Teams
abstract
Present-day software engineering combines technical and social skills, as well as collaboration among people with different backgrounds (e.g. due to global development and outsourcing). In this paper we address the problem of teaching "globally distributed development", and specifically software design. Our goal is to develop a joint Master course teaching software design in a global setting. To this end, we contribute with a list of characteristics to be developed, in the form of an 'orientation map' for educators. We use this map to build a joint course between two European universities.
Patricia Lago, Henry Muccini, Muhammad Ali Babar 0001
ICGSE3
2008 An Empirical Study Identifying High Perceived Value Practices of CMMI Level 2
Mahmood Niazi, Muhammad Ali Babar 0001, Suhaimi Ibrahim
PROFES2
2008 A Model for Requirements Change Management: Implementation of CMMI Level 2 Specific Practice
Mahmood Niazi, Charles Hickman, Rashid Ahmad 0001, Muhammad Ali Babar 0001
PROFES4
2008 Identifying and Understanding Architectural Risks in Software Evolution: An Empirical Study
Odd Petter N. Slyngstad, Jingyue Li, Reidar Conradi, Muhammad Ali Babar 0001
PROFES4
2008 The Second International Workshop on Management and Economics of Software Product Lines (MESPUL08)
abstract
Software Product Line Engineering is intimately connected with the need for optimizing the economic situation of an organization. The MESPUL workshop provides a forum for the exchange of practitioners and researchers on the economic dimension of software product lines like measurement, planning, or optimization of reuse potential.
Klaus Schmid, Muhammad Ali Babar 0001, Paul Grünbacher, Makoto Nonaka
SPLC2
2008 Architecture-Centric Methods and Agile Approaches
Muhammad Ali Babar 0001, Pekka Abrahamsson
XP1
2008 Comparing distributed and face-to-face meetings for software architecture evaluation: A controlled experiment
Muhammad Ali Babar 0001, Barbara A. Kitchenham, D. Ross Jeffery
Empir. Softw. Eng.1
2008 Evaluating guidelines for reporting empirical software engineering studies
Barbara A. Kitchenham, Hiyam Al-Kilidar, Muhammad Ali Babar 0001, Mike Berry, Karl Cox, Jacky W. Keung, Felicia Kurniawati, Mark Staples, He Zhang 0001, Liming Zhu 0001
Empir. Softw. Eng.3
2007 Evaluating Product Line Architectures: Methods and Techniques
abstract
Summary form only given. Good software architecture is one of the key factors in successfully developing and evolving a system or a family of systems. Software architecture provides the key framework for the earliest design decisions taken to achieve functional and quality requirements. In addition, it has a profound influence on project organizations' functioning and structure. Poor architecture usually results in project inefficiencies, poor communication, and poor decision making. Software architecture for a family of systems also helps identify the commonality among different systems and explicitly document variability. Since software architecture plays a significant role in the life of a system, it is important to evaluate a system's architecture as early as possible. Architecture evaluation is considered one of the most important and effective techniques of addressing quality related issues at the software architecture level and mitigating architectural risks. Moreover, architecture evaluation sessions are an effective means of sharing and capturing architecture design rationale, reasoning behind architecture design decisions. This tutorial highlights the benefits and challenges in evaluating software architectures. It discusses theoretical and practical concepts underpinning some of the well-known scenario-based architecture evaluation methods and various approaches to characterize quality attributes using scenarios. The use of the presented methods, techniques, and tools will be demonstrated with a case study based on an industrial project.
Muhammad Ali Babar 0001
APSEC1
2007 The First International Workshop on Management and Economics of Software Product Lines (MESPUL07)
abstract
The first international workshop on management and economics of software product lines will bring together researchers and practitioners from academia, industry and governments to report and discuss the challenges and opportunities of adopting and managing software product lines from managerial, organizational, and economics point of view.
Muhammad Ali Babar 0001, Makoto Nonaka
APSEC1
2007 Assessment of a Framework for Comparing Software Architecture Analysis Methods
Muhammad Ali Babar 0001, Barbara A. Kitchenham
EASE1
2007 Motivators of Software Process Improvement: An Analysis of Vietnamese Practitioners' Views
Mahmood Niazi, Muhammad Ali Babar 0001
EASE2
2007 The Impact of Group Size on Software Architecture Evaluation: A Controlled Experiment
abstract
An important element in scenario-based architecture evaluation is the development of scenario profiles by stakeholders working in groups. In practice groups can vary in size from 2 to 20 people. Currently, there is no empirical evidence about the impact of group size on the scenario development activity. Our experimental goal was to investigate the impact of group size on the quality of scenario profiles developed by different sizes of groups. We had 165 subjects, who were randomly assigned to 10 groups of size 3, 13 groups of size 5, and 10 groups of size 7. Participants were asked to develop scenario profiles. After the experiment each participant completed a questionnaire aimed at identifying their opinion of the group activity. The average quality score for group scenario profiles for 3 person groups was 362.4, for groups of 5 person groups was 534.23 and for 7 person groups was. 444.5. The quality of scenario profiles for groups of size 5 was significantly greater than the quality of scenario profiles for groups of size 3 (p=0.025), but there was no difference between the size 3 and size 7 groups. However, participants in groups of size 3 had a significantly better opinion of the group activity outcome and their personal interaction with their group than participants in groups of size 5 or 7. Our results suggest that the quality of the output from a group does not increase linearly with group size. However, individual participants prefer small groups. This means there is a trade-off between group output quality and the personal experience of group members.
Muhammad Ali Babar 0001, Barbara A. Kitchenham
ESEM1
2007 Evaluating the Usefulness and Ease of Use of a Groupware Tool for the Software Architecture Evaluation Process
abstract
We have developed a framework for groupware tool support for the software architecture evaluation process in the context of global software development. We have empirically assessed the effectiveness of the groupware-supported software architecture evaluation process in a set of controlled experiments. While we found that groupware-supported distributed meetings can be very effective, we saw the need to investigate users' acceptance of the tool used in these empirical studies. In this paper we report on the "perceived usefulness" and "ease of use" of the groupware tool based on the adapted Davis' technology acceptance model (TAM), a widely used general-purpose instrument for measuring users' attitude towards a particular technology. Main results from analyzing the TAM data are: a majority of the participants found the tool quite useful and easy to use for supporting collaborative tasks like architecture evaluation; a majority of the respondents was also very positive about the regular use of the tool for collaborative tasks in the future. However, there was considerably less support for preferring a distributed tool-based meeting to a face-to-face meeting.
Muhammad Ali Babar 0001, Dietmar Winkler 0001, Stefan Biffl
ESEM1
2007 De-motivators of Software Process Improvement: An Analysis of Vietnamese Practitioners' Views
Mahmood Niazi, Muhammad Ali Babar 0001
PROFES2
2007 Project Cost Overrun Simulation in Software Product Line Development
Makoto Nonaka, Liming Zhu 0001, Muhammad Ali Babar 0001, Mark Staples
PROFES3
2007 Architecture Knowledge Management: Concepts, Technologies, Challenges
abstract
Modern software systems are typically built by acquiring and integrating various components developed by commercial or open source entities, whose teams are commonly geographically distributed. Capturing the technical knowledge, contextual information, and rationale surrounding the design decisions underpinning the system architectures and software components can greatly improve the software development process. If not managed, this critical design knowledge is implicitly embedded in the architecture, becoming tacit knowledge which erodes as personnel on the project change. Moreover, the unavailability of architecture knowledge precludes organizations from growing their architectural capabilities.
Ian Gorton, Muhammad Ali Babar 0001
WICSA2
2007 Establishing and maintaining trust in software outsourcing relationships: An empirical investigation
Muhammad Ali Babar 0001, June M. Verner, Phong Thanh Nguyen
J. Syst. Softw.1
2006 Assessing the Value of Architectural Information Extracted from Patterns for Architecting
abstract
Background: We have developed an approach to identifying and capturing architecturally significant information from patterns (ASIP), which can be used to improve architecture design and evaluation. Goal: Our goal was to evaluate whether the use of the ASIP provides more effective support in understanding or designing software architecture composed of the software design patterns which are the source of the ASIP compared with the original design pattern documentation. Experimental design: Our subjects were 20 experienced software engineers who had returned to University for a post graduate course. All participants were taking a course in software architecture. The participants were randomly assigned to two groups of equal size. Both groups performed two tasks: understanding the use of J2EE design pattern in a given architecture based on the quality requirements the architecture was supported to satisfy, and designing software architecture to satisfy a given set of quality requirements using J2EE design patterns. For the first task, one group (treatment group) was given ASIP information the other (control group) was given the standard J2EE pattern documentation. For the second task, treatment group became the control group and vice versa and the type of support information was kept constant. The outcome variables were the number of correctly identified design patterns. The participants also completed a post-experiment questionnaire. Result: The average score for the first task for the treatment group was 23.90 and for the control group was 13.80. The difference between the groups was significant using Mann-Whiney test (p=0.0375). The average score for the second task for the treatment group was 26.85 and for the control group was 19.60. Mann-Whitney test revealed that the difference between the groups was again significant at (p=0.035). Post-study questionnaire revealed that 18 of the 20 participants believed that the ASIP was more helpful than pattern documentation for understanding and designing architectures. Conclusion: Our results support the hypotheses that ASIP information is more helpful in understanding or designing software architectures using software design patterns than pattern documentation itself.
Muhammad Ali Babar 0001, Barbara A. Kitchenham
EASE1
2006 Trust in Software Outsourcing Relationships: An Analysis of Vietnamese Practitioners' Views
abstract
Trust is considered one of the most important factors for successfully managing software outsourcing relationships. However, there is lack of research into factors that are considered important in establishing and maintaining trust between clients and vendors. The goal of this research is to gain an understanding of vendors’ perceptions of the importance of factors that are critical to the establishment and maintenance of trust in software outsourcing projects in Vietnam. We used a multiple case study methodology to guide our research and in-depth interviews to collect qualitative data. The participants of study were 12 Vietnamese software development practitioners drawn from 8 companies that have been developing software for off shore clients. Vendor companies identified that cultural understanding, creditability, capabilities, and personal visits are important factors in gaining the initial trust of a client, while cultural understanding, communication strategies, contract conformance, and timely delivery are vital factors in maintaining that trust. We also identify similarities and differences between Vietnamese and Indian practitioners’ views on factors affecting trust relationships.
Phong Thanh Nguyen, Muhammad Ali Babar 0001, June M. Verner
EASE2
2006 Towards a distributed software architecture evaluation process: a preliminary assessment
abstract
Scenario-based methods for evaluating software architecture require a large number of stakeholders to be collocated for evaluation sessions. Collocating stakeholders is often an expensive exercise. We have proposed a framework for distributed evaluation process. We present the proposed framework and initial results of a controlled experiment that we ran to assess the effectiveness of the proposed idea.
Muhammad Ali Babar 0001, Barbara A. Kitchenham, Ian Gorton
ICSE1
2006 Critical factors in establishing and maintaining trust in software outsourcing relationships
abstract
Trust is considered one of the most important factors for successfully managing software outsourcing relationships. However, there is lack of research into understanding the factors that are considered important in establishing and maintaining trust between clients and vendors. The goal of this research is to gain an understanding of software outsourcing vendors' perceptions of the importance of factors that are critical to the establishment and maintenance of trust in software outsourcing projects in Vietnam. We used a multiple case study design to guide our research and in-depth interviews to collect qualitative data from 12 Vietnamese software development practitioners drawn from 8 companies that have been developing software for Far Eastern, European, and American clients. Vendor companies identified that cultural understanding, creditability, capabilities, and personal visits are important factors in gaining the initial trust of a client, while cultural understanding, communication strategies, contract conformance, and timely delivery are vital factors in maintaining that trust.
Phong Thanh Nguyen, Muhammad Ali Babar 0001, June M. Verner
ICSE2
2006 An empirical study of groupware support for distributed software architecture evaluation process
abstract
Software architecture evaluation is an effective means of addressing quality related issues early in the software development lifecycle. Scenario-based approaches to evaluate architecture usually involve a large number of stakeholders, who need to be collocated for face-to-face evaluation meetings. Collocating a large number of stakeholders is an expensive and time-consuming exercise, which may prove to be a hurdle in the wide-spread adoption of disciplined architectural evaluation practices. Drawing upon the successful introduction of groupware applications to support geographically distributed teams in software inspection, and requirements engineering disciplines, we propose the concept of distributed architectural evaluation using Internet-based collaborative technologies. This paper presents a pilot study used to assess the viability of a larger experiment intended to investigate the feasibility of groupware support for distributed software architecture evaluation. In addition, the results of the pilot study provide some preliminary findings on the viability of groupware-supported software architectural evaluation process.
Muhammad Ali Babar 0001, Barbara A. Kitchenham, Liming Zhu 0001, Ian Gorton, D. Ross Jeffery
J. Syst. Softw.1
2006 A survey of architecture design rationale
Antony Tang, Muhammad Ali Babar 0001, Ian Gorton, Jun Han 0004
J. Syst. Softw.2
2005 A quality-driven systematic approach for architecting distributed software applications
abstract
Architecting distributed software applications is a complex design activity. It involves making decisions about a number of inter-dependent design choices that relate to a range of design concerns. Each decision requires selecting among a number of alternatives; each of which impacts differently on various quality attributes. Additionally, there are usually a number of stakeholders participating in the decision-making process with different, often conflicting, quality goals, and project constraints, such as cost and schedule. To facilitate the architectural design process, we propose a quantitative quality-driven approach that attempts to find the best possible fit between conflicting stakeholders' quality goals, competing architectural concerns, and project constraints. The approach uses optimization techniques to recommend the optimal candidate architecture. Applicability of the proposed approach is assessed using a real system.
Tariq Al-Naeem, Ian Gorton, Muhammad Ali Babar 0001, Fethi A. Rabhi, Boualem Benatallah
ICSE3
2005 Assessing a Framework of Comparing Architecture Review Methods Using CMMI
Muhammad Ali Babar 0001, Mahmood Niazi, D. Ross Jeffery
SEKE1
2005 A Survey of the Use and Documentation of Architecture Design Rationale
abstract
Many claims have been made about the problems caused by not documenting design rationale. The general perception is that designers and architects usually do not fully understand the critical role of systematic use and capture of design rationale. However, there is to date little empirical evidence available on what design rationale mean to practitioners, how valuable they consider them, and how they use and document design rationale during the design process. This paper reports an empirical study that surveyed practitioners to probe their perception of the value of design rationale and how they use and document background knowledge related to their design decisions. Based on eighty-one valid responses, this study has discovered that practitioners recognize the importance of documenting design rationale and frequently use them to reason about their design choices. However, they have indicated barriers to the use and documentation of design rationale. Based on the findings, we conclude that much research is needed to develop methodology and tool support for design rationale capture and usage. Furthermore, we put forward some research questions that would benefit from further investigation into design rationale in order to support practice in industry.
Antony Tang, Muhammad Ali Babar 0001, Ian Gorton, Jun Han 0004
WICSA2
2004 Scenarios, Quality Attributes, and Patterns: Capturing and Using their Synergistic Relationships for Product Line Architectures
abstract
Typically, architectural choices determine the achievement of desired goals (such as reusability and maintainability) of product line software development. Several methods have been proposed to design and analyze product line architectures with respect to desired quality attributes. Most of these methods encourage the use of architectural patterns to develop architectures with known characteristics and apply scenarios to evaluate those architectures for desired quality attributes. We observe an increased awareness of the links that exist among scenarios, quality attributes, and patterns. However, there are very few attempts to systematically capture and suitably document such synergistic relationships to support architecture design and evaluation. This paper presents our thoughts on exploiting the above-mentioned synergy. It also proposes some techniques of improving the product line architecture design and evaluation process by identifying and capturing architecturally significant information from architectural patterns.
Muhammad Ali Babar 0001
APSEC1
2004 Comparison of Scenario-Based Software Architecture Evaluation Methods
abstract
Software engineering community has proposed several methods to evaluate software architectures with respect to desired quality attributes such as maintainability, performance, and so on. There is, however, little effort on systematically comparing such methods to discover similarities and differences between existing approaches. In this paper, we compare four well known scenario-based SA evaluation methods using an evaluation framework. The framework considers each method from the point of view of method context, stakeholders, structure, and reliability. The comparison reveals that most of the studied methods are structurally similar but there are a number of differences among their activities and techniques. Therefore, some methods overlap, which guides us to identify five common activities that can form a generic process model.
Muhammad Ali Babar 0001, Ian Gorton
APSEC1
2004 An Exploratory Study of Groupware Support for Distributed Software Architecture Evaluation Process
Muhammad Ali Babar 0001, Barbara A. Kitchenham, Liming Zhu 0001, D. Ross Jeffery
APSEC1
2004 Software Quality and Agile Method
abstract
Agile methods may produce software faster but we also need to know how they meet our quality requirements. In this paper we compare the waterfall model with agile processes to show how agile methods achieve software quality under time pressure and in an unstable requirements environment, i.e. we analyze agile software quality assurance. We present a detailed waterfall model showing its software quality support processes. We then show the quality practices that agile methods have integrated into their processes. This allows us to answer the question "can agile methods ensure quality even though they develop software faster and can handle unstable requirements?".
Ming Huo, June M. Verner, Liming Zhu 0001, Muhammad Ali Babar 0001
COMPSAC4
2004 Mining Patterns to Support Software Architecture Evaluation
abstract
In this paper, we present an approach to improve the software architecture evaluation process by systematically extracting and appropriately documenting architecturally significant information from software architecture and design patterns; we are interested in only two pieces of information found in software patterns: general scenarios and architectural tactics. General scenarios distilled from patterns not only assist stakeholders in developing concrete scenarios during a scenario-based architecture evaluation, but can also help an architect select and calibrate a quality attribute reasoning framework. Architectural tactics in patterns are used as a means of manipulating independent parameters in the reasoning framework to achieve the desired quality. Moreover, we believe if we use general scenarios and tactics extracted from patterns in an architectural evaluation, the results of that evaluation can be used as an evidence to validate the pattern's claim with respect to the quality attributes. We demonstrate our approach by using EJB architecture usage patterns. We contend that this approach can be used to analyze and validate any architecture pattern.
Liming Zhu 0001, Muhammad Ali Babar 0001, D. Ross Jeffery
WICSA2
2003 An Experience of Applying Architecture-based Approach to Build a Component-based Requirements Management Toolset
abstract
It has been advocated and shown that software architecture can be an effective tool to reduce development cost and increase the quality of the end product. Rigorous efforts invested in architectural design and evaluation activities results in increased comprehension of the system, better communication among stakeholders, effective project management, controlled evolution, and rapid development. This paper presents our experience of applying an architecture-based approach to develop an integrated requirements management toolset, PARSNIP (PARsed Natural language Input Processor). We also report the integration issues peculiar to our project, our approach to address them and rational for our architectural and integration decisions.
Muhammad Ali Babar 0001
COMPSAC1