Muhammad Ilyas Azeem

dblp:152/5409 · DBLP profile ↗
← Back
8ranked-venue papers
7as first author
3since 2021 · last 2024
0000-0002-0639-0359ORCID · corroborated

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

Software engineering, systems software and programming languages · 7 · 6 first-author · 3 since 2021Artificial intelligence and machine learning · 1 · 1 first-authorApplied, interdisciplinary, general and emerging computing · 1 · 1 first-author
YearPublicationVenuePosition
2024 A Multi-solution Study on GDPR AI-enabled Completeness Checking of DPAs
abstract
Abstract Specifying legal requirements for software systems to ensure their compliance with the applicable regulations is a major concern of requirements engineering. Personal data which is collected by an organization is often shared with other organizations to perform certain processing activities. In such cases, the General Data Protection Regulation (GDPR) requires issuing a data processing agreement (DPA) which regulates the processing and further ensures that personal data remains protected. Violating GDPR can lead to huge fines reaching to billions of Euros. Software systems involving personal data processing must adhere to the legal obligations stipulated both at a general level in GDPR as well as the obligations outlined in DPAs highlighting specific business. In other words, a DPA is yet another source from which requirements engineers can elicit legal requirements. However, the DPA must be complete according to GDPR to ensure that the elicited requirements cover the complete set of obligations. Therefore, checking the completeness of DPAs is a prerequisite step towards developing a compliant system. Analyzing DPAs with respect to GDPR entirely manually is time consuming and requires adequate legal expertise. In this paper, we propose an automation strategy that addresses the completeness checking of DPAs against GDPR provisions as a text classification problem. Specifically, we pursue ten alternative solutions which are enabled by different technologies, namely traditional machine learning, deep learning, language modeling, and few-shot learning. The goal of our work is to empirically examine how these different technologies fare in the legal domain. We computed F $$_2$$ 2 score on a set of 30 real DPAs. Our evaluation shows that best-performing solutions yield F $$_2$$ 2 score of 86.7% and 89.7% are based on pre-trained BERT and RoBERTa language models. Our analysis further shows that other alternative solutions based on deep learning (e.g., BiLSTM) and few-shot learning (e.g., SetFit) can achieve comparable accuracy, yet are more efficient to develop.
Muhammad Ilyas Azeem, Sallam Abualhaija
Empir. Softw. Eng.1
2024 Code smells in pull requests: An exploratory study
abstract
Abstract The quality of a pull request is the primary factor integrators consider for its acceptance or rejection. Code smells indicate sub‐optimal design or implementation choices in the source code that often lead to a fault‐prone outcome, threatening the quality of pull requests. This study explores code smells in 21k pull requests from 25 popular Java projects. We find that both accepted (37%) and rejected (44%) pull requests have code smells, affected mainly by god classes and long methods. Besides, we observe that smelly pull requests are more complex and challenging to understand as they have significantly large sizes, long latency times, more discussion and review comments, and are submitted by contributors with less experience. Our results show that features used in previous studies for pull request acceptance prediction could be potentially employed to predict smell in incoming pull requests. We propose a dynamic approach to predict the presence of such code smells in the newly added pull requests. We evaluate our approach on a dataset of 25 Java projects extracted from GitHub. We further conduct a benchmark study to compare the performance of eight machine learning classifiers. Results of the benchmark study show that XGBoost is the best‐performing classifier for smell prediction.
Muhammad Ilyas Azeem, Saad Shafiq, Atif Mashkoor, Alexander Egyed
Softw. Pract. Exp.1
2023 NLP-Based Automated Compliance Checking of Data Processing Agreements Against GDPR
abstract
When the entity processing personal data (the processor) differs from the one collecting personal data (the controller), processing personal data is regulated in Europe by the General Data Protection Regulation (GDPR) throughdata processing agreements (DPAs). Checking the compliance of DPAs contributes to the compliance verification of software systems as DPAs are an important source of requirements for software development involving the processing of personal data. However, manually checking whether a given DPA complies with GDPR is challenging as it requires significant time and effort for understanding and identifying DPA-relevant compliance requirements in GDPR and then verifying these requirements in the DPA. Legal texts introduce additional complexity due to convoluted language and inherent ambiguity leading to potential misunderstandings. In this paper, we propose an automated solution to check the compliance of a given DPA against GDPR. In close interaction with legal experts, we first built two artifacts: (i) the “shall” requirements extracted from the GDPR provisions relevant to DPA compliance and (ii) a glossary table defining the legal concepts in the requirements. Then, we developed an automated solution that leverages natural language processing (NLP) technologies to check the compliance of a given DPA against these “shall” requirements. Specifically, our approach automatically generates phrasal-level representations for the textual content of the DPA and compares them against predefined representations of the “shall” requirements. By comparing these two representations, the approach not only assesses whether the DPA is GDPR compliant but it further provides recommendations about missing information in the DPA. Over a dataset of 30 actual DPAs, the approach correctly finds 618 out of 750 genuine violations while raising 76 false violations, and further correctly identifies 524 satisfied requirements. The approach has thus an average precision of 89.1%, a recall of 82.4%, and an accuracy of 84.6%. Compared to a baseline that relies on off-the-shelf NLP tools, our approach provides an average accuracy gain of$\approx$20 percentage points. The accuracy of our approach can be improved to$\approx$94% with limited manual verification effort.
Orlando Amaral, Muhammad Ilyas Azeem, Sallam Abualhaija, Lionel C. Briand
IEEE Trans. Software Eng.2
2020 Action-based Recommendation in Pull-request Development
abstract
Pull requests (PRs) selection is a challenging task faced by integrators in pull-based development (PbD), with hundreds of PRs submitted on a daily basis to large open-source projects. Managing these PRs manually consumes integrators' time and resources and may lead to delays in the acceptance, response, or rejection of PRs that can propose bug fixes or feature enhancements. On the one hand, well-known platforms for performing PbD, like GitHub, do not provide built-in recommendation mechanisms for facilitating the management of PRs. On the other hand, prior research on PRs recommendation has focused on the likelihood of either a PR being accepted or receive a response by the integrator. In this paper, we consider both those likelihoods, this to help integrators in the PRs selection process by suggesting to them the appropriate actions to undertake on each specific PR. To this aim, we propose an approach, called CARTESIAN (aCceptance And Response classificaTion-based requESt IdentificAtioN) modeling the PRs recommendation according to PR actions. In particular, CARTESIAN is able to recommend three types of PR actions: accept, respond, and reject. We evaluated CARTESIAN on the PRs of 19 popular GitHub projects. The results of our study demonstrate that our approach can identify PR actions with an average precision and recall of about 86%. Moreover, our findings also highlight that CARTESIAN outperforms the results of two baseline approaches in the task of PRs selection.
Muhammad Ilyas Azeem, Sebastiano Panichella, Andrea Di Sorbo, Alexander Serebrenik, Qing Wang 0001
ICSSP1
2020 Pull Request Prioritization Algorithm based on Acceptance and Response Probability
abstract
Pull requests (PRs) prioritization is one of the main challenges faced by integrators in pull-based development. This is especially true for large open-source projects where hundreds of pull requests are submitted daily. Indeed, managing these pull requests manually consumes time and resources and may lead to delays in the reaction (i.e., acceptance or response) to enhancements or bug fixes suggested in the codebase by contributors. We propose an approach, called AR-Prioritizer (Acceptance and Response based Prioritizer), integrating a PRs prioritization mechanism that considers these two aspects. The results of our study demonstrate that our approach can recommend top@5, top@10, and top@20 most likely to be accepted and responded pull requests with Mean Average Precision of 95.3%, 89.6%, and 79.6% and Average Recall of 40%, 65.7%, and 92.9%. Moreover, AR-Prioritizer has outperformed the baseline models with a statistical significance in prioritizing the most likely to be accepted and responded to PRs.
Muhammad Ilyas Azeem, Qiang Peng, Qing Wang 0001
QRS1
2019 Machine learning techniques for code smell detection: A systematic literature review and meta-analysis
Muhammad Ilyas Azeem, Fabio Palomba, Lin Shi 0006, Qing Wang 0001
Inf. Softw. Technol.1
2016 Practices for software integration success factors in GSD environment
abstract
The use and size of software are both growing, due to the advances in ICTs, resulting in increased software complexity. The software vendors overcome this complexity by decomposing the product into different components and then these components are developed in-house, outsourced or purchased as off the shelf (OTS) components. The next step is to integrate these components into a final product. In our previous work we identified, through systematic literature review (SLR), a list of nine critical success factors (CSFs) for global software development (GSD) vendors in the software integration process. In order to implement the identified CSFs by GSD vendors, we conducted another SLR study and identified a total of 116 practices/solutions. These practices will assist GSD vendors in the implementation of the identified CSFs in order to overcome the complexity of the integration process in GSD projects.
Muhammad Ilyas Azeem, Siffat Ullah Khan
ICIS1
2015 Software integration in global software development: Success factors for GSD vendors
abstract
Global software development (GSD) is in a booming stage from the last decade with the advances in information and communication technologies (ICTs). Despite of the benefits gained from GSD, the developer organizations still face a lot of difficulties in integrating the software components, developed by various GSD teams, into a final product. The objective of the study presented in this paper is to find out critical success factors (CSFs) for vendors that can play a positive role at any stage of the software integration process. To achieve the purpose we conducted a systematic literature review (SLR) for the identifications of the factors that can be adapted to assist the integration process at various stages i.e. before integration, during integration and after the integration. We have found a total of fourteen success factors among which nine factors are ranked as CSFs. Some of the top ranked CSFs are “Consistency in Requirements and Architecture Design”, “Intra and inter team Communication and Coordination” and “Component/Unit Testing prior to integration”.
Muhammad Ilyas Azeem, Siffat Ullah Khan
SNPD1