Using Database Schemas of Legacy Applications for Microservices Identification: A Mapping Study

Antonios Mparmpoutis, Digital Systems, University of Thessaly, Greece, [email protected]
George Kakarontzas, Digital Systems, University of Thessaly, Greece, [email protected]

The extraction of software components or services from a legacy system, is a very active field of research especially after the introduction of the microservices architectures. There are many different proposed approaches to solve this complex problem with the help of static and dynamic analysis of the source code, domain driven business dataflow diagrams etc. When we are dealing with a legacy system (e.g., a system with monolithic architecture) the most common asset that we inherit, aside from the application's code itself, is the database schema and its data. The source code isn't always available for analysis and the dataflow diagrams although helpful to some extent, they do not provide any reuse of the system's source code. The purpose of this research is to systematically identify primary studies that are using the database artefacts for microservice extraction, analyse the type of the artefacts and the degree they are used, and lastly investigate if the proposed methods support automation. We will then try to verbally analyse their viability in a real world scenario based on our many year experience working with legacy systems. In the context of this research, we conducted a systematic mapping study regarding the usage of database artefacts for the identification of components or services. This article presents the results of this study. Our future research goal is to use the database schema, state of data, dependencies, foreign keys etc., for identifying discrete business units within the legacy system database. Each such unit will have loose coupling with other units and be highly cohesive making it a potential microservice.

CCS Concepts:Software and its engineering → Software evolution;

KEYWORDS: microservices architecture, legacy application, software architecture reconstruction, mapping study, secondary study

ACM Reference Format:
Antonios Mparmpoutis and George Kakarontzas. 2022. Using Database Schemas of Legacy Applications for Microservices Identification: A Mapping Study. In 2022 The 6th International Conference on Algorithms, Computing and Systems (ICACS 2022), September 16-18, 2022, Larissa, Greece. ACM, New York, NY, USA, 10 Pages. https://doi.org/10.1145/3564982.3564995

1 INTRODUCTION

Legacy systems are a big part of current computing infrastructure. The cost of maintaining, managing, supporting, and implementing them are often reaching a very high percentage of the IT total budget of the organization. Due to the obsolete technology stack usually these systems are built on, there are many negative factors that must be considered and re-evaluated often. Some of these negative factors are: (1) lack of scalability of the application, which means that only increasing the raw computing power of the infrastructure can increase the performance of the system (vertical scaling). This is a lot costlier than horizontal scaling where we add multiple instances of a service increasing the availability. (2) Potential security vulnerabilities of the legacy technology stack the legacy system is built on, (3) Increased time and therefore increased cost for new features to be added if the legacy architecture is not well designed.

Microservices [12] are a very popular software design approach that addresses some of the negative factors that we introduced earlier. The main idea is to split the software system in autonomous pieces at the correct granularity and with their own datastore each. These microservices are independently deployable and can communicate with each other via simple mechanisms such as HTTP request-response. With this approach, we can run multiple instances of these services and provide improved performance, scalability and availability to the system as a whole. Furthermore, the independence of these services provides the opportunity to use different technology stacks when necessary and have different development teams working in different services, thus reducing the time to market for new features and improving the continuous integration (CI) / continuous delivery (CD) pipeline while making the software more testable [11, 23]

There are also downsides in this architectural pattern. Although the services are autonomous as a unit, they rely heavily on messaging to communicate with each other. This increases the overall system complexity and mechanisms such as load balancing, services orchestration and system monitoring are in many cases mandatory. Also, the communications between the microservices comes with an extra overhead and can affect the network performance of the system. Furthermore, the testing and debugging of the whole integrated system is more complex and difficult compared to a classic monolithic architecture.

The process of migrating a legacy system to a services-based architecture (like microservices) is a very complex process with a lot of manual work needed. The most fundamental task for this type of work is to extract the potential microservices at the optimal granularity from the legacy application.

We did find a number of secondary studies [1, 5, 17, 19] that explore current literature in the context of microservices extraction , but they did not focus in the area of data-driven artefacts.

The persistence layer of a system (the database) is the most common asset we inherit from a legacy application and if it is correctly designed, it exposes the domain entities which are usually represented as relational database tables and their relationships through foreign key associations or tables for N-M relationships.

Our future research goal is to use the database schema, the state of data, dependencies, foreign keys etc., for identifying discrete business units within the legacy system database and use these units as a starting point to identify the potential microservices.

