{'fraction_non_alphanumeric': 0.02119498314035432, 'fraction_numerical': 0.007760789281190344, 'mean_word_length': 4.973782372375573, 'pattern_counts': {'":': 0, '<': 0, '<?xml version=': 0, '>': 1, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 1, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
Predicting Software Effort from Use Case Points: A Systematic Review

Context: Predicting software project effort from Use Case Points (UCP) method is increasingly used among researchers and practitioners. However, unlike other effort estimation domains, this area of interest has not been systematically reviewed. Aims: There is a need for a systemic literature review to provide directions and supports for this research area of effort estimation. Specifically, the objective of this study is twofold: to classify UCP effort estimation papers based on four criteria: contribution type, research approach, dataset type and techniques used with UCP; and to analyze these papers from different views: estimation accuracy, favorable estimation context and impact of combined techniques on the accuracy of UCP. Method: We used the systematic literature review methodology proposed by Kitchenham and Charters. This includes searching for the most relevant papers, selecting quality papers, extracting data and drawing results. Result: The authors of UCP research paper, are generally not aware of previous published results and conclusions in the field of UCP effort estimation. There is a lack of UCP related publications in the top software engineering journals. This makes a conclusion that such papers are not useful for the community. Furthermore, most articles used small numbers of projects which cannot support generalizing the conclusion in most cases. Conclusions: There are multiple research directions for UCP method that have not been examined so far such as validating the algebraic construction of UCP based on industrial data. Also, there is a need for standard automated tools that govern the process of translating use case diagram into its corresponding UCP metrics. Although there is an increase interest among researchers to collect industrial data and build effort prediction models based on machine learning methods, the quality of data is still subject to debate


Introduction
Use Case Points (UCP) has been studied intensively in the past two decades as an alternative method to Function Points, with a goal to predicting software effort at early software development phases [1][2] [3]. In spite of the widespread of use case techniques in software industry, the UCP method still confronts some challenges such as: (1) lack of sufficient public industrial data [4], (2) different human interpretation [5], (3) the debate about algebraic construction of UCP method [1], (4) the way that the use case complexity is measured, and most importantly (5) there is no stable technique in literature that enables practitioners to produce most likely effort from UCP size metrics. remarkably, not all published research studies on UCP provide significant contributions to body of knowledge of the research field. In fact, a good number of studies attempt to only run examples on UCP method without supporting the community with useful conclusions. Therefore, there is a need for a Systematic Literature Review (SLR) that can help in classifying and analyzing the published studies with a goal to structure this field of interest and provide directions and support for future research [6] [7]. Despite many systematic literature reviews on effort estimation, the field of effort estimation based on UCP is still not reviewed carefully. It is well known that the goal of SLRs is not only aggregate all existing evidence on research questions, but also to support the development of evidence-based guidelines for practitioners [6][8] [9]. This paper introduces a systematic literature review for UCP method. This allows us to: 1) build a classification scheme and structuring the field of interest, and 2) provide recommendations based on the strength of the evidence of UCP effort estimation performance in the current research. In fact, we reviewed over 120 published research studies on effort estimation based on UCP. These studies have been identified from different research venues in the period from 1993 to February 2020. We chose the year of 1993 because the original model of UCP effort estimation was proposed in that year by Karner [10]. In order to ensure the quality of these studies and their benefit for our systematic mapping and literature review, we followed the procedure proposed by Kitchenham and Charters [11] based on evidence-based software engineering. Basically, we identified some mapping and review questions in order to classify the published UCP effort estimation studies based on various criteria. To facilitate the searching process, we constructed a comprehensive search query to find candidate papers. Then, inclusion and exclusion criteria are used to filter the most relevant papers, in addition, the quality assessment is run on the selected papers in order to filter the most quality papers that help us to draw better conclusion. lastly, the data extraction, analysis and synthesis are performed to extract knowledge and conclusions. At the end of these steps we ended up with 75 quality papers that help us to address mapping and review questions. Our paper is different from previous SLRs in the following points: 1. Different focus: The focus of this study is on a narrower field of effort estimation which is based on UCP size metric only. The UCP method itself has not be reviewed thoroughly in previous SLRs as a mean of effort estimation.
2. Structuring the field of interest: this study aims to build classification scheme based on effort estimation and UCP. The classification scheme includes classifying and studying UCP papers based on their contribution, favorable prediction techniques, research approaches and nature of datasets.
The rest of the paper is organized as follows: Section 2 presents related work on previous SLR studies in the field of software effort estimation. Section 3 introduces the method of SLR that we used in this paper. Sections 4 and 5 present results of mapping and review questions. Sections 6 and 7 present discussion on the findings and conclusions.

