Abstract
The development of smart and innovative software applications in various disciplines has inspired our lives by providing various cutting-edge technologies spanning from online to smart and efficient systems. The proliferation of innovative internet-enabled tools has transformed the nation into a globalized world where individuals can participate on various platforms, collaborate in activities, communicate on issues, and exchange information safely and consistently. Coordination and cooperation are essential in software development. It gathers all software developers in one space, encouraging them to discuss goals and work rationally to accomplish the project goal. In recent years, continuous software development and deployment have become increasingly common in software engineering. Continuous software engineering (CSE) is a method that involves a variety of strategies to increase the regularity of novel and modified software versions. CSE enables a continuous learning and improvement process through rapid software update iteration by combining continuous integration and delivery. Continuous integration is a method that has arisen in order to remove gaps between development and deployment. Software engineers must handle uncertainty and alter stakeholders' requirements, which is possible through continuous software developmental strategies that manage the overall software cycle and produce high-quality software applications. The proposed study is a systematic review related to continuous software development and deployment and focuses on achieving four aims: (1) To explore the impacts of continuous development on software, (2) to pinpoint various tools used to carry out this process, (3) to highlight the challenges faced in adopting continuous approaches for development and (4) to analyze the phases of continuous software engineering.
Similar content being viewed by others
Explore related subjects
Discover the latest articles, news and stories from top researchers in related subjects.Avoid common mistakes on your manuscript.
1 Introduction
The existing software-intensive sector is shifting toward an adaptable and ever-changing business framework based on the creation of value, addressing the demands of a severely competitive and swiftly evolving industrial environment. Developing successful software applications necessitates end-users participation and comprehension of client objectives and behavioral trends. Customer involvement empowers organizations to enhance their products' efficacy by comprehending their customers' needs and requirements [1, 2]. Software engineers often encounter the challenge of managing ambiguity and ever-changing requirements. Agile methodologies provide a solution to combat the challenge of managing ambiguity and ever-changing requirements encountered by software engineers.
Furthermore, the Integration of continuous delivery has enabled the establishment of frequent feedback loops, which have contributed to improving the efficiency of the process. To effectively engage in continuous software engineering (CSE), it is imperative to maintain high code quality through reviews, deploy software frequently, and prioritize user input. Despite these advancements, no software process metamodeling approach currently fully addresses the continuous nature of software engineering [3]. In order to enhance and improve functionality, the perpetual practice of software engineering heavily relies on the acquisition of explicit feedback from users. Incremental feature release can be facilitated more efficiently by consistently monitoring usage, which provides a valuable data source. This is particularly crucial in perpetual software engineering, where explicit feedback from users is vital for improving functionality. Nonetheless, the challenge of effectively correlating observed usage statistics with the changes brought about by a given feature increment, and with that, to a specific feature, proves to be a significant obstacle [4, 5].
Businesses frequently need to improve and adjust their software development procedures to meet security requirements. The complexity of the evaluation protocols presents a challenging environment for professionals to anticipate and assess the amount of effort necessary for compliance assessments [6]. In the field of software quality engineering and security engineering, risks are typically evaluated manually. However, this method is subjective, non-deterministic, error-prone, and time-consuming. As a result, many risks are not explicitly evaluated, which prevents the potential benefits of risk assessment from being fully realized. Nonetheless, in current data-intensive contexts, such as the open Internet environment, continuous project management, or the Internet of Things, data is continuously generated in online, system, or development environments. This data can be leveraged to automatically assess and mitigate software and security threats [7, 8]. For over a decade, the industry has predominantly utilized ongoing procedures emphasizing automated software development processes. Although this method is commonly used, software development is fundamentally a process focused on people, highly collaborative, and requires creativity. Although automated processes have been widely used in the software development cycle, it is important to note that software development is a highly collaborative process that requires creativity and human intervention [9,10,11]. Software quality presents new problems in programmer development on a regular basis, including characteristics of both software development and system usage that have a substantial influence on software systems' performance [12]. Agile software development approaches have formed the foundation for most software projects in today's world in their many forms. Practically every organization uses the technique. Despite their ubiquity, software implementation failure rates have increased [13]. To be competitive, systems that rely heavily on software must constantly develop their methods. We illustrate the transition process from traditional methodologies to continuous software deployment using a conceptual model called the “Stairway to Heaven” [14]. Larger software development companies require efficient methods for assessing product quality and identifying areas for improvement [15].
The days of developing projects with just a compiler are long gone. Software engineering has become significantly more complicated and diverse in recent years, including several stacks, languages, and frameworks [16]. Continuously releasing product or service increments, such as new features and upgrades, to consumers is becoming more common in developing software-intensive goods and services. Instead of relying on up-front business studies, product and service developers must constantly learn what customers desire through direct user feedback and monitoring of usage behavior [10, 17]. Customer feedback is crucial for software developers as it provides valuable insights into product effectiveness and user satisfaction [18]. This iterative approach helps identify and fix issues, enhances functionality, and improves user experience. This user-centered approach ensures software development aligns with the target market, fostering user loyalty.
2 Methodology
A comprehensive literature study is carried out to analyze the contributions in the domain of Continuous software. A systematic literature review adopts a thorough and rigorous strategy for identifying and evaluating papers relevant to a certain matter of importance [19]. When doing a thorough analysis of the available literature, a variety of criteria that have been put forward by researchers [20, 21] should be followed. The present research implements the aforementioned concepts. The initial stage of the systematic review involves the identification of the criteria necessary to conduct the research. After this requirements assessment, the formulation of research questions has been assumed. The keywords for these research questions were developed with the research questions, so that the search procedure for identifying relevant articles would be more productive. Using logical “AND” and “OR” operators, these terms are then linked to generate queries to solve each research problem.
3 Research protocol
For carrying out this systematic analysis, a research protocol is established, which is responsible for selecting appropriate studies relevant to the topic of interest. Figure 1 shows the graphical representation of this review protocol. The detailed procedure of protocol is given in subheadings.
3.1 Research domain selection
The domain selection process holds significant importance when embarking upon implementing a systematic review. The purpose of the research domain is established upon a thorough analysis of previous studies that have been scrutinized to facilitate the research activity. Diverse domains are thoroughly assessed, and subsequently, one that is deemed appropriate is chosen for further evaluation. Researchers are responsible for selecting a domain of their preference from an extensive array of domains, such as software engineering, networking, and architecting, to conduct their assessment.
3.2 Analyzing research area
The first stage in conducting research study is choosing a specific topic. Selecting a research topic must be one’s personal or professional interests. According to experienced researchers, “a topic in which you are just genuinely interested in the start is likely to become a topic in which you have no interest and with which you will fail to create your best work [22].” Ideally, your study topic should be related to your professional and personal path and can contribute to achieving your professional goals. An in-depth assessment is conducted to find an appropriate research area to carry out research in that specific area to save effort and time. This step is mandatory to identify what researchers have done so far in that specific area.
3.3 Formulating research question
Studies from the previous ten years were reviewed to discover the problems related to continuous software development. Then research questions were formulated to address those domains and enable authors to accomplish the study's key objectives [23]. Table 1 presents the proposed research questions related to the continuous software engineering domain.
3.4 Searching criteria
Following creating the research questions, the authors observed appropriate keywords for locating relevant resources for the proposed study. The following criteria are adopted for generating the search string. Search terms are retrieved from (i) main terms of formulated research questions, (ii) synonyms of main terms are pointed out, (iii) books, chapters, and publications were reviewed for making appropriate keywords, (iv) synonyms were linked by Boolean OR, (v) other terms (main terms) are concatenated with Boolean AND.
A query has been designed since a single term is inefficient for getting the best results. The keywords are merged using the logical operators “AND” and “OR” to get all relevant papers. The search query is as follows:
(“Continuous development” OR “continuous integration” OR “Continuous deployment”) AND (“software engineering” OR “Software development) AND (“tools” OR “Methods” OR “Approaches”) AND (“Impacts” OR “applications” OR “advantages”) AND (“Challenges” OR “Problems”) AND (“Phases” OR “stages”).
Searching with a single keyword may skip a relevant research article. To avoid this search query, formulation is necessary to get all relevant studies. Certain libraries that do not accept our formulated query syntax are manually searched with formulated keywords.
3.5 Online databases searching
To ensure consistency, a comprehensive assessment of the proposed study was conducted on six electronic repositories with the aim of collecting information from various scholarly contributions pertaining to the domain of continuous software engineering. The electronic repositories comprised of Science Direct, Hindawi, ACM, Wiley, Springer, and IEEE Xplore. The title, keywords, and abstracts of conference papers, journal articles, and book chapters were evaluated in order to execute the proposed inquiry. For engineering and computing research, selecting digital libraries like Science Direct, Hindawi, ACM, Wiley, Springer, and IEEE Xplore is a strategic option driven by a variety of crucial considerations. Specifically geared toward computing and engineering subjects, these libraries are well known for their wide-ranging range of scientific and technical literature. Because these platforms organize a wide variety of conference papers, journal articles, and book chapters pertinent to their field of study, researchers favor them. Additionally, the articles in these libraries are frequently subject to strict criteria of trustworthiness and quality, guaranteeing that scholars can rely on the accuracy of the data they access. Table 2 represents the number of articles in each library relevant to continuous software engineering. These studies are retrieved using search strings or manually by using keywords.
3.6 Selection of relevant article
For relevance, the entire texts of the selected articles were reviewed. Papers that do not meet specific criteria were excluded:
-
1.
Research not written in the English language
-
2.
Papers that did not include the phrases “Continuous” and “software engineering” or similar phrases in the title, introduction, or complete text and yet did not address the problems related to continuous software development.
-
3.
Articles published before 2012.
-
4.
Articles that highlight the continuous development but are not relevant to computer or software domain.
A total of 130 articles were retrieved after abstract and title-based selection. These articles are then thoroughly examined and screened to include the best and appropriate research studies and eliminate those that do not address the research question. All articles are reviewed library-wise and filtered out to answer any of the research questions. All libraries proceeded through the same screening procedure.
3.7 Quality of assessment
The assessment quality of selected studies was determined through a process of scoring or evaluation to determine their capacity to address predefined research inquiries. Corresponding concerns are addressed in Table 4. Each inquiry has two possible answers, namely 1 and 0. The overall score for each study is the sum of the answers to the respective questions. To establish the suggested study's validity, appropriate publications with a quality score of two or three were analyzed. These publications are capable of addressing at least two research inquiries. Based on the assessment quality, 66 articles were identified as being able to address at least two specified questions. Table 3 represents the scoring allotted to each article based on the answering research questions.
The graphical figure of the quality of the assessment is presented. Appropriate studies according to the research aims are separated from other studies (Fig. 2).
4 Results and discussion
The proposed research was carried out in order to address the specified research questions. The subsections reveal the intended research's results and discussions.
RQ1. What are the impacts of continuous integration in software development practices?
Continuous integration (CI) significantly improves software development by promoting regular code merges into a shared repository, enabling early error identification and resolution. It speeds up the development process, improves code quality through automated testing and review, and fosters collaboration between developers through simple tasks and transparent reviews. CI also provides fast feedback, builds confidence, simplifies deployment, and unifies security controls, leading to improved efficiency, collaboration, and reliability, ultimately enabling faster delivery of high-quality software. According to researchers and industry practitioners, performance testing must be included in agile development processes in a timely and efficient manner. On the other hand, existing approaches are fragmented and unintegrated, failing to account for the diverse capabilities of users producing polyglot distributed software and their requirement to automate performance practices as they are integrated throughout the lifecycle without slowing it down [52]. Table 4 represents the impact of continuous software practice.
RQ2. What are the different tools used for enhancing the software developmental process by utilizing continuous integration?
Continuous integration (CI) tools are crucial for enhancing software development processes by automating code integration, testing, and deployment tasks. Tools like Jenkins, CircleCI, GitLab, TeamCity, Bamboo, CruiseControl, and Buddy offer CI/CD capabilities, scalability, and compatibility with various technologies. These tools can enhance productivity and efficiency, potentially allowing for personalized implementation of tools and processes for software engineers. These tools can include e-learning platforms, online documentation, development environments, and collaboration platforms. Customization of individual development processes, techniques, and tools, considering their unique characteristics, has been shown to increase efficiency, according to a previous study [83]. The evolution of sophisticated tools and libraries has integrated into intricate toolchains, enabling multiple development stages and smooth migration. Advanced frameworks have been created to support distributed and component-based development, addressing the increasing complexity of software development and reducing time and cost. These frameworks have been designed to streamline the process [85].
Continuous software development is increasingly prevalent in software engineering, leading to the development of new toolchains to manage complexities. Containers are lightweight applications, offering advantages over virtual machines (VMs) in system resource utilization. Continuous integration (CI) is a process initiated automatically, including code creation, compilation, unit testing, and validation. Its high execution frequency ensures a quick feedback loop for engineers [74, 77, 86]. Table 5 lists various tools used for continuous software development. Table 5 shows the various tools used for carrying out continuous software development.
RQ3. Discuss various challenges faced in adopting continuous integration for software development
Continuous integration (CI) in software development offers numerous benefits but also presents challenges. It requires adapting workflows, which may lead to resistance from the development team. CI can expose defects or bugs, requiring rigorous testing and hindering early progress. Setting up a CI environment is a technical challenge, with automated tests requiring significant time and resources. Coordination between teams can be complex due to time zones and communication barriers. Scaling CI for large projects can be challenging, and automated processes can introduce security vulnerabilities. Despite these challenges, CI offers significant benefits for software development, particularly in Lean, agile, and DevOps methodologies [48]. These challenges pertain to the construction and configuration of builds, system architecture, seamless Integration, comprehensive testing, timely release, and complex human and organizational resource management issues [29]. Table 6 represents various challenges faced by adopting continuous software practice to software development.
RQ4. Which phases of software engineering are completed via continuous integration? Software system evolves via many life cycles, and throughout each iteration, there are certain periods of commencement, development, and climax for defining requirements. As a result, this framework distinguishes between the requirements that must be created at the beginning of an iteration, those that must be developed throughout an iteration, and those that must be refactored at the end of each iteration [48]. Even the development and progression procedures of software systems and communication infrastructures necessitate persistent observation, oversight, and refinement [76]. The basic principle of continuous software engineering is a well-designed and well-established engineering process that carefully outlines all developmental initiatives, assignments, and outcomes. Formalized models that are methodically altered from one action to the next contain the outcomes of every activity [76]. Continuous software engineering and DevOps go beyond agile software development and not just focus on incremental or scheduled releases. This approach is being advocated as a means to increase productivity, reduce the risk of failure, enhance visibility, feedback, and quality, and provide value more expeditiously by employing continuous delivery and deployment methodologies. Rather than focusing solely on incremental or scheduled releases, continuous software engineering, and DevOps extend beyond agile software development. This approach has been supported to increase productivity, reduce the risk of failure, enhance visibility, feedback, and quality, and provide value more expeditiously by employing continuous delivery and deployment methodologies [68, 90]. Table 7 discusses all the phases covered by the continuous software life cycle.
5 Conclusion
With the rapid increase in technology, the software engineering discipline is also facing undeniable change. In comparison with other scientific sectors, much research is conducted within corporations to create new potential software solutions to enhance the business operation of organizations. The software industry is increasingly confronted with the necessity for rapid and continuous system deployment. Continuous software development strives to enhance application development by digitizing the entire software development process. CSE utilizes iterative developmental approaches to compete with a rapidly changing market. The creation of software-intensive products and services is increasingly characterized by the continuous release of product or service increments, such as new features and upgrades, to users. The four objectives of the provided SLR—the influence of continuous software engineering, the tools used to improve software processes, the difficulties organizations experience in implementing CSE and identifying many phases of software engineering encompassed by continuous conception are all highlighted. The research study will support scholars, innovators, researchers, and institutions working in the field of software engineering to create and employ optimal resources for improving software development procedures.
References
Yaman SG, Sauvola T, Riungu-Kalliosaari L, Hokkanen L, Kuvaja P, Oivo M et al Customer involvement in continuous deployment: a systematic literature review. In: International working conference on requirements engineering: foundation for software quality, pp 249–265
Hu F, Xi X, Zhang Y (2021) Influencing mechanism of reverse knowledge spillover on investment enterprises’ technological progress: an empirical examination of Chinese firms. Technol Forecast Soc Chang 169:120797
Krusche S, Bruegge B (2017) CSEPM-a continuous software engineering process metamodel .In: 2017 IEEE/ACM 3rd international workshop on rapid continuous software engineering (RCoSE), pp 2–8
Johanssen JO, Kleebaum A, Bruegge B, Paech B Feature crumbs: adapting usage monitoring to continuous software engineering. In: International conference on product-focused software process improvement, pp 263–271
Zhou X, Zhang L (2022) SA-FPN: an effective feature pyramid network for crowded human detection. Appl Intell 52:12556–12568
Moyón F, Bayr C, Mendez D, Dännart S, Beckers K (2020) A light-weight tool for the self-assessment of security compliance in software development–an industry case. In: International conference on current trends in theory and practice of informatics, pp 403–416
Felderer M (2018) Risk-based software quality and security engineering in data-intensive environments. In: International conference on future data and security engineering, pp 12–17
Khan HU, Hussain A, Nazir S, Ali F, Khan MZ, Ullah I (2023) A service-efficient proxy mobile IPv6 extension for IoT domain. Information 14:459
Elazhary O, Storey M-A, Ernst NA, Paradis E (2021) Adept: a socio-technical theory of continuous integration. In: 2021 IEEE/ACM 43rd international conference on software engineering: new ideas and emerging results (ICSE-NIER), pp 26–30
Fagerholm F, Guinea AS, Mäenpää H, Münch J (2017) Building blocks for continuous experimentation. In: Proceedings of the 1st international workshop on rapid continuous software engineering, pp 26–35
Li T, Fan Y, Li Y, Tarkoma S, Hui P (2021) Understanding the long-term evolution of mobile app usage. IEEE Trans Mob Comput. https://doi.org/10.1109/TMC.2021.3098664
Franch X, Lopez L, Martínez-Fernández S, Oriol M, Rodríguez P, Trendowicz A (2019) Quality-aware rapid software development project: the Q-rapids project. In: International conference on objects, components, models and patterns, pp 378–392
Fogarty A, Edgeworth A, Smith O, Dowling M, Yilmaz M, MacMahon ST et al (2020) Agile software development–do we really calculate the costs? A multivocal literature review. In: European Conference on Software Process Improvement, pp 203–219
Olsson HH, Bosch J (2014) Climbing the “Stairway to Heaven”: evolving from agile development to continuous deployment of software. In: Continuous software engineering, ed: Springer, pp 15–27
Antinyan V, Staron M, Meding W (2014) Profiling prerelease software product and organizational performance. In: Continuous software engineering, ed: Springer, pp 167–182
Garcia J, Cabot J (2018) Stepwise adoption of continuous delivery in model-driven engineering. In: International workshop on software engineering aspects of continuous development and new paradigms of software production and deployment, pp 19–32
Li T, Zhang M, Cao H, Li Y, Tarkoma S, Hui P (2020) what apps did you use?: Understanding the long-term evolution of mobile app usage. In: Proceedings of the web conference 2020, pp 66–76
Xi X, Xi B, Miao C, Yu R, Xie J, Xiang R et al (2022) Factors influencing technological innovation efficiency in the Chinese video game industry: Applying the meta-frontier approach. Technol Forecast Soc Change 178:121574
Kitchenham B (2004) Procedures for performing systematic reviews. Keele, UK, Keele University 33:1–26
Keele S. Guidelines for performing systematic literature reviews in software engineering. Technical report, Ver. 2.3 EBSE Technical Report. EBSE2007
Kitchenham B, Charters S (2007) Guidelines for performing systematic literature reviews in software engineering
Saunders M (2014) Research Methods for Business Students, 6th edn.
Lu S, Liu M, Yin L, Yin Z, Liu X, Zheng W (2023) The multi-modal fusion in visual question answering: a review of attention mechanisms. PeerJ Comput Sci 9:e1400
Clarke PM, Elger P, O'Connor RV (2016) Technology enabled continuous software development. In: Proceedings of the international workshop on continuous software evolution and delivery, pp 48–48
Silvestre L, Vera JM (2019) Improving continuous software development in academic scenarios using GitHubTracker. In: 2019 38th international conference of the chilean computer science society (SCCC), pp 1–8
Ameller D, Farré C, Franch X, Valerio D, Cassarino A (2017) Towards continuous software release planning. In: 2017 IEEE 24th international conference on software analysis, evolution and reengineering (SANER), pp 402–406
Uzunbayir S, Kurtel K (2018) A review of source code management tools for continuous software development. In: 2018 3rd international conference on computer science and engineering (UBMK), pp 414–419
Kessel M, Atkinson C (2018) Integrating reuse into the rapid, continuous software engineering cycle through test-driven search. In: 2018 IEEE/ACM 4th international workshop on rapid continuous software engineering (RCoSE), pp 8–11
Steffens A, Lichter H, Döring JS (2018) Designing a next-generation continuous software delivery system: Concepts and architecture. In: 2018 IEEE/ACM 4th international workshop on rapid continuous software engineering (RCoSE), pp 1–7
Steidl D, Deissenboeck F, Poehlmann M, Heinke R, Uhink-Mergenthaler B (2014) Continuous software quality control in practice. In: 2014 IEEE international conference on software maintenance and evolution, pp 561–564
Johanssen JO, Kleebaum A, Bruegge B, Paech B (2017) Towards the visualization of usage and decision knowledge in continuous software engineering. In: 2017 IEEE working conference on software visualization (VISSOFT), pp 104–108
Dittrich Y, Nørbjerg J, Tell P, Bendix L (2018) Researching cooperation and communication in continuous software engineering. In: 2018 IEEE/ACM 11th international workshop on cooperative and human aspects of software engineering (CHASE), pp 87–90
Chen L (2015) Continuous delivery: huge benefits, but challenges too. IEEE Softw 32(2):50–54
Knauss E, Staron M, Meding W, Söder O, Nilsson A, Castell M (2015) Supporting continuous integration by code-churn based test selection. In: 2015 IEEE/ACM 2nd international workshop on rapid continuous software engineering, pp 19–25
O’Connor R, Elger P, Clarke PM (2016) Exploring the impact of situational context—a case study of a software development process for a microservices architecture. In: 2016 IEEE/ACM international conference on software and system processes (ICSSP), pp 6–10
Chen L (2015) Towards architecting for continuous delivery. In: 2015 12th Working IEEE/IFIP conference on software architecture, pp 131–134
Dakkak A, Mattos DI, Bosch J (2021) Perceived benefits of continuous deployment in software-intensive embedded systems. In: 2021 IEEE 45th annual computers, software, and applications conference (COMPSAC), pp 934–941
Klepper S, Krusche S, Peters S, Bruegge B, Alperowitz L (2015) Introducing continuous delivery of mobile apps in a corporate environment: a case study. In: 2015 IEEE/ACM 2nd international workshop on rapid continuous software engineering, pp 5–11
Vst S, Wagner S (2016) Trace-based test selection to support continuous integration in the automotive industry. In 2016 IEEE. In: ACM international workshop on continuous software evolution and delivery (CSED), pp 34–40
Elazhary O, Werner C, Li ZS, Lowlind D, Ernst NA, Storey M-A (2021) Uncovering the benefits and challenges of continuous integration practices. IEEE Trans Softw Eng 48(7):2570–2583
Shahin M, Babar MA, Zhu LJIA (2017) Continuous integration, delivery and deployment: a systematic review on approaches, tools, challenges and practices. IEEE access 5:3909–3943
Abd Rahman A, Hasim N (2015) Defect management life cycle process for software quality improvement. In: 2015 3rd international conference on artificial intelligence, modelling and simulation (AIMS), pp 241–244
Paule C, Düllmann TF, Van Hoorn A (2019) Vulnerabilities in continuous delivery pipelines? a case study. In: 2019 IEEE international conference on software architecture companion (ICSA-C), pp 102–108
Johanssen JO, Kleebaum A, Paech B, Bruegge B (2019) Continuous software engineering and its support by usage and decision knowledge: an interview study with practitioners. J Softw Evol Process 31:e2169
Bertolino A, Angelis GD, Guerriero A, Miranda B, Pietrantuono R, Russo S et al (2020) DevOpRET: Continuous reliability testing in DevOps. J Softw Evol Process 35(3):e2298
Sun L, Nazir S, Hussain AJSP (2021) Multicriteria decision making to continuous software improvement based on quality management, assurance, and metrics. Sci Program. https://doi.org/10.1155/2021/9953618
Xiaolong H, Nazir S, Lunchao Z, Jun DJSP (2021) Library-based overview of multicriteria decision making for continuous software improvement for internet of software industry. Sci Program. https://doi.org/10.1155/2021/5519900
Theunissen T, Van Heesch U (2017) Specification in continuous software development. In: Proceedings of the 22nd European conference on pattern languages of programs, pp 1–19
Van Heesch U, Theunissen T, Zimmermann O, Zdun U (2017) Software specification and documentation in continuous software development: a focus group report. In: Proceedings of the 22nd European conference on pattern languages of programs, pp 1–13
Ferme V, Pautasso C (2018) A declarative approach for performance tests execution in continuous software development environments. In: Proceedings of the 2018 ACM/SPEC international conference on performance engineering, pp 261–272
Fitzgerald B, Stol K-J (2014) Continuous software engineering and beyond: trends and challenges. In: Proceedings of the 1st international workshop on rapid continuous software engineering, pp 1–9
Ferme V, Pautasso C (2017) Towards holistic continuous software performance assessment. In: Proceedings of the 8th ACM/SPEC on international conference on performance engineering companion, pp 159–164
Dzvonyar D, Krusche S, Alkadhi R, Bruegge B (2016) Context-aware user feedback in continuous software evolution. In: 2016 IEEE/ACM international workshop on continuous software evolution and delivery (CSED), pp 12–18
Schulz H, Angerstein T, van Hoorn A (2018) Towards automating representative load testing in continuous software engineering. In: Companion of the 2018 ACM/SPEC international conference on performance engineering, pp 123–126
Zahedi M, Rajapakse RN, Babar MA (2020) Mining questions asked about continuous software engineering: A case study of stack overflow. In: Proceedings of the evaluation and assessment in software engineering, ed, pp 41–50
Goldstein M, Segall I (2015) Automatic and continuous software architecture validation. In: 2015 IEEE/ACM 37th IEEE international conference on software engineering, pp 59–68
dos Santos Júnior PS, Perini Barcellos M, Borges Ruy F (2021) Tell me: Am I going to Heaven? A Diagnosis Instrument of Continuous Software Engineering Practices Adoption. In: Evaluation and assessment in software engineering, ed, pp 30–39
Pietrantuono R, Bertolino A, De Angelis G, Miranda B, Russo S (2019) Towards continuous software reliability testing in DevOps. In: 2019 IEEE/ACM 14th international workshop on automation of software test (AST), pp 21–27
Forbrig P (2016) Continuous software engineering with special emphasis on continuous business-process modeling and human-centered design. In: Proceedings of the 8th international conference on subject-oriented business process management, pp 1–4
Leppänen M, Kilamo T, Mikkonen T (2015) Towards post-agile development practices through productized development infrastructure. In: 2015 IEEE/ACM 2nd international workshop on rapid continuous software engineering, pp 34–40
De França BBN, Simões RV, Silva V, Travassos GH (2017) Escaping from the time box towards continuous planning: an industrial experience. In: 2017 IEEE/ACM 3rd international workshop on rapid continuous software engineering (RCoSE), pp 43–49
Düllmann TF, Paule C, van Hoorn A (2018) Exploiting devops practices for dependable and secure continuous delivery pipelines. In: 2018 IEEE/ACM 4th international workshop on rapid continuous software engineering (RCoSE), pp 27–30
Laukkanen E, Mäntylä M (2015) Build waiting time in continuous integration--an initial interdisciplinary literature review. In: 2015 IEEE/ACM 2nd international workshop on rapid continuous software engineering, pp 1–4
Krusche S, Alperowitz L, Bruegge B, Wagner MO (2014) Rugby: an agile process model based on continuous delivery. In: Proceedings of the 1st international workshop on rapid continuous software engineering, pp 42–50
Toh MZ, Sahibuddin S, Mahrin MNR (2019) Adoption issues in DevOps from the perspective of continuous delivery pipeline. In: Proceedings of the 2019 8th international conference on software and computer applications, pp 173–177
Virtanen A, Kuusinen K, Leppänen M, Luoto A, Kilamo T, Mikkonen T (2017) On continuous deployment maturity in customer projects. In: Proceedings of the symposium on applied computing, pp 1205–1212
Kirikova M (2017) Continuous requirements engineering. In: Proceedings of the 18th international conference on computer systems and technologies, pp 1–10
Itkonen J, Udd R, Lassenius C, Lehtonen T (2016) perceived benefits of adopting continuous delivery practices. In: ESEM, pp 42:1–42:6
Prens D, Alfonso I, Garcés K, Guerra-Gomez J (2019) Continuous delivery of software on IoT devices. In: 2019 ACM/IEEE 22nd international conference on model driven engineering languages and systems companion (MODELS-C), pp 734–735
Mäkinen S, Lehtonen T, Kilamo T, Puonti M, Mikkonen T, Männistö T (2019) Revisiting continuous deployment maturity: a two-year perspective. In: Proceedings of the 34th ACM/SIGAPP symposium on applied computing, pp 1810–1817
Huijgens H, Spadini D, Stevens D, Visser N, Van Deursen A (2018) Software analytics in continuous delivery: a case study on success factors. In: Proceedings of the 12th ACM/IEEE international symposium on empirical software engineering and measurement, pp 1–10
Cardoso TE, Santos AR, Chanin R, Sales A (2020) Communication of changes in continuous software development. In: International conference on software business, pp 86–101
Bosch J (2014) Continuous software engineering: an introduction. In: Continuous software engineering, ed: Springer, pp 3–13
Koskinen M, Mikkonen T, Abrahamsson P (2019) Containers in software development: a systematic mapping study. In: International conference on product-focused software process improvement, pp 176–191
Siebra C, Lacerda R, Cerqueira I, Quintino JP, Florentin F, Silva F et al (2018) Empowering continuous delivery in software development: the DevOps strategy. In: International conference on software technologies, pp 247–265
Sandkuhl K (2017) Aligning software architecture and business strategy with continuous business engineering. In: International conference on advanced information systems engineering, pp 14–26
Feilhauer M, Häring J, Buchner J (2016) Continuous delivery for simulation-model development. In: 16. Internationales Stuttgarter Symposium, pp 467–477
Theunissen T, van Heesch U, Avgeriou P (2022) A mapping study on documentation in Continuous Software Development. Inf Softw Technol 142:106733
Fitzgerald B, Stol K-J (2017) Continuous software engineering: a roadmap and agenda. J Syst Softw 123:176–189
Nakagawa EY, Antonino PO, Schnicke F, Kuhn T, Liggesmeyer P (2021) Continuous systems and software engineering for Industry 4.0: a disruptive view. Inf Softw Technol 135:106562
Chen L (2017) Continuous delivery: overcoming adoption challenges. J Syst Softw 128:72–86
Khan HU, Ali F, Ghadi YY, Nazir S, Ullah I, Mohamed HG (2023) Human–computer interaction and participation in software crowdsourcing. Electronics 12:934
Papatheocharous E, Belk M, Nyfjord J, Germanakos P, Samaras G (2014) Personalised continuous software engineering. In: Proceedings of the 1st international workshop on rapid continuous software engineering, pp 57–62
Liu C, Wu T, Li Z, Ma T, Huang J (2022) Robust online tensor completion for IoT streaming data recovery. IEEE Trans Neural Netw Learn Syst 10178–10192
Wätzoldt S, Neumann S, Benke F, Giese H (2012) Integrated software development for embedded robotic systems. In: International Conference on simulation, modeling, and programming for autonomous robots, pp 335–348
Liu X, Shi T, Zhou G, Liu M, Yin Z, Yin L et al (2023) Emotion classification for short texts: an improved multi-label method. Humanit Soc Sci Commun 10:1–9
Cheng B, Zhu D, Zhao S, Chen J (2016) Situation-aware IoT service coordination using the event-driven SOA paradigm. IEEE Trans Netw Serv Manage 13:349–361
Ni Q, Guo J, Wu W, Wang H, Wu J (2021) Continuous influence-based community partition for social networks. IEEE Trans Netw Sci Eng 9:1187–1197
Li B, Zhou X, Ning Z, Guan X, Yiu K-FC (2022) Dynamic event-triggered security control for networked control systems with cyber-attacks: a model predictive control approach. Inf Sci 612:384–398
Wu Z, Cao J, Wang Y, Wang Y, Zhang L, Wu J (2018) hPSD: a hybrid PU-learning-based spammer detection model for product reviews. IEEE Trans Cybern 50:1595–1606
Ahmad I, Ullah I, Khan WU, Ur Rehman A, Adrees MS, Saleem MQ et al (2021) Efficient algorithms for E-healthcare to solve multiobject fuse detection problem. J Healthc Eng 21:1–16
Acknowledgements
We are thankful to all the authors of this manuscript. *These authors contributed equally and are considered as first co-authors.
Funding
Princess Nourah bint Abdulrahman University Researchers Supporting Project number (PNURSP2023R237), Princess Nourah bint Abdulrahman University, Riyadh, Saudi Arabia. Research Supporting Project number (RSPD2023R787), King Saud University, Riyadh, Saudi Arabia.
Author information
Authors and Affiliations
Contributions
H.U.K and W.A are concern with the methodology, A.N and M.K are concern with Analysis and writing, S.N is concern with validation, M.M and H.MA are concern with data extraction, data validation, presentation and grammar checking.
Corresponding authors
Ethics declarations
Conflict of interest
The authors declare that there is no conflict of interest.
Ethics approval and consent to participate
Not applicable.
Consent for publication
Not applicable.
Additional information
Publisher's Note
Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.
Rights and permissions
Springer Nature or its licensor (e.g. a society or other partner) holds exclusive rights to this article under a publishing agreement with the author(s) or other rightsholder(s); author self-archiving of the accepted manuscript version of this article is solely governed by the terms of such publishing agreement and applicable law.
About this article
Cite this article
Khan, H.U., Afsar, W., Nazir, S. et al. Revolutionizing software developmental processes by utilizing continuous software approaches. J Supercomput 80, 9579–9608 (2024). https://doi.org/10.1007/s11227-023-05818-8
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s11227-023-05818-8