Aakash Ahmad

dblp:09/9384 · DBLP profile ↗
← Back
32ranked-venue papers
6as first author
25since 2021 · last 2026
0000-0002-3198-9638ORCID · verified

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

Software engineering, systems software and programming languages · 24 · 4 first-author · 20 since 2021Applied, interdisciplinary, general and emerging computing · 3 · 1 first-author · 2 since 2021Computer networks · 2 · 1 first-author · 2 since 2021Human-computer interaction and ubiquitous computing · 2 · 1 since 2021Artificial intelligence and machine learning · 1 · 1 since 2021Systems, architecture and hardware · 1
YearPublicationVenuePosition
2026 An exploratory study on effectiveness of GPT-4o in conducting sub-tasks of systematic literature reviews
Mohammad Shameem, Mohammad R. Alshayeb, Mahmood Niazi, Sajjad Mahmood, Aakash Ahmad, Jehad Al Dallal
Autom. Softw. Eng.5
2026 Understanding the issues, their causes and solutions in microservices systems: An empirical study
Muhammad Waseem 0011, Peng Liang 0001, Aakash Ahmad, Arif Ali Khan, Mojtaba Shahin, Ali Rezaei Nasab, Tommi Mikkonen, Pekka Abrahamsson
J. Syst. Softw.3
2025 QADL: Prototype of Quantum Architecture Description Language
Muhammad Waseem 0011, Aakash Ahmad, Tommi Mikkonen, Muhammad Taimoor Khan 0001, Majid Haghparast, Vlad Stirbu, Peng Liang 0001
EASE2
2025 Architecture decisions in quantum software systems: An empirical study on Stack Exchange and GitHub
Mst Shamima Aktar, Peng Liang 0001, Muhammad Waseem 0011, Amjed Tahir, Aakash Ahmad, Beiqi Zhang, Zengyang Li
Inf. Softw. Technol.5
2025 An exploration study on developing blockchain systems-the practitioners' perspective
Bakheet Aljedaani, Aakash Ahmad, Mahdi Fehmideh, Arif Ali Khan, Jun Shen 0001
Inf. Softw. Technol.2
2025 Containerization in multi-cloud environment: Roles, strategies, challenges, and solutions for effective implementation
abstract
Containerization in multi-cloud environments has received significant attention in recent years both from academic research and industrial development perspectives. However, there exists no effort to systematically investigate the state of research on this topic. The aim of this research is to systematically identify and categorize the multiple aspects of containerization in multi-cloud environment. We conducted the Systematic Mapping Study (SMS) on the literature published between January 2013 and July 2024. One hundred twenty one studies were selected and the key results are: (1) Four leading themes on containerization in multi-cloud environment are identified: ‘Scalability and High Availability’, ‘Performance and Optimization’, ‘Security and Privacy’, and ‘Multi-Cloud Container Monitoring and Adaptation’. (2) Ninety-eight patterns and strategies for containerization in multi-cloud environment were classified across 10 subcategories and 4 categories. (3) Ten quality attributes considered were identified with 47 associated tactics. (4) Four catalogs consisting of challenges and solutions related to security, automation, deployment, and monitoring were introduced. The results of this SMS will assist researchers and practitioners in pursuing further studies on containerization in multi-cloud environment and developing specialized solutions for containerization applications in multi-cloud environment.
Muhammad Waseem 0011, Aakash Ahmad, Peng Liang 0001, Muhammad Azeem Akbar, Arif Ali Khan, Manu Setälä, Tommi Mikkonen
J. Syst. Softw.2
2025 Exploring the problems, their causes and solutions of AI pair programming: A study on GitHub and Stack Overflow
Xiyu Zhou, Peng Liang 0001, Beiqi Zhang, Zengyang Li, Aakash Ahmad, Mojtaba Shahin, Muhammad Waseem 0011
J. Syst. Softw.5
2025 A Framework for Blockchain-based Secure Management of Mobile Healthcare (mHealth) Systems
abstract
In recent years, several research and development initiatives have focused on developing secure and trustworthy systems for the healthcare industry via pervasive and mobile healthcare (mHealth) solutions. State-of-the-art mHealth solutions primarily rely on centralized storage, such as cloud computing servers, which may escalate the maintenance costs, require ever-increasing storage infrastructure, and pose privacy and security risks to the health-critical data produced, consumed, and transmitted over ad hoc networks. To overcome these limitations, we conducted this study intending to synergize mobile computing (devices to process health-critical data) and blockchain technology (infrastructure to secure storage and retrieval of health-critical data), specifically addressing data security and privacy using a blockchain mHealth system. The research employs an incremental method by (i) developing a framework that acts as a blueprint to architect blockchain-enabled mHealth systems, (ii) implementing a suite of algorithms as a proof-of-concept to automate the framework, and (iii) experimental evaluations to validate the scalability, computation, and energy efficiency of the proposed solution. The proposed framework has been implemented as a frontend using a mobile application interface that exploits the backend via the InterPlanetary File System (IPFS) system and Ethereum blockchain for secure management of mHealth data. We use a case-study-based approach demonstrating how health units, medics, and patients can securely access and distribute health-critical data. For evaluation, we deployed a smart contract prototype on the Ethereum TESTNET network in a Windows environment to test the proposed framework. Results of the evaluation indicate (a) scalability with query response time (range: 10–41 ms), (b) computational performance (CPU utilization: 1.5% – 2.5%), and (c) energy efficiency (gas consumption: 40000 units for 1000 bytes). The proposed solution – framework, algorithms, and experimental evaluation – aims to advance state-of-the-art architecting and implementing cybersecurity mHealth solutions using blockchain technology.
Adel Alkhalil, Aakash Ahmad, Magdy Abdelrhman, Yaser Mohammed Altameemi, Mohammed Altamimi, Tao Zhang 0089
J. Web Eng.3
2024 Issues and Their Causes in WebAssembly Applications: An Empirical Study
abstract
WebAssembly (Wasm) is a binary instruction format designed for secure and efficient execution within sandboxed environments - predominantly web apps and browsers - to facilitate performance, security, and flexibility of web programming languages. In recent years, Wasm has gained significant attention from the academic research community and industrial development projects to engineer high-performance web applications. Despite the offered benefits, developers encounter a multitude of issues rooted in Wasm (e.g., faults, errors, failures) and are often unaware of their root causes that impact the development of web applications. To this end, we conducted an empirical study that mines and documents practitioners’ knowledge expressed as 385 issues from 12 open-source Wasm projects deployed on GitHub and 354 question-answer posts via Stack Overflow. Overall, we identified 120 types of issues, which were categorized into 19 subcategories and 9 categories to create a taxonomical classification of issues encountered in Wasm-based applications. Furthermore, root cause analysis of the issues helped us identify 278 types of causes, which have been categorized into 29 subcategories and 10 categories as a taxonomy of causes. Our study led to first-of-its-kind taxonomies of the issues faced by developers and their underlying causes in Wasm-based applications. The issue-cause taxonomies - identified from GitHub and SO, offering empirically derived guidelines - can guide researchers and practitioners to design, develop, and refactor Wasm-based applications.
Muhammad Waseem 0011, Teerath Das, Aakash Ahmad, Peng Liang 0001, Tommi Mikkonen
EASE3
2024 ChatGPT as a Software Development Bot: A Project-Based Study
abstract
Artificial Intelligence has demonstrated its significance in software engineering through notable improvements in productivity, accuracy, collaboration, and learning outcomes.This study examines the impact of generative AI tools, specifically ChatGPT, on the software development experiences of undergraduate students. Over a three-month project with seven students, ChatGPT was used as a support tool. The research focused on assessing ChatGPT’s effectiveness, benefits, limitations, and its influence on learning. Results showed that ChatGPT significantly addresses skill gaps in software development education, enhancing efficiency, accuracy, and collaboration. It also improved participants’ fundamental understanding and soft skills. The study highlights the importance of incorporating AI tools like ChatGPT in education to bridge skill gaps and increase productivity, but stresses the need for a balanced approach to technology use. Future research should focus on optimizing ChatGPT’s appli cation in various development contexts to maximize learning and address specific challenges.
Muhammad Waseem 0011, Teerath Das, Aakash Ahmad, Peng Liang 0001, Mahdi Fahmideh, Tommi Mikkonen
ENASE3
2024 Advancing database security: a comprehensive systematic mapping study of potential challenges
abstract
Abstract The value of data to a company means that it must be protected. When it comes to safeguarding their local and worldwide databases, businesses face a number of challenges. To systematically review the literature to highlight the difficulties in establishing, implementing, and maintaining secure databases. In order to better understand database system problems, we did a systematic mapping study (SMS). We’ve analyzed 100 research publications from different digital libraries and found 20 issues after adopting inclusion and exclusion criteria. This SMS study aimed to identify the most up-to-date research in database security and the different challenges faced by users/clients using various databases from a software engineering perspective. In total, 20 challenges were identified related to database security. Our results show that “weak authorization system”, “weak access control”, “privacy issues/data leakage”, “lack of NOP security”, and “database attacks” as the most frequently cited critical challenges. Further analyses were performed to show different challenges with respect to different phases of the software development lifecycle, venue of publications, types of database attacks, and active research institutes/universities researching database security. The organizations should implement adequate mitigation strategies to address the identified database challenges. This research will also provide a direction for new research in this area.
Siffat Ullah Khan, Mahmood Khan Niazi, Mamoona Humayun, Najm Us Sama, Arif Ali Khan, Aakash Ahmad
Wirel. Networks7
2023 Towards Human-Bot Collaborative Software Architecting with ChatGPT
abstract
Architecting software-intensive systems can be a complex process. It deals with the daunting tasks of unifying stakeholders’ perspectives, designers’ intellect, tool-based automation, pattern-driven reuse, and so on, to sketch a blueprint that guides software implementation and evaluation. Despite its benefits, architecture-centric software engineering (ACSE) suffers from a multitude of challenges. ACSE challenges could stem from a lack of standardized processes, socio-technical limitations, and scarcity of human expertise etc. that can impede the development of existing and emergent classes of software. Software Development Bots (DevBots) trained on large language models can help synergise architects’ knowledge with artificially intelligent decision support to enable rapid architecting in a human-bot collaborative ACSE. An emerging solution to enable this collaboration is ChatGPT, a disruptive technology not primarily introduced for software engineering, but is capable of articulating and refining architectural artifacts based on natural language processing. We detail a case study that involves collaboration between a novice software architect and ChatGPT to architect a service-based software. Future research focuses on harnessing empirical evidence about architects’ productivity and explores socio-technical aspects of architecting with ChatGPT to tackle challenges of ACSE.
Aakash Ahmad, Muhammad Waseem 0011, Peng Liang 0001, Mahdi Fahmideh, Mst Shamima Aktar, Tommi Mikkonen
EASE1
2023 Practices and Challenges of Using GitHub Copilot: An Empirical Study
abstract
With the advances in machine learning, there is a growing interest in AI-enabled tools for autocompleting source code.GitHub Copilot, also referred to as the "AI Pair Programmer", has been trained on billions of lines of open source GitHub code, and is one of such tools that has been increasingly used since its launch in June 2021.However, little effort has been devoted to understanding the practices and challenges of using Copilot in programming with auto-completed source code.To this end, we conducted an empirical study by collecting and analyzing the data from Stack Overflow (SO) and GitHub Discussions.More specifically, we searched and manually collected 169 SO posts and 655 GitHub discussions related to the usage of Copilot.We identified the programming languages, IDEs, technologies used with Copilot, functions implemented, benefits, limitations, and challenges when using Copilot.The results show that when practitioners use Copilot: (1) The major programming languages used with Copilot are JavaScript and Python, (2) the main IDE used with Copilot is Visual Studio Code, (3) the most common used technology with Copilot is Node.js,(4) the leading function implemented by Copilot is data processing, (5) the significant benefit of using Copilot is useful code generation, and (6) the main limitation encountered by practitioners when using Copilot is difficulty of integration.Our results suggest that using Copilot is like a double-edged sword, which requires developers to carefully consider various aspects when deciding whether or not to use it.Our study provides empirically grounded foundations and basis for future research on the role of Copilot as an AI pair programmer in software development.
Beiqi Zhang, Peng Liang 0001, Xiyu Zhou, Aakash Ahmad, Muhammad Waseem 0011
SEKE4
2023 Demystifying Practices, Challenges and Expected Features of Using GitHub Copilot
abstract
With the advances in machine learning, there is a growing interest in AI-enabled tools for autocompleting source code. GitHub Copilot, also referred to as the “AI Pair Programmer”, has been trained on billions of lines of open source GitHub code, and is one of such tools that has been increasingly used since its launch in June 2021. However, little effort has been devoted to understanding the practices, challenges, and expected features of using Copilot in programming for auto-completed source code from the point of view of practitioners. To this end, we conducted an empirical study by collecting and analyzing the data from Stack Overflow (SO) and GitHub Discussions. More specifically, we searched and manually collected 303 SO posts and 927 GitHub discussions related to the usage of Copilot. We identified the programming languages, Integrated Development Environments (IDEs), technologies used with Copilot, functions implemented, benefits, limitations, and challenges when using Copilot. The results show that when practitioners use Copilot: (1) The major programming languages used with Copilot are JavaScript and Python, (2) the main IDE used with Copilot is Visual Studio Code, (3) the most common used technology with Copilot is Node.js, (4) the leading function implemented by Copilot is data processing, (5) the main purpose of users using Copilot is to help generate code, (6) the significant benefit of using Copilot is useful code generation, (7) the main limitation encountered by practitioners when using Copilot is difficulty of integration, and (8) the most common expected feature is that Copilot can be integrated with more IDEs. Our results suggest that using Copilot is like a double-edged sword, which requires developers to carefully consider various aspects when deciding whether or not to use it. Our study provides empirically grounded foundations that could inform software developers and practitioners, as well as provide a basis for future investigations on the role of Copilot as an AI pair programmer in software development.
Beiqi Zhang, Peng Liang 0001, Xiyu Zhou, Aakash Ahmad, Muhammad Waseem 0011
Int. J. Softw. Eng. Knowl. Eng.4
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.2
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.2
2023 Software architecture for quantum computing systems - A systematic review
abstract
Quantum computing systems rely on the principles of quantum mechanics to perform a multitude of computationally challenging tasks more efficiently than their classical counterparts. The architecture of software-intensive systems can empower architects who can leverage architecture-centric processes, practices, description languages to model, develop, and evolve quantum computing software (quantum software for short) at higher abstraction levels. We conducted a Systematic Literature Review (SLR) to investigate (i) architectural process, (ii) modelling notations, (iii) architecture design patterns, (iv) tool support, and (iv) challenging factors for quantum software architecture. Results of the SLR indicate that quantum software represents a new genre of software-intensive systems; however, existing processes and notations can be tailored to derive the architecting activities and develop modelling languages for quantum software. Quantum bits (Qubits) mapped to Quantum gates (Qugates) can be represented as architectural components and connectors that implement quantum software. Tool-chains can incorporate reusable knowledge and human roles (e.g., quantum domain engineers, quantum code developers) to automate and customise the architectural process. Results of this SLR can facilitate researchers and practitioners to develop new hypotheses to be tested, derive reference architectures, and leverage architecture-centric principles and practices to engineer emerging and next generations of quantum software.
Arif Ali Khan, Aakash Ahmad, Muhammad Waseem 0011, Peng Liang 0001, Mahdi Fahmideh, Tommi Mikkonen, Pekka Abrahamsson
J. Syst. Softw.2
2023 Adaptive Security for Self-Protection of Mobile Computing Devices
Aakash Ahmad, Asad Waqar Malik, Abdulrahman A. Alshdadi, Wilayat Khan, Maryam Sajjad
Mob. Networks Appl.1
2023 AI Ethics: An Empirical Study on the Views of Practitioners and Lawmakers
abstract
Artificial intelligence (AI) solutions and technologies are being increasingly adopted in smart systems contexts; however, such technologies are concerned with ethical uncertainties. Various guidelines, principles, and regulatory frameworks are designed to ensure that AI technologies adhere to ethical well-being. However, the implications of AI ethics principles and guidelines are still being debated. To further explore the significance of AI ethics principles and relevant challenges, we conducted a survey of 99 randomly selected representative AI practitioners and lawmakers (e.g., AI engineers and lawyers) from 20 countries across five continents. To the best of our knowledge, this is the first empirical study that unveils the perceptions of two different types of population (AI practitioners and lawmakers) and the study findings confirm that transparency, accountability, and privacy are the most critical AI ethics principles. On the other hand, lack of ethical knowledge, no legal frameworks, and lacking monitoring bodies are found to be the most common AI ethics challenges. The impact analysis of the challenges across principles reveals that conflict in practice is a highly severe challenge. Moreover, the perceptions of practitioners and lawmakers are statistically correlated with significant differences for particular principles (e.g. fairness and freedom) and challenges (e.g. lacking monitoring bodies and machine distortion). Our findings stimulate further research, particularly empowering existing capability maturity models to support ethics-aware AI systems’ development and quality assessment.
Arif Ali Khan, Muhammad Azeem Akbar, Mahdi Fahmideh, Peng Liang 0001, Muhammad Waseem 0011, Aakash Ahmad, Mahmood Niazi, Pekka Abrahamsson
IEEE Trans. Comput. Soc. Syst.6
2022 Ethics of AI: A Systematic Literature Review of Principles and Challenges
abstract
Ethics in AI becomes a global topic of interest for both policymakers and academic researchers. In the last few years, various research organizations, lawyers, think tankers, and regulatory bodies get involved in developing AI ethics guidelines and principles. However, there is still debate about the implications of these principles. We conducted a systematic literature review (SLR) study to investigate the agreement on the significance of AI principles and identify the challenging factors that could negatively impact the adoption of AI ethics principles. The results reveal that the global convergence set consists of 22 ethical principles and 15 challenges. Transparency, privacy, accountability and fairness are identified as the most common AI ethics principles. Similarly, lack of ethical knowledge and vague principles are reported as the significant challenges for considering ethics in AI. The findings of this study are the preliminary inputs for proposing a maturity model that assesses the ethical capabilities of AI systems and provides best practices for further improvements.
Arif Ali Khan, Sher Badshah, Peng Liang 0001, Muhammad Waseem 0011, Aakash Ahmad, Mahdi Fahmideh, Mahmood Niazi, Muhammad Azeem Akbar
EASE6
2022 Software Engineering for Internet of Things: The Practitioners' Perspective
abstract
Internet of Things based systems (IoT systems for short) are becoming increasingly popular across different industrial domains and their development is rapidly increasing to provide value-added services to end-users and citizens. Little research to date uncovers the core development process lifecycle needed for IoT systems, and thus software engineers find themselves unprepared and unfamiliar with this new genre of system development. To ameliorate this gap, we conducted a mixed quantitative and qualitative research study where we derived a conceptual process framework from the extant literature on IoT, through which 27 key tasks for incorporation into the development processes of IoT systems were identified. The framework was then validated by the means of a survey of 127 IoT practitioners from 35 countries across 6 continents with 15 different industry backgrounds. Our research provides an understanding of the most important development process tasks and informs both software engineering practitioners and researchers of the challenges and recommendations related to the development of next-generation of IoT systems.
Mahdi Fahmideh, Aakash Ahmad, Ali Behnaz, John C. Grundy, Willy Susilo
IEEE Trans. Software Eng.2
2021 On the Nature of Issues in Five Open Source Microservices Systems: An Empirical Study
abstract
Due to its enormous benefits, the research and industry communities have shown an increasing interest in the Microservices Architecture (MSA) style over the last few years. Despite this, there is a limited evidence-based and thorough understanding of the types of issues (e.g., faults, errors, failures, mistakes) faced by microservices system developers and causes that trigger the issues. Such evidence-based understanding of issues and causes is vital for long-term, impactful, and quality research and practice in the MSA style. To that end, we conducted an empirical study on 1,345 issue discussions extracted from five open source microservices systems hosted on GitHub. Our analysis led to the first of its kind taxonomy of the types of issues in open source microservices systems, informing that the problems originating from Technical debt (321, 23.86%), Build (145, 10.78%), Security (137, 10.18%), and Service execution and communication (119, 8.84%) are prominent. We identified that “General programming errors”, “Poor security management”, “Invalid configuration and communication”, and “Legacy versions, compatibility and dependency” are the predominant causes for the leading four issue categories. Study results streamline a taxonomy of issues, their mapping with underlying causes, and present empirical findings that could facilitate research and development on emerging and next-generation microservices systems.
Muhammad Waseem 0011, Peng Liang 0001, Mojtaba Shahin, Aakash Ahmad, Ali Rezaei Nasab
EASE4
2021 A Decision Model for Selecting Patterns and Strategies to Decompose Applications into Microservices
Muhammad Waseem 0011, Peng Liang 0001, Gastón Marquez, Mojtaba Shahin, Arif Ali Khan, Aakash Ahmad
ICSOC6
2021 Migration of existing software systems to mobile computing platforms: a systematic mapping study
Ibrahim Alseadoon, Aakash Ahmad, Adel Alkhalil, Khalid Sultan
Frontiers Comput. Sci.2
2021 Special Issue on IoT for Fighting COVID-19
Chiara Boldrini, Aakash Ahmad, Mahdi Fahmideh, Rabie A. Ramadan, Mohamed F. Younis
Pervasive Mob. Comput.2
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
APSEC2
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
MobiQuitous2
2018 Mining Patterns from Change Logs to Support Reuse-Driven Evolution of Software Architectures
Aakash Ahmad, Claus Pahl, Ahmed B. Altamimi, Abdulrahman Alreshidi
J. Comput. Sci. Technol.1
2016 Software architectures for robotic systems: A systematic mapping study
Aakash Ahmad, Muhammad Ali Babar 0001
J. Syst. Softw.1
2014 Classification and comparison of architecture evolution reuse knowledge - a systematic review
abstract
ABSTRACT Context Architecture‐centric software evolution (ACSE) enables changes in system's structure and behaviour while maintaining a global view of the software to address evolution‐centric trade‐offs. The existing research and practices for ACSE primarily focus ondesign‐time evolutionandruntime adaptationsto accommodate changing requirements in existing architectures. Objectives We aim toidentify, taxonomicallyclassifyand systematicallycomparethe existing research focused on enabling or enhancing change reuse to support ACSE. Method We conducted a systematic literature review of 32 qualitatively selected studies and taxonomically classified these studies based on solutions that enable (i)empirical acquisitionand (ii)systematic applicationof architecture evolution reuse knowledge (AERK) to guide ACSE. Results We identified six distinct research themes that support acquisition and application of AERK. We investigated (i)howevolution reuse knowledge is defined, classified and represented in the existing research to support ACSE and (ii)whatare the existing methods, techniques and solutions to support empirical acquisition and systematic application of AERK. Conclusions Change patterns(34% of selected studies) represent a predominant solution, followed byevolution styles(25%) andadaptation strategies and policies(22%) to enable application of reuse knowledge. Empirical methods for acquisition of reuse knowledge represent 19% includingpattern discovery,configuration analysis,evolution and maintenance predictiontechniques (approximately 6% each). A lack of focus on empirical acquisition of reuse knowledge suggests the need of solutions witharchitecture change miningas a complementary and integrated phase forarchitecture change execution. Copyright © 2014 John Wiley & Sons, Ltd.
Aakash Ahmad, Pooyan Jamshidi, Claus Pahl
J. Softw. Evol. Process.1
2013 Cloud Migration Research: A Systematic Review
abstract
Background--By leveraging cloud services, organizations can deploy their software systems over a pool of resources. However, organizations heavily depend on their business-critical systems, which have been developed over long periods. These legacy applications are usually deployed on-premise. In recent years, research in cloud migration has been carried out. However, there is no secondary study to consolidate this research. Objective--This paper aims to identify, taxonomically classify, and systematically compare existing research on cloud migration. Method--We conducted a systematic literature review (SLR) of 23 selected studies, published from 2010 to 2013. We classified and compared the selected studies based on a characterization framework that we also introduce in this paper. Results--The research synthesis results in a knowledge base of current solutions for legacy-to-cloud migration. This review also identifies research gaps and directions for future research. Conclusion--This review reveals that cloud migration research is still in early stages of maturity, but is advancing. It identifies the needs for a migration framework to help improving the maturity level and consequently trust into cloud migration. This review shows a lack of tool support to automate migration tasks. This study also identifies needs for architectural adaptation and self-adaptive cloud-enabled systems.
Pooyan Jamshidi, Aakash Ahmad, Claus Pahl
IEEE Trans. Cloud Comput.2
2012 Pattern-driven Reuse in Architecture-centric Evolution for Service Software
abstract
Service-based architectures implement business processes as technical software services to develop enterprise software.As a consequence of frequent business and technical change cycles, the architect requires a reusecentered approach to systematically accommodate recurring changes in existing software.Our 'Pat-Evol' project aims at supporting pattern-driven reuse in architecture-centric evolution for service software.We propose architecture change mining as a complementary phase to a systematic architecture change execution.Therefore, we investigate the 'history' of sequential changes -exploiting change logs -to discover patterns of change that occur during evolution.To foster reuse, a pattern catalogue maintains an updated collection with once-off specification for identified pattern instances.This allows us to exploit change pattern as a generic, first class abstractions (that can be operationalised and parameterised) to support reuse in architecture-centric software evolution.The notion of 'build-once, use-often' empowers the role of an architect to model and execute generic and potentially reusable solution to recurring architecture evolution problems.
Aakash Ahmad, Pooyan Jamshidi, Claus Pahl
ICSOFT1