Related Work
When researchers encounter software engineering literature, they found multiple systematic review studies on effort estimation, but just one of them was designed for UCP effort estimation. The reason behind that might be because they involve UCP effort estimation methods with other effort estimation methods. A recent systematic literature review study was conducted by Mahmood et al. [12] based on UCP and experts judgement software effort estimation methods. They identified only 34 papers within the period 2000 to 2019. The main theme of this study is to examine the published paper on UCP and expert judgement in terms of several point of views including research contribution, dataset usage, accuracy metrics, and findings of the selected studies. They found that expert judgment estimation technique is the most frequently used in effort estimation. In addition to that, the industrial datasets are the most used type of data in UCP method.
The main difference between our SLR study and Mahmood et al. [12] study are: 1. Different theme, they focus on two estimation approaches which are Use Case Points and Expert Judgement. Among 34 studies, only 25 studies are related to UCP. Therefore, great number of valuable publications in the domain has been ignored. 2. Our SLR is a mapping and review studies, while their study is just review. 3. Search string, inclusion and exclusion criteria and research questions are quietly different. 4. Mahmood et al. [12] focused on public datasets that are not related to UCP, whereas we focused our study on UCP public and private datasets.
On the other side, we present a literature for common SLR studies in software effort estimation. Jørgensen and Shepperd [9] conducted a systematic literature review on software development cost estimation studies. The purpose of this SLR was to increase awareness of researchers with quality and reliability of previous published studies. They identified 304 relevant conference and journal papers published in different venues. The outcomes of this SLR provided recommendations about identifying relevant research papers and selecting appropriate research venues. They also recommended using industrial software effort estimation methods and datasets.
Idri et al. [7] conducted a systematic mapping and literature review on analogy-based effort estimation. They used a comprehensive SLR process to cover all aspects of analogy-based research area including estimation accuracy and context. The results of this SLR focused the light on the current research directions on this kind of estimation and open new research questions on how to improve the visibility of analogy-based effort estimation.
Usman et al. [13] conducted a systematic literature review on software effort estimation in agile software development. They selected 32 quality papers out of 443 candidate papers. Among various estimation techniques, they found expert judgment, planning poker, and use case points method are the most used estimation techniques. However, none of them achieved good accuracy. Furthermore, there was a debate about which reliable cost drivers that should be applied for this kind of estimation. The story points and use case points were the most used size metric in agile software development.
Kitchenham et al. [6] investigated and evaluated the previous SLR studies in software engineering. They conducted a systematic review and showed that eight out of twenty relevant studies addressed research trends rather than technique evaluation, and seven SLRs addressed cost estimation. The study suggests the following: 1) mainstream software engineering topics are not well represented. 2) the Simula Research Laboratory in Norway is the leading software engineering institution in terms of undertaking SLRs. 3) the current output of Evidence Based Software Engineering (EBSE) articles is strongly supported by European researchers.
In the same direction MacDonell et al. [14], investigated the reliability of previous systematic reviews in the context of empirical software engineering. They conducted two parallel reviews of the same research questions based on an agreed metaprotocol with a goal to measure the outcome stability of systematic reviews. Both teams worked separately in parallel. The results found that there is no significant difference between two outcomes, which showed that the SLR proved to be robust to differences in process and produced stable outcomes.

Method
The procedure of SLR that we used in this study includes five main steps, as shown in Figure 1. In the first step, we identified main mapping and review questions. The goal of mapping review is to enable us classifying the published UCP effort estimation studies based on various criteria. In the second step, we construct the search query that will be used to find candidate papers on the common digital libraries such as IEEE Xplore, ACM, Science Direct, Wiley and Springer Link. In the third step, the inclusion and exclusion criteria are applied on all candidate papers to filter the most relevant papers. During this step, the duplicate papers are also removed. Later, the quality assessment is run on the selected papers from the previous step in order to filter the most quality papers that help us to draw better conclusion and extract required knowledge. In the last steps, the data acquisition, analysis and synthesis are performed in order to extract knowledge and findings. In the upcoming subsections the complete description of each step is discussed in more details.

Research Questions
Nine research questions (5 mapping questions and 4 review questions) were proposed to achieve the goals of this SLR study. The obtained review results enable researchers to understand the main types of contributions and challenges in this field of interest. The synthesized data can usually serve as basis for recommendations of the best practices. The Nine research questions have been proposed and reviewed by three authors in order to avoid inconsistency among them. At glance, these questions are classified into two categories: mapping and review questions. The mapping questions (MQ1 to MQ5) aim at building a classification scheme and structuring Also, some papers published in different journals or conference proceedings have been reviewed. MQ2 aims to list various types of contributions in UCP. We identified the possible main contributions in the field of interest. These contributions are classified to 1) technique, 2) tool, 3) comparison, 4) validation, 5) metric and 6) model as shown and described in Table 2. MQ3 attempts to identify the potential categories of applied research approaches for UCP effort estimation studies. We have identified seven research categories that have been applied in this field of interest as shown and described in Table 3.  With respect to RQ1, we discuss the impact of used data and validation technique on the accuracy of UCP effort estimation. We discuss the accuracy for different types of used datasets. For RQ2, we identify the impact of using other machine learning and data mining techniques on the accuracy of UCP method. RQ3 aims to identify the different UCP research contexts that are most favorable among researchers. we identify the challenges that appear when using student projects and case studies for building effort estimation based UCP models. we consider the assessment of the vulnerability of UCP computing procedure (using transaction points or steps) and weights on effort estimation. Finally, RQ4 intends to shade the light on the possible shortcomings when searching for relevant work.