Our current mapping study goal is to explore this idea in a systematic way and to find related works or other useful artefacts. Our research questions cover the scope and the main objective of this study and are the following

  1. During the process of re-architecting a legacy system, are data-driven artefacts like database schema and state of data used for identifying potential services/microservices?
  • Sub question:
    1. Can the process of identifying services/microservices from database artefacts be in a complete or partial way automated?

  • How data-driven artefacts, like the database, are used in the process of a software migration to services/microservices based architecture?

2 SYSTEMATIC MAPPING METHOD

The procedure of our mapping study is based on Kitchenham guidelines for performing systematic reviews in software engineering [15].

2.1 Search Strategy

We will use the following digital libraries for searching the related studies based on popularity among users.

Our strategy is to start with a Search query that targets a broader scope of microservices identification strategies/methods/approaches, and then using snowballing technique to find relevant papers that can answer our research questions. The search engines used are presented in Table 1

Table 1: Search engines used
Search engine URL Initial Results
ACM https://dl.acm.org/ 15
IEEE https://ieeexplore.ieee.org/Xplore/home.jsp 9
ScienceDirect https://www.sciencedirect.com/ 13
Google Scholar https://scholar.google.com/ 204

Search String

"MICROSERVICE IDENTIFICATION" OR "MICROSERVICE DISCOVERY" OR "MICROSERVICE EXTRACTION"

2.2 Inclusion and Exclusion Criteria

We will not directly include secondary studies in our analysis phase to have a more homogeneous result set, but we will include any relevant to our research context primary studies that are referenced to these studies. Our inclusion and exclusion criteria are presented in table 2.

Table 2: Inclusion and exclusion criteria
Criteria description
Inclusion Criteria

1. From the abstract it is evident that the publication relates to a software reconstruction process to services or microservices oriented architecture, with the use of database artefacts
2. Full Text Availability of the publication
Exclusion Criteria

1. Literature relevant to software architecture reconstruction to microservice based, but not with the use of database artefacts
2. Literature irrelevant to software architecture reconstruction for the purpose of migration to a microservice-based architecture
3. Literature in the form of abstract only publications
4. Literature not written in English
5, Secondary studies are excluded but studied nonetheless, in order to include primary studies referenced within

2.3 Search Results

Our search query was submitted on the 2th of May 2022 and yielded 241 results. We excluded 21 duplicate results so the number of studies before applying inclusion/exclusion criteria was 220.

After applying inclusion/exclusion criteria, 14 studies were relevant to our research questions. To make sure that we did not miss some relevant study we applied the snowballing method. In this method, each research paper's list of references is examined in the terms of the previously applied inclusion/exclusion criteria [24].

We observe in Figure 1 that the research topic of service discovery from database artefacts is very active, with a regular number of papers each year. Most common type of publication is Conference Papers as we see in Figure 2

Figure 1
Figure 1: Number of included studies per year
Figure 2
Figure 2: Number of included studies per study type

2.4 Result Analysis

In this section we will discuss the relevant papers discovered in the previous step.

Del grosso et al [10] used a bottom up approach (i.e. from the database toward the user interface in a layered architectural style), capturing SQL query interactions with database by using the JDBC APIs and Formal Concept Analysis in a two-step process to extract and cluster candidate services. This approach produces fine-grained granularity services, and the system must be orchestrated in a specific manner for the steps to be performed. Also, the study due to its date of conduction does not refer to the microservices architectural style but is concerned with services in general.

Baghdadi et al. [4] proposed a method to generate web services interfaces based on the database tables. The main idea was to create a façade for the underlying monolithic system that can be accessed through messaging protocols (HTTP) and create a set of CRUD (Create, Read, Update, Delete) interfaces for each table. These interfaces then need to be implemented by the developer. This approach produces low level wrapper candidate services that ignores the business-logic aspects of the system and the related source code. Intercommunication between services is not taken into account and the study is lacking evaluation.

Amiri et al. [3] proposed a multifaceted service identification process that combined three strategies, a. Business process-driven, b. Goal-Requirements-driven and c. data-driven approach, to find and extract candidate services from a legacy system. This approach is using task-task matrices that are based on each facet and are generated through modeling algorithms that are using business process, goals and data models as input. Weights are applied to each of the created matrices with the help of domain experts and a training dataset, and the three matrices are combined to a single final task-task matrix. A genetic algorithm and a fitness function is used to cluster the elements of the result matrix to candidate services.