Search process
To address the proposed research questions, we made an automated search query, using predefined searching terms, in the common research digital libraries and electronic databases such as "IEEE Digital Library, ACM Digital Library, Science Direct, Wiley, Springer". These databases were selected because, from experience, most of the journals and proceeding of the selected papers were indexed by these databases. Furthermore, Google Scholar was also used to search for papers that were not indexed in the above libraries because it explores other digital libraries on the Internet.
With respect to query string formulation, we followed the SLR guidelines mentioned in [11]. The query string is constructed using all important terms then these terms are linked using AND/OR operators. OR operator is used to link all synonyms and variation of each incorporated terms, then the AND operator is used to connect the main terms. All authors have participated in the query construction and revision to ensure its comprehensive and correctness. The formulated query string has been tested in some digital libraries to ensure its quality. The initial query string did not include terms such as Lifecyle and Simplifying which they have been added after testing on some digital libraries such as IEEE digital library and Science Direct. The query string has been executed in February 2020. Keywords from other known studies (e.g. title, abstract and keywords from well-known studies) have been added if they were not part of the initial query string. The complete proposed query string is: ("Use Case Points" OR "Use Cases" OR UCP) AND (Project OR Software OR System OR Application OR Product OR Development OR Lifecycle) AND (Effort OR Cost) AND (Prediction OR Predicting OR Estimation OR Estimating OR Evaluating OR Simplifying) In the initial search stage, we used the proposed query string to search for candidate papers in the mentioned digital libraries. In the second search stage, we have reviewed the reference lists of the filtered studies that met inclusion and exclusion criteria (see section 3.3) to identify papers related to UCP based on their title. The papers that were found highly relevant are then added to the list of relevant papers. Furthermore, some papers that we already aware of have been used to control the quality of the search as shown in Table 4. We recorded for each control paper the digital library from which it was retrieved before and after the search. Only four cases present mismatch result because of the sequence of digital library search (IEEE, ACM, Springer, Science Direct, Wiley and Google Scholar). This enables us to assess whether or not the initial search stage had missed any highly relevant papers and to ensure that the search covered the maximum number of available UCP studies.

Inclusion and Exclusion Criteria
This process is conducted to filter the selected papers from previous step by running inclusion and exclusion criteria. This step is important as it enables us to identify the relevant and related papers that can help in answering research questions. First, all authors discussed the criteria of inclusion and exclusion that should be used. After reaching an agreement on the inclusion and exclusion criteria, each paper (mainly title, abstract and keywords) was evaluated by first and second authors based on the recommended inclusion/exclusion criteria to determine whether it should be retained or rejected. The paper is considered "include" if at least meets one of inclusion criteria and none of exclusion criteria. On the other hand, the paper is considered "exclude" if at least one of the exclusion criteria and none of inclusion criteria is met. Finally, the paper is considered "uncertain" if it meets some inclusion and exclusion criteria. In this case if all authors agreed that the paper is "include" then the paper is retained, otherwise the paper is considered "exclude", thus it is rejected. If the decision could not be made, all authors discussed the paper again by reading the full text until they reach agreement. The high number of agreements on the decision confirm the relevance of the proposed inclusion and exclusion criteria. The following points explain the inclusion and exclusion criteria in which OR Boolean operator is used to link between points in each type. The third author ran quality assessment on the selected papers independently. She reviewed each paper and gave score for each question based on the criteria discussed below. When the decision could not be reached, the third author communicated with other authors to give their opinion and to reach an agreement. The total score for each paper is then computed by summing the questions scores. If the total score is less than or equal to 4, the paper is excluded at this stage, otherwise it is retained. The questions were scored as follows: QA1: score (+1) is given if the objectives are stated clearly. Score (+0.5) is given if the objectives are not well defined. Score (0)  QA5: score (+1) is given if there are results and statistical tests to support the findings of the study. (+0.5) is given if there are results but there is no statistical test to support the findings. (0) is given if the results are weak, and no statistical tests were conducted. QA6: score (+1) is given if the paper reports the threats to validity in a correct way. (+0.5) is given if the threats to validity are mentioned but not related to methodology. (0) is given if no threats to validity was given.
QA7: to answer this question we use on the Journal Citation Report (JCR) 2019 or Science Citation Index Expanded (SCIE) to score the journal of the paper, and the Computer Science Conference Ranking (CORE) to score conference/workshop/symposium of the paper. Score (+1) is given if the journal is ranked Q1 or Q2 in JCR or indexed in SCIE, or if the conference/workshop/symposium is ranked A in CORE. (+0.5) is given if the journal is ranked Q3 in JCR, or if the conference/workshop/symposium is ranked B in CORE. (0) is given if the journal is ranked Q4 in JCR, or if the conference/workshop/symposium is ranked C in CORE.

Data extraction and synthesize
As recommended in the SLR guideline [11], The data extraction was carried out by the first two authors of this paper, where both authors extracted and checked the data. However, the first author coordinated the extraction and checking data procedure. Each paper was read by the three authors and the necessary data were collected with goals to serve objectives of our SLR. Any disagreement among the authors regarding a particular paper was resolved by contacting the authors of that paper to answer some necessary questions about their paper. The list below contains data extraction form which describes the data that have been extracted from candidate papers. These data are then summarized and tabulated in a way that can serve the objectives of our SLR. The data that we have extracted are: -Article Identifier.
-The articles source.
-Techniques that are used to construct the effort estimation.
After that, the summarized data are synthesized in order to answer the proposed research questions. Since the data contain quantitative and qualitative data, different kinds of synthesis approaches were used such narrative synthesis and quantitative data synthesis to show the synthesized data in different forms. However, approaches like meta-analysis is not possible because the studies included in our SLR are not similar due to different experiments configuration and different datasets.

Threats to Validity
The main threat to validity of our review is the exclusion of relevant articles. Finding the most relevant and quality papers is the main task of an SLR study because it has significant impact on the findings and the drawn conclusions. To reduce this threat, all authors participated in designing the search string. The proposed search string was evaluated on the electronic digital libraries in order to examine its accuracy in retrieving related papers. The first two authors checked manually the references of the selected papers separately, in parallel, in order to identify all missing articles that were not returned by the search string. Furthermore, two authors separately conducted applying inclusion/exclusion criteria and quality assessment, if there was any doubt, the full study was read again. All disagreements among authors were discussed until a final consensus was reached. For quality assessment, the minimum threshold was set by all authors to be 4 out of 7 which enables us to select the most relevant papers. The second threat is publication bias. Basically, we have identified five main electronic digital libraries that are commonly have strong publications in the field. Google scholar was also used to apply the search string because it explores other digital libraries on the internet. Google scholar allows us to not avoid publications venues that are not commonly used among software engineering researchers. The third threat is data extraction bias. Two authors conducted exhaustive search and read each paper independently to extract important data from the selected papers. We have identified the primary data that helped us to address the research questions as explained in section 3.5. However, data extraction bias may occur, especially when collecting data from papers that present case studies or that used unclear dataset. Therefore, the data extracted for each paper were compared and all disagreements were discussed by the researchers.

Results of Mapping Questions
This section describes the results of mapping questions (MQs). Firstly, we made search for candidate papers using the proposed search string on the common digital libraries (IEEE Xplore, ACM, Science Direct, Wiley, Springer Link and IET). We also applied the search query on google scholar because it is a common indexing venue for other digital libraries. This process has resulted with total of 127 related papers as shown in Figure  2, most of them were collected from IEEE Xplore digital library. After that, the inclusion and exclusion criteria have been applied to filter out all the relevant papers. This step has resulted 91 (72%) selected papers. Finally, the quality assessment has been applied on the selected papers from previous step by assessing and aggregating quality scores for each paper as shown in Appendix B. This step has resulted 75 (59%) acceptable quality papers where 33.3% of them (i.e. 25 out of 75) were high and very high quality as shown in Table 5.

Fig. 2 Results of searching process
The complete lists of the selected studies with their citations and classification are presented in Appendixes A and C. Figure 3 shows the number of papers in each searching phase classified as conference paper, journal article, magazine, newsletter and white paper. It is clearly noted that most of the papers have been published in conferences and few of them were published in journals. This may explain why this type of effort estimation is not yet mature enough like other estimation disciplines. We kept only one white paper, which is the Karner paper [10], because it describes the original UCP model, which is the basis of effort estimation based UCP. Figure 4 shows the publications over the years, colored with type of publications. Clearly, there was an increasing interest in effort estimation based on UCP among researchers in the beginning of 2000s and reached peak in 2005, then it began to decline with some attempts to stabilize the publications. Notably, the journal articles started to appear after 2005 which demonstrates that this area of research become mature after 2005. Number of publications for this kind of estimation is still small in comparison to other type of effort estimation. Figure 5 shows that the majority of selected papers have been found on IEEE Xplore digital library because the common conferences that authors usually published were sponsored or technically co-sponsored by IEEE. This is because we executed the query string first on the main research digital libraries such as IEEE, ACM, Science Direct, Springer Link and the papers found in these libraries are counted for them. Then the remaining papers that have been found in Google scholar are counted for Google scholar. this explain why IEEE digital library has larger number of publications than Google scholar. Step 1 Step 3 Step 2 Fig3. Number of papers after each stage of searching and filtering process  As mentioned earlier we identified 75 relevant papers after two stages of filtering. Most of these papers were published in conferences and just few of them were published in journals as shown in Figure 1. The top journals that have papers on UCP effort estimation are summarized in Table 6. We can notice that there are no common venues among publications. Also, not all listed journals are classified as software engineering research focus. Only 7 out of 14 venues can be considered software engineering journals, which have 13 out of 20 publications. The remaining seven publications were published in none-focused software engineering journals which dramatically affect the visibility and breadth of the quality of forthcoming papers. This raises a big concern about the reputation of the published work in this field of interest. Therefore, the outcome of those papers that were published in none-focused software engineering journals would be biased toward the theme of that journal and their findings would seem unuseful for software engineering community. Unsurprisingly, the top five journals in the