This process has a strong rationale, but it was not evaluated in a real-world scenario specifically with a large application. The evaluation provided does not appear to be generalizable. Furthermore, the target system needs to be properly documented for the business-goals-requirements-entities models to be created. This is highly unlikely for a legacy system. Also, microservices are not referenced explicitly although at 2016 they were already present in literature.

[22] proposed a method that was similar to [10]. They used the source code and specifically the persistence layer as input to detect functions that are responsible for database operations with the help of an algorithm. Then, they generated wrapper functions that expose the inner functionality of the target system. These functions must be stateless and to be able to do this, any state dependencies that are not part of the function must be passed as an argument. This can be proven challenging in large legacy applications that are usually monoliths with a global state. Also, to make the functions stateless the source code needs to change. No automation is used in this approach and microservices are not mentioned. Also, the resulted services are at the lowest level (i.e., provide simple CRUD functionality) and to create higher-level business services, these low-level services must be orchestrated in a specific way.

[6] and [7] introduced a semi-automatic procedure to extract candidate microservices from a source system using heuristic algorithms and structural-behavioral analysis, capturing SQL queries and schema analysis to identify relationships between database tables and business object relations. The produced artefacts are clustered and optimized to reduce intercommunications with the use of a genetic algorithm, more specifically NSGA II [9]. The result is a microservices-based new system. This study is much closer to our research questions. The methodology is well documented, and a case study evaluation is performed in 2 open-source projects. However, there are some questions left open regarding the generality of the approach and the level of the automation of the process. Although the process is characterized as automated by the authors, it seems to be semi-automated since it requires considerable manual work on extracting the required artefacts and configuring the genetic algorithm. Furthermore, the evaluation process provides some performance metrics about the new microservices system in a microservice level, but not as a whole integrated system where one microservice can call another.

[14] proposed a method to identify Entity, Task and Process services in a target system using the Master Data Lifecycle and state machine diagrams obtained by reverse engineering the database and/or from system documentation when available. The result is CRUD operations for each type (Entity, Task, Process) that can be grouped resulting to a lower granularity service. There is an absence of implementation details of the case study and also this method is lacking any automation. In addition, there is no reference to the microservices architectural style. The authors later released a tool, that automated some of the process steps but still all the related diagrams must be produced.

[18] introduced a procedure to extract processes from a relational database with the help of entity lifecycle logs. These logs must be mapped manually with the corresponding data tables and data tables are clustered using weighted k-means algorithm to create high level business processes. The connection between tables is measured by their entropy and inner-schema dependencies (e.g., foreign keys) which in many cases of a production system is not accurate and the authors propose some techniques to rediscover foreign keys between them. Furthermore, to create the lifecycle of entities, timestamped attributes must exist in the database.

One of the problems of this approach is that the number of extracted artefacts is given by the user. This can often lead to inconsistent process design and a extensive experimentation is needed, especially in large systems where various domains exist in one schema. Microservices are not mentioned in this study.

[21] introduced a roadmap of a legacy system migration to a new microservices based one, using a hybrid domain-driven approach. This study is an empirical approach to the steps required for an architecture modernization, but it does not provide any implementation details of the actual steps or any tool to support this process. We decided to include this paper in our study because it specifically identifies the database as an input for such a process

[16] proposed a technique for converting a legacy service-oriented system to microservices. The process involves the decomposing of the database into groups of tables of the same business context (subsystems) which, after a call graph analysis, are mapped to existing facades from the old system making the migration to microservices transparent to the end users.

The presentation layer must be decoupled from the business logic for this transparency to work, also the process can be done incrementally and the authors state that the two systems can coexist. They evaluated their technique in a large banking system with promising results. This approach requires deep knowledge of the target domain and the legacy system, and no automation is used in any level.

[2] Proposed a method similar to [3], utilizing semantic and syntactic elements from the source code along with database schema relationships . The derived artefacts are used to identify potential microservices with the use of a clustering algorithm. A case study involving 2 popular open-source software systems was performed. This method is in the same spirit like [3, 6, 18] .

[13] described a process that uses legacy system's store procedures to identify microservices candidates. The authors analyzed the process in depth, and they also applied it in a large legacy system, with promising results. One of the problems with this approach, is that it only considers store-procedure based systems. Also, the proposed process is manual since no automation is involved.

[20] introduced a data-centric process for identifying microservices that uses the database schema artefact names (table names, attribute names), enriched further by semantically related words. This method is close to our research questions. One of the issues is that this approach is strongly coupled to the naming scheme of the targeted system. This can lead to misleading results and the assistance of a system expert is required.

A summarized view of each study and their corresponding artefacts are given on Table 3

Table 3: Analysis of available methods to migrate to services/ microservices architecture using database-driven artefacts
Name of Study Automation Use of Source Code Use of Business process models SQL Transactions runtime analysis Schema analysis Data mining analysis Data access analysis from source code Entity diagrams Microservices awareness
An approach for mining services in database–oriented applications [8] Semi-automatic [x] [x] [x]
Reverse engineering relational databases to identify and specify basic Web services with respect to service-oriented computing [4] Semi-automatic [x] [x] [x]
Multifaceted Service Identification: Process, Requirement
and Data [3]
Semi-automatic [x] [x] UML
Service Mining from Legacy Database Applications [22] Manual [x] [x]
Discovering Microservices in Enterprise Systems Using Business Object Containment Heuristic [6] Semi-automatic [x] [x] [x] [x]
A method to identify services using master data and artifact-centric modeling approach [14] Manual [x] [x] [x] [x] UML
Function-Splitting Heuristics for Discovery of Microservices in Enterprise Systems [ 7] Semi-automatic [x] [x] [x] [x] [x]
Automatic discovery of data-centric and artifact-centric processes. [18] Semi-automatic [x] [x]
Towards a Roadmap for the Migration of Legacy Software Systems to a
Microservice based Architecture [21]
Manual [x] [x] [x]
Towards a Technique for Extracting Microservices from Monolithic Enterprise Systems [16] Manual [x] [x] [x]
Remodularization Analysis for Microservice Discovery Using Syntactic and Semantic Clustering [2] Semi-automatic [x] [x] [x] [x]
Towards Identifying Microservice Candidates from Business Rules Implemented in Stored Procedures [13] Manual [x] [x] [x]
Towards Migrating Legacy Software Systems to Microservice-based Architectures: a Data-Centric Process for Microservice Identification [20] Semi-automatic [x] [x]
Using Business Object Patterns for Discovery of Microservices in Enterprise Systems [8] Semi-automatic [x] [x] [x] [x]

3 RESEARCH FINDINGS AND RESEARCH GAPS

This paper provides a detailed view and analysis of the available migration strategies to a service/microservice architectural style with the use of data-driven artefacts, like the database. With the data that we collected we can answer our research questions.

3.1 Research Questions Assesement

RQ1: During the process of re-architecting a legacy system, are data-driven artefacts like database schema and state of data used for identifying potential microservices?

Based to our current research we have found that data-driven elements (such as the database schema or state of data) have been considered in the past as artefacts that can help the re-architecting of a legacy system but rarely as the sole factor [13] [4] [16]

RQ1.1: Can the process of identifying services/microservices from database artefacts be in a complete or partial way automated?

Based to our findings there is no proposed method that can achieve full automation. This is expected due to the complexity of a system migration. We found 9 studies that provide some degree of automation (semi-automation or partial automation), and 5 studies that proposed completely manual processes without tool support (Figure 3). Furthermore, the semi-automatic proposed methods still involve considerable number of manual steps and significant amount of work to parametrize the automation mechanisms.

Figure 3
Figure 3: Comparison of automation degree

RQ2: How data-driven artefacts, like the database, are used in the process of a software migration to services/microservices based architecture?

Based on our findings in the literature we observe that schema analysis and data access analysis from the source code are the most common patterns of utilizing data-driven artefacts in a migration process (Figure 4). Other methods like data mining and SQL transactions runtime analysis are not used often. Source code is needed in almost all of the proposed methods (10 of 14).

Figure 4
Figure 4: Database artefacts used so far for microservices discovery

3.2 Research Gaps

Half (7/14) of the proposed methods have microservices awareness. With the popularity and the growth of cloud native applications we anticipated more results to be focused on this aspect. We also see a research gap in architecture migration without the use of source code, for example with data-mining techniques.

Furthermore, we can perform data analysis/mining processes to find features or aspects of the application that are not in use. This information cannot be given easily from the source code but only from the domain experts of the supported system with support of the state of data (e.g., through database analysis we can discover unused tables). Excluding not used features of a system presents benefits including reduction of the development time and the corresponding cost of the new system while at the same time making it more streamlined to the business or organization's purposes. In addition, it can also assist with the prioritization of features during the migration process.

4 THREATS TO VALIDITY

4.1 Selection Bias

Because the inclusion/exclusion of a study is manual executed from each author, there is a possibility to misjudge a study. To mitigate this threat, we prior discussed the process in depth so there is a common understanding of the inclusion/exclusion criteria. Furthermore, during the process of reading the studies, if one author wasn't sure about the inclusion or exclusion of a study, there was a discussion between the authors and the decision was made in agreement of both authors.

4.2 Data Extraction

Bias or other issue of data extraction can affect the facet classification and further analysis of the selected studies. To reduce this threat, we thoroughly discussed the definition of the data items and agreed in the current form.

4.3 Coverage of Relevant Studies

We may have missed some studies that were relevant to our subject. To reduce this threat, we searched in the broader topic of microservices identification, and then we applied the method of snowballing to further reduce this possibility.

5 CONCLUSION AND FUTURE WORD

Migrating of legacy applications to modern microservices-based, is a very active topic of the industry and to the academic community as a research area. With the increasing shift of the industry to cloud-based environments and solutions the need for feasible and practical modernization approaches, is very high. Many approaches have been proposed, and some of them provide some type of automation but the work involved is still significant while preserving elements of the legacy system has serious drawbacks.

Our research focused on finding and analyzing studies of such approaches that utilize data-driven artefacts from the legacy system to create the new architecture. We conducted a systematic research using the most popular digital libraries and we discovered a relevant small number of primary studies that fulfilled our inclusion criteria. We verbally analyzed the results in Section 2.4 and tried to classify them (Table 3) based on the type of data-driven artefact used, along with some other important factors. We observe that data-driven artefacts are not used as a solely factor but as a part of a multi-faceted strategy. Furthermore, the state of the data itself hasn't been utilized yet as an input parameter and we believe that it can be of significant value as an input parameter for a legacy system migration to microservices as we can harvest valuable information, especially in the topic of feature prioritization.

In the future we will try to propose a new method of migrating legacy applications to microservices architectures, that will use the database schema and state of data as input. Based on our research findings we will not focus on the source code, because in many cases the source code is of an obsolete technology that we want to replace to a large extent, anyway.

REFERENCES

  • Abdellatif, M., Shatnawi, A., Mili, H., Moha, N., Boussaidi, G.E., Hecht, G., Privat, J. and Guéhéneuc, Y.-G. 2021. A taxonomy of service identification approaches for legacy software systems modernization. Journal of Systems and Software. 173, (Mar. 2021), 110868. DOI:https://doi.org/10.1016/j.jss.2020.110868.
  • Alwis, A.A.C.D., Barros, A., Fidge, C. and Polyvyanyy, A. 2020. Remodularization Analysis for Microservice Discovery Using Syntactic and Semantic Clustering. International Conference on Advanced Information Systems Engineering (2020), 3–19.
  • Amiri, M., Parsa, S. and Lajevardi Mohammadzade, A. 2016. Multifaceted service identification: Process, requirement and data. Computer Science and Information Systems. 13, 2 (2016), 335–358. DOI:https://doi.org/10.2298/CSIS151105011A.
  • Baghdadi, Y. 2007. Reverse engineering relational databases to identify and specify basic Web services with respect to service oriented computing. Information Systems Frontiers. 8, 5 (Jan. 2007), 395–410. DOI:https://doi.org/10.1007/s10796-006-9007-2.
  • Carvalho, L., Garcia, A., Assunção, W.K.G., Bonifácio, R., Tizzei, L.P. and Colanzi, T.E. 2019. Extraction of Configurable and Reusable Microservices from Legacy Systems: An Exploratory Study. Proceedings of the 23rd International Systems and Software Product Line Conference - Volume A (New York, NY, USA, 2019), 26–31.
  • De Alwis, A.A.C., Barros, A., Fidge, C. and Polyvyanyy, A. 2018. Discovering Microservices in Enterprise Systems Using a Business Object Containment Heuristic. On the Move to Meaningful Internet Systems. OTM 2018 Conferences. H. Panetto, C. Debruyne, H.A. Proper, C.A. Ardagna, D. Roman, and R. Meersman, eds. Springer International Publishing. 60–79.
  • De Alwis, A.A.C., Barros, A., Polyvyanyy, A. and Fidge, C. 2018. Function-Splitting Heuristics for Discovery of Microservices in Enterprise Systems. Service-Oriented Computing. C. Pahl, M. Vukovic, J. Yin, and Q. Yu, eds. Springer International Publishing. 37–53.
  • De Alwis, A.A.C., Barros, A.P., Fidge, C.J. and Polyvyanyy, A. 2018. Using business object patterns for discovery of microservices in enterprise systems. (2018).
  • Deb, K., Pratap, A., Agarwal, S. and Meyarivan, T. 2002. A fast and elitist multiobjective genetic algorithm: NSGA-II. IEEE Transactions on Evolutionary Computation. 6, 2 (2002), 182–197. DOI:https://doi.org/10.1109/4235.996017.
  • Del Grosso, C., Di Penta, M. and de Guzman, I.G.-R. 2007. An approach for mining services in database oriented applications. 11th European Conference on Software Maintenance and Reengineering (CSMR’07) (Amsterdam, The Netherlands, 2007), 287–296.
  • Department of Computer Science, King Mongkut's Institute of Technology Ladkrabang, Bangkok, Thailand, Raksawat, C. and Charoenporn, P. 2021. Software Testing System Development Based on ISO 29119. Journal of Advances in Information Technology. 12, 2 (2021), 128–134. DOI:https://doi.org/10.12720/jait.12.2.128-134.
  • Fowler 2014. Microservices. Microservices.
  • Gomes Barbosa, M.H. and M. Maia, P.H. 2020. Towards Identifying Microservice Candidates from Business Rules Implemented in Stored Procedures. 2020 IEEE International Conference on Software Architecture Companion (ICSA-C) (Salvador, Brazil, Mar. 2020), 41–48.
  • Huergo, R.S., Pires, P.F. and Delicato, F.C. 2014. A method to identify services using master data and artifact-centric modeling approach. Proceedings of the 29th Annual ACM Symposium on Applied Computing (Gyeongju Republic of Korea, Mar. 2014), 1225–1230.
  • Kitchenham, B.A. 2007. Guidelines for performing systematic literature reviews in software engineering. Technical report, EBSE Technical Report EBSE-2007-01. (Jul. 2007).
  • Levcovitz, A., Terra, R. and Valente, M.T. 2016. Towards a Technique for Extracting Microservices from Monolithic Enterprise Systems. arXiv:1605.03175 [cs]. (May 2016).
  • Mazlami, G., Cito, J. and Leitner, P. 2017. Extraction of Microservices from Monolithic Software Architectures. 2017 IEEE International Conference on Web Services (ICWS) (2017), 524–531.
  • Nooijen, E.H.J., van Dongen, B.F. and Fahland, D. 2013. Automatic Discovery of Data-Centric and Artifact-Centric Processes. Business Process Management Workshops. M. La Rosa and P. Soffer, eds. Springer Berlin Heidelberg. 316–327.
  • Ponce Mella, F., Márquez, G. and Astudillo, H. 2019. Migrating from monolithic architecture to microservices: A Rapid Review. (Sep. 2019).
  • Romani, Y., Tibermacine, O. and Tibermacine, C. 2022. Towards Migrating Legacy Software Systems to Microservice-based Architectures: a Data-Centric Process for Microservice Identification. 2022 IEEE 19th International Conference on Software Architecture Companion (ICSA-C) (Honolulu, HI, USA, Mar. 2022), 15–19.
  • S. da Silva, H., Carneiro, G. and Monteiro, M. 2019. Towards a Roadmap for the Migration of Legacy Software Systems to a Microservice based Architecture: Proceedings of the 9th International Conference on Cloud Computing and Services Science (Heraklion, Crete, Greece, 2019), 37–47.
  • Saha, D. 2015. Service Mining from Legacy Database Applications. 2015 IEEE International Conference on Web Services (New York, NY, USA, Jun. 2015), 448–455.
  • Shehab, M.A., Tashtoush, Y.M., Hussien, W.A., Alandoli, M.N. and Jararweh, Y. 2015. An Accumulated Cognitive Approach to Measure Software Complexity. Journal of Advances in Information Technology. (2015), 27–33. DOI:https://doi.org/10.12720/jait.6.1.27-33.
  • Wohlin, C. 2014. Guidelines for snowballing in systematic literature studies and a replication in software engineering. Proceedings of the 18th International Conference on Evaluation and Assessment in Software Engineering - EASE ’14 (London, England, United Kingdom, 2014), 1–10.

Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected].

ICACS 2022, September 16–18, 2022, Larissa, Greece

© 2022 Association for Computing Machinery.
ACM ISBN 978-1-4503-9740-7/22/09…$15.00.
DOI: https://doi.org/10.1145/3564982.3564995