Main contributions (MQ2)
We have been interested in getting to know what are the main contribution types in this field of interest. We have identified and described six possible research contributions as shown in Table 2. The classification of papers based on contribution types is presented in Table 7. After studying and analyzing the selected papers by three authors, we found that that Enhancement contribution type is the most dominant one, followed by validation contribution type with very slight difference as shown in Figure 6. This is an indication that most authors favor either continue developing new models on the original UCP sizing method or validating existing one on industrial and new datasets from different domains. The third top ranked contribution type is developing techniques to estimate effort from UCP size metrics. Building tools to measure UCP from use case diagram and requirements are very rare and have little of interest among researchers. From these results we can understand that researchers do not interest in developing effort estimation models based on UCP as much as their interest in enhancing the sizing mechanism of UCP method.  The third proposed research questions stated that:" What are the main types of research approaches applied to effort estimation based on UCP?". Indeed, we are interested in getting know which are the main research methodologies that were used by researchers when studying this field of UCP effort estimation. The classification of papers based on research approach is shown in Table 8 and Figure 7. We can notice that the most studies focus on evaluating UCP effort estimation as potential approach for early effort estimation. The second approach is the case study. This approach was used by around 20 studies to examine the usefulness of UCP effort estimation based on specific case studies. The third approach is based on comparison between different effort estimation models based on UCP such as comparing between Fuzzy Logic and Neural network over UCP historical projects.
Fig7. Bar plot for main research approaches. . What are the most favorable techniques that are used to produce effort estimates from UCP, and how has this changed over time? The principal problem in UCP method is how to convert the likely UCP size metric into its corresponding project effort. The early version of UCP method that is proposed by Karner [10] suggested using productivity as second cost driver bedside UCP, where a fixed Productivity or a very limited productivity ratios were used [3], [19], [20]. These productivity values were figured out based on a very limited number of case studies. This approach was the dominate approach when estimating effort from UCP in most previous papers. The main reason behind using this approach was due to the absence of large historical industrial data, so authors used the original model to validate their hypothesis. In addition to that basic approach, authors attempt to build machine learning or statistical models to estimate effort from UCP based on small number of projects. Figure 8 depicts the most common techniques that were frequently used in combination of UCP in order to improve its accuracy. Amongst them, fuzzy logic, multiple linear regression and neural network have been the dominant methods used to estimate effort from UCP size metrics. The main problem with machine learning is that they need sufficient data in order to build a reliable prediction model. We can also notice that the most techniques that were published in journals are Karner and multiple linear regression.
Fig8. Bar plot for main effort prediction techniques based on UCP.
4.5 MQ5. What are type of datasets that are used to run experiments for UCP effort estimation? Until recently, most studies were using data collected from case studies or small number of business projects. This was clearly appearant in 90's and 2000's because most software companies do not document use case diagrams or sometimes, they do not follow a particular guideline when writing use case description. The case studies usually proposed by the authors of the papers based on information collected from some available project (either educational or commercial). Note that industrial datasets are those that collected within company from real business projects. While educational projects are those that collected by students. Some authors prefer collecting data from students because their graduation projects were most likely available and easy to collect after course of explanation and rehearsal.
From the analysis we found 62 (82.7%) of the selected papers used data in their experiments. The rest of studies they just propose ideas or discuss some issues related to UCP model. The list of all studies that used data to validate their hypothesis or models are listed in Table 9. The table illustrates the type of dataset that was used in the selected studies. From these studies we found that both industrial datasets and case studies were the dominant type of datasets, where 41.9% of the studies used case studies to validate the hypothesis, and 35.5.3% of the studies used industrial datasets. 19.4% of the papers used both industrial and educational studies. The most interesting observation is that most studies during the period 1993 until 2005 used few case studies or small dataset to validate their work. The first reason for that is the UCP method was not of greater research interest among researchers. The second thing is that the UCP itself was not widely spread among practitioners because it needs a lot of details regarding translation of use case diagram to metric values, in addition to assessment of environmental and technical variables that are subject to some degree of uncertainty.  Figure 9. shows Bar plot of the number of projects in each case study. It is clear that most of the case studies build their knowledge on data of one project which is empirically not acceptable to generalize their findings. This can be also confirmed in Table 10 which shows the studies and percentages for each used number of projects in their case studies.

Results of Review Questions
This section presents and comments on the findings obtained from mapping questions. Specifically, we present answers to our proposed review question with the aim to synthesis the findings from our analysis in section 4.
5.1 RQ1. How easy is to collect UCP data from software industry and what is the implication on effort estimation? The reported accuracies of the selected studies depend on two parameters: (1) quality of dataset including the number of employed projects; and (2) the used evaluation method (leave-one-out cross validation, holdout, nfold cross validation, evaluation criteria, etc.). With respect to first point, we have seen from the results of MQ5, the evaluation of UCP effort estimation is primarily performed on case studies with a percentage of 41.9% or industrial UCP datasets with percentage of 35.5% of the selected papers. Also, most of case studies used a few numbers of projects to validate their hypothesis as mentioned in section 4.5. A few of them reported accuracies in terms of the well-known accuracy measures. Table 11 shows the most frequently datasets and their availability. It is important to note that multiple datasets were used in some studies. Interestingly, Nassif dataset is the most frequently used (63%), followed by the Ochodek dataset (45.5%). Note that the review takes into account both industrial and educational datasets. The most remarkable part of this analysis is that not all datasets are available for community to replicate experiments and generalize extracted knowledge. Unlike other effort estimation research areas, this is a big challenge that face this area of interest. Regarding evaluation techniques that have been followed in the selected studies, not all selected studies used the common machine learning validation techniques (e.g. Leave one-out cross validation, Hold-out and K-Fold Cross validation) because they mainly use a few number of projects as case studies and they did not apply either machine learning or data mining techniques. However, the studies that used validation strategies are listed in Table 12 and categorized into three types of validations. The most popular of these were Hold-out and K-fold cross validation (k > 1) with percentage of 35.7% each.  [65] 35.7% Regarding the accuracy measures that were used to validate UCP effort estimation models and their variants, there was a discrepancy in the type of evaluation measures. Table 13 describes the most common accuracy measures the are frequently used to validate UCP effort estimation models. The most noticeable observation is that only 44% of the papers recorded accuracies in terms of the well-known accuracy measures as shown in Table 14. Particularly, MAE was used in 9 of the studies (12%), MMRE was used in 19 of the studies (25.3%), MMER was used in 4 of the studies (5.3%), Pred (25) was used in 13 of the studies (17.3%), MBRE and MIBRE were used in 6 of the studies each (8%) and MSE was used in 7 of the studies (9.3%). To measure the average of relative errors to actual projects effort.
Magnitude of relative error relative to the estimate To measure the average of relative errors to predicted projects effort.
To measure the average of relative errors to minimum between actual and predicted effort.
To measure the average of relative errors to maximum between actual and predicted effort.

Standardized Accuracy = 1 − ̅̅̅̅̅̅̅
To test whether the prediction model really surpasses a baseline of random guessing and produces meaningful predictions. Where ̅̅̅̅̅̅̅ the mean absolute errors of random guessing.

Performance (ℓ) = × 100
To count the percentage of relative errors that fall within less than or equal toℓ of the actual values. where is the count of project that have magnitude relative error less than ℓ.

Root Mean Squared Error
= √| −̂| 2 To measure Mean Squared Error." Where and ̂ are the actual and predicted effort respectively. To further analyze the distribution of the accuracy measures of UCP effort estimation techniques, we drew interval plots corresponding to each of these criteria using the estimation accuracy values of each selected study. As can be seen in Figure 10, Table 12 To further analyze the estimation accuracy of UCP methods,  5.2 RQ2. What are the impacts of combining other techniques with an UCP method technique on its estimation accuracy? Since the introduction of the original UCP model in 1993 by Kerner, various of machine learning and data mining technique have been adopted and combined with UCP in order to improve its accuracy. The uses of such techniques were utilized for two goals: the first one is to improve the UCP sizing procedure, while the second goal is to build effort estimation model based on UCP variable. However, since the use of such technique enhance UCP sizing approach, it will have direct impact on the accuracy of UCP effort estimation. From Table  14 we summarize the results of accuracies for all techniques that were used either to enhance UCP size measure or to improve accuracy of effort estimation. The studies that followed Kerner approach in measuring UCP and estimating effort are called algorithmic in Table 16. From the table, we can notice that all used techniques produce relatively acceptable accuracy. If we consider the median statistic method as reference for comparison because it is less bias than other statistical measures, we notice that algorithmic model is the superior method in terms of MMRE and RMSE, whereas Fuzzy Logic is the superior models in terms of Pred, MBRE and MIBRE. ANN is best technique in terms of MAE. Note that each model may use different dataset and different validation technique. However, this can confirm that there is instability ranking among these techniques. Also, the use of machine learning methods such as Neural networks and Regression do not always produce superior predictions in comparison with Algorithmic techniques. This can open a new research direction to assess the usefulness of machine learning for predicting UCP effort estimation especially when historical datasets are become available.
The benefits of combining UCP with other techniques, especially machine learning, can still be useful for improving productivity prediction as it is an important key driver in translating UCP into the most likely software effort. In addition, measuring use case complexity can also benefit from combination with other techniques such as Neural Networks and Fuzzy Logic.  [3] identified several factors that affect the UCP method such as complexity measure of use cases, assessment of UCP adjustment factors, impact of learning productivity. Based on their findings, we attempt to identify the favorable UCP contexts that received greater attention than others. To accomplish that we extracted and investigated the strengths and weaknesses reported in the selected UCP studies as shown in Tables 15 and 16.
We found that the information reported is mainly related to UCP sizing technique and productivity factor prediction, which seem to have a significant impact on the prediction accuracy of UCP method. Although the philosophy behind construction of UCP method was inspired by Function Points method, the construction of UCP was broadly discussed and questioned because of the algebraic construction of all metrics and the weights that are used in the calculation. For instance, researchers turn attention to the limitation on the construction of UCP such as technical complexity factors assessment, environment factors assessment and involvement of calculations that are based on algebraically inadmissible scale-type transformations. Yet, there is no study attempts to validate the weights that are used in computing UAW, UUCW, EF and TCF metrics [21] and [22]. Authors of [23], [24], [25], [26], [4] and [1] went further to extend the UCP model by providing new complexity weights or by modifying the method used to predict effort. Other researchers work on the experience needed to translate use case descriptions into suitable metric (i.e. UUCW). Few authors discusses different approaches to measure the complexity of use cases based on transaction, paths and TTPoints [1], [23]- [25], [31] and [31]. Transaction is a set of trigger-response activities that is extracted from textual description of use cases. Paths is another measure based on cyclomatic complexity metric which is also derived from textual description of the use cases. In this regard, Robiolo et al., [27] [29] proposed an improvement to transactions by calculating paths which are computed form the cyclomatic complexity of the use case scenario. They introduced the concept of stimuli which is a system entry point that generates response (transaction) of an actor action in a use case. Ochodek et al. [1] discusses a reliability of transaction identification process in line of other use case complexity measures such as TTPoints. The main conclusion drawn from these studies is that both paths and transaction are useful for UCP calculation even that there is a slight difference in the accuracy. However, there is no automated tool that can help in this issue.
Recently, authors of [3], [19], [20], [32] studies shade the light into the need to learn the productivity factor from environmental factors of historical projects. They discussed the importance of using dynamic productivity ration instead of using fixed productivity ratio that was suggested by Kerner. Other approaches suggest learning productivity from UCP size metrics which could be as alternative solutions to improve accuracy of translating UCP into most likely software effort.
There are characteristics other than UCP construction parameters to be considered when using a UCP method. We summarize these in Tables 17 and 18. For example, an UCP technique is well defined procedure because it depends on robust modelling technique which is UML. This provided UCP the support needed to be spread across industry because use case diagram is a de-facto analysis technique for object-oriented software projects. In addition, the use case specification always receives support from software engineering community which helps to keep UCP model more stable. Moreover, the UCP has proven to be more accurate than expert judgement especially at early stages of software development. This is very intuitive as the UCP depends heavily on the use case diagram that has been extracted from software requirements. On the other hand, UCP is still not widely used within agile project development because of the nature of agile projects that depend on dividing project into small tasks with small number of requirements to be built within a period called sprint. This approach hinders applying use case diagram on a very small set of the project requirements while ignoring other important requirements.
To summarize the findings, the UCP is promising approach for early effort estimation and has many benefits for software industry. But still some improvements are required in some sides in order to cover all issues mentioned in Table 18. As mentioned in the previous section combining UCP with machine learning techniques could be a solution, for some limitations mentioned in Table 18, when we carefully consider the characteristics of the UCP dataset.  To what extent are researchers on UCP methods aware of the breadth of potential estimation study sources. Our main goal in this question is to make sure that researchers are aware of the variety of possible venues to publish studies related to the UCP method. An indication of this awareness was derived through a random selection of 5 UCP effort estimation journal papers and 10 conference papers (about 20% of the total). These 15 papers are marked with (A) in Appendix A. We noticed that: 1) Researchers usually do not refer to previously published, papers on the same research topic. This can be clearly seen in their related work or comparison with previous published results. Some researchers are not aware with state-of art results or models published with area of interest. 2) Conference papers are cited more than journal papers. This explain why the contributions of the new studies do not really handle the major challenges in this area of interest. For example, we can see too many repetitions in the experiment without drawing useful conclusion of clear contribution. We found that 40 percent of papers made references to at least one of the top five journals mentioned in Table 5. There were, relative to the number of papers available, few references to papers in IET software (20 percent), Innovations in Systems and Software Engineering, or Journal of Software: Evolution and Process. Most of citation were made to both Elsevier Journals: Information and Software Technology and Journal of Systems and Software. 3) Few papers referred to estimation results outside the UCP research community, e.g., to studies in soft computing, and artificial intelligent. The main portion of references to sources outside the software community seems to be to literature on fuzzy logic.

Discussion and Research Implication
This section presents summary of results and recommendations for future research. With respect to main type of contributions in the field of UCP effort estimation, our review revealed that the enhancement and validation on UCP model are the most frequent contribution types. Enhancement aims to improve the structure of UCP model to produce more accurate estimates, while validations aims at evaluating of the performance of existing UCP techniques using some historical datasets. Our review revealed that no one of the enhanced UCP models was adopted later as de-facto model for further investigation. This raise a concern regarding the quality and performance of such models. Therefore, it is recommended that future studies replicate the previous enhanced UCP models on various software development contexts and using new industrial datasets. Moreover, the review has found that there is a lack of in-depth studies on how to evaluate UCP models in real-life contexts.
In addition, most of the cases studies and datasets that were used to evaluate the UCP model are too obsolete to be representative. We suggest that researchers should put more effort on collecting reliable and quality UCP datasets which can help in evaluating and enhancing UCP models. In this regard, the UCP method can benefit from other related research fields that aims to improve UML modelling and specification. In fact, the use case specification has great impact on how the use case complexity are calculated which therefore affect final estimate accuracy. On the other hand, few tools implementing UCP method have been developed. It is perhaps not surprising that the use of UCP method within software industry is so limited. To solve this issue, we recommend that researchers implement automated tools to translate use case diagram and its specification to size metrics and provide guidelines on how to use these tools in industry.
Regarding the main techniques that have been used to produce effort estimates from UCP. This review revealed that fuzzy logic, multiple linear regression, and neural network are the frequent employed technique. Researchers put further focus on fuzzy logic because of imprecision nature of data collected at early stage of software development. However, we recommend that other techniques can be used in combination of UCP to enhance its accuracy, for example optimization algorithms can be used to search for best environmental and technical factors that improve UCP size metric. Some other techniques, such as genetic programming and Bayesian networks were not used in combination with UCP method. Therefore, researchers are encouraged to investigate the impact of these techniques when combined with UCP.
With respect the estimation accuracy, this review revealed that most UCP models tend to produce acceptable accuracy level. However, these results are based on case studies with few examples or on confidential datasets. Therefore, it is recommended to run more experiments on large industrial datasets. Also, there were no common accuracy metrics among researchers. Researchers are encouraged to use the common accuracy measures that proved to avoid bias and can generalize findings in the future such as Standardized accuracy (SA), MdMRE, MBRE and MIBRE. Researchers are also encouraged to discard biased measures such as MMRE and MMER.
Regarding datasets, our review showed that the cases studies and small datasets were the most common source of UCP evaluation. This shortage in reliable datasets, especially industrial one (i.e. which collected within software companies) hinder the generalization of UCP among practitioners and researchers. We recommend that researcher should work in line with software industry to build a comprehensive data collection tools that attempt to analyze use case diagram and translate its specification into appropriate UCP metrics values. Regarding the estimation contexts of UCP method, researchers should be aware of the impact various technical and environmental factors assessment on the constructing and evaluating UCP models. In addition, researchers should be aware of the best way to compute the complexity of use cases. Although the common technique to measure the use case complexity is based on transactions, our review revealed that there are different versions of measuring use case complexity such as paths and TTPoints that proven to produce better results than transactions in some studies. In this regard, we suggest that researchers should put more effort on improving the construction of UCP such as technical complexity factors assessment, environment factors assessment and involvement of calculations that are based on algebraically inadmissible scale-type transformations. few research works have studied the limitations of applying UCP in agile software development. It would be beneficial for the research community to address this limitation since the existing structure of UCP method cannot be easily adopted with agile development. Finally, the set of studies are dominated by 12 researchers who have appeared in at least three studies each as shown in Table 19. In particular, we found three main research groups which contributed good number of publications. The first group involve researchers from University of Western Ontario in Canada which has been involved in 10 of the studies: Ali Bou Nassif (16), Luiz Capretz (10) and Danny Ho (10). These papers are published in different venues, mainly on IEEE. Mohammad Azzeh and Ali Bou Nassif worked together in 8 studies (4 conference papers and 4 journal papers published in Science Direct, IET and Wiley). Bente Anda contributed with 5 studies in this research field. Petr Silhavy and Radek Silhavy were also another team who contributed with three publications, mainly on Science Direct. Furthermore, Miroslaw Ochodek at Poznan University of Technology has a substantial contribution in software requirements that are related to the applications of use cases in general. However, he has limited studies that address the UCP method in particular.

Conclusions
Predicting software effort from UCP size metric has witnessed increase interest among researchers in the past two decades. This kind of estimation is designed mainly for early software estimation. Although this approach has promises for better early effort estimation, there are many challenges that hinder the spread of this method in the industry. This systematic literature reviews most relevant published studies in this area of interest with attempts to focus the light on the main challenges and potential research directions. Among 127 searched papers, only 75 relevant papers with good quality have been selected for investigation. Twenty out of 75 selected papers were published in journals which depicts that the quality of work published in the field of interest is still low. The main reasons are that: 1) absence of reliable public industrial datasets, 2) most authors mainly focus on building effort estimation from UCP, but few studies were designed to improve process of UCP, 3) The algebraic construction of UCP method has not been toughly validated, mainly the arbitrary numbers used to adjust technical and environmental factors, and finally 4) most developers do not follow a proper guide when translating use case diagram into size metrics, which is easily influenced by uncertainty in understanding the use cases description. Another interesting observation is that half of the journal articles were published in nonspecialized software engineering journals. This may affect the visibility and quality of research outcomes of these studies. Even that the readers of these papers might not find them useful since they were affected with the theme of the journal that they published in.
Most articles used small numbers of projects because of the difficulty in obtaining reliable datasets that are commonly used in software cost estimation domains. This is raised from the fact that UCP data are different in structure from other effort estimation dataset. Furthermore, the process of measure the required information takes long time comparing with other effort estimation datasets. The good thing that we observed in this SLR is that large number of studies used industrial projects rather than case studies and educational projects.
The original UCP effort estimation that was proposed by Karner was the main the commonly used model in estimating effort from UCP, especially in the first decade after publishing UCP. This is because of the absent of historical datasets. Later, fuzzy logic and linear regression were among published effort estimation models.
Finally, Enhancement and building techniques were the dominant approaches for the UCP studies. There was little interest in developing estimation tools approach, especially intelligent tools that translate use case description to UCP metric. Also, we have investigated some journals to examine awareness of published results and breadth of potential estimation study sources. We found that authors of some journal articles, are not aware of previous published results and conclusions in the field of UCP effort estimation. Furthermore, Researchers usually do not refer to previously published, seemingly relevant, papers on the same research topic. Interestingly, few papers referred to estimation results outside the software community.