A Systematic Literature Review on Regression Test Case Prioritization

—Test case prioritization (TCP) is deemed valid to improve testing efficiency, especially in regression testing, as retest all is costly. The TCP schedule the test case execution order to detect bugs faster. For such benefit, test case prioritization has been intensively studied. This paper reviews the development of TCP for regression testing with 48 papers from 2017 to 2020. In this paper, we present four critical surveys. First is the development of approaches and techniques in regression TCP studies, second is the identification of software under test (SUT) variations used in TCP studies, third is the trend of metrics used to measure the TCP studies effectiveness, and fourth is the state-of-the-art of requirements-based TCP. Furthermore, we discuss development opportunities and potential future directions on regression TCP. Our review provides evidence that TCP has increasing interests. We also discovered that requirement-based utilization would help to prepare test cases earlier to improve TCP effectiveness.


I. INTRODUCTION
Software testing is a significant stage to confirm the quality of the software before it is released. Particularly in the software maintenance process, the study [1] demonstrated that the cost of testing implementation could reach 80% of the total maintenance costs. Therefore, further efforts are needed to reduce execution time in the testing process.
In the iterative-incremental process and the era of agile software development, new functions are increased by a short cycle [2]. Thereby, software development is also a process that is carried out continuously because of adding user needs. When there are changes in the software, new errors might appear. This situation will disrupt the previous stable system [3], [4]. For this reason, regression testing (RT) is needed, because it will verify the software to find the impact of changes to ensure its continued quality.
One of the popular techniques in RT is test case prioritization (TCP). This technique will order test cases in the test suite so that the testing execution will process the test cases with the most potential to find errors. The advantage of TCP implementation is that even if the testing process must be stopped for certain reason, the most significant errors have already been found. According to [5], there are two essential aspects of building TCP: determining the TCP approach and the technique to optimizing the TCP implementation.
In the past years, TCP studies gained significant attention and achievements to improve regression testing effectiveness. The study [6] emphasized that the researchers focus on five aspects: coverage criteria, algorithms, practical concerns involved, measurement techniques, and scenario to implement the technique. On the other side, studies [7], [8] explained that most of research efforts used source code as input resources to obtain the maximum number of faults within a certain period. Utilization of the code information is best applied to unit-level or block-level tests. Therefore, these efforts have limitations when applied to large systems since statements and block levels in source code will be challenging to manage [9], [10]. Utilizing code information will be expensive to implement because the tester must read and understand the source code, and this will take a long time.
Besides code-based, other TCP approaches have also been developed. According to a study [11], since a system is built from many requirements, the use of information from the requirements can increase error discovery. For this reason, some researchers argue it is essential to develop requirementsbased TCP, while the studies in this area are still limited. Therefore, the paper's main objective is to investigate TCP research's state of the art, emphasizing requirements-based TCP. The expected contributions of this study are: 1) To provide an overview of TCP developments in the years range from 2017 to 2020. We intend to highlight requirements-based TCP as one of the TCP approaches worth considering, and as far as we are concern, this is the first review on requirements-based TCP.
2) To present the variations of the TCP approaches and techniques explored so far, the diversity of software under test (SUT) used as an object for empirical evaluation, and the variation of metrics utilization to measure the TCP effectiveness. The results will be helpful to form a basis for future requirements-based TCP research.
In many cases, RT is performed in high-pressure situations since testing execution requires a very long time. For example, the testing process conducted in an industry takes up to seven weeks to program with 20,000 lines [14]. In another case, Google has reported that there are more than 20 code changes every minute and that there is a change of 50% of files per month, resulting in a very long execution [15], [16]. The other example is a software development product with up to 30,000 functional test cases that need over 1000 hours. Besides, engineers need hundreds of hours to oversee the implementation of regression testing, supervise tests, monitor test results, and maintain test cases, oracles, and everything needed to support automated testing. Therefore, the study [17] concluded that RT is costly due to thousands of effort hours.
It is then understandably if several researchers emphasize that the common problem in RT is time constraint or insufficient [8], [18]- [20]. Through various surveys, research in the RT field will continue to grow, with the increasingly diverse types of approach or a broader application domain, for more effective methods.
RT techniques are divided into three types [2], [21]: regression test minimizing (RTM), regression test selection (RTS), and regression test prioritization (RTP), or also known as test case prioritization (TCP). A study [22] summarizes the comparison of the three techniques which are presented in Table I. the most potential to find an error in the program will have a higher priority and be executed earlier.

B. Related Work
Some surveys or reviews have been conducted on RT and the TCP techniques. This section describes the study, SLR, and mapping obtained from many digital libraries in 2010-2021 range.
Regression testing survey is available in several studies [2], [16], [21]. The study [2] surveyed RT in the scope of the technical side, metrics, strategy, software under test (SUT), and an overview of the optimization technique in the form of automation, or using a traditional approach. Meanwhile, the study [16] described the techniques and advantages of all three types of regression testing. Study [21] on the other hand, reviewed articles with the most extended ranges from 1977 to 2009. This study discussed the approaches and techniques covering test case minimizing effort, test case selection, and TCP in great detail.
The specific survey on TCP was performed in [5], [22], [23] [24], [25], [26], 33], [27], [28], and [29]. Survey [22] and [23] are two very detailed surveys and have been cited by many TCP researchers to date. The study [22]  In analysing TCP, study [5] explained that there are two approaches to categorize TCP implementation: input resources (the information sources for the TCP process) and optimization strategies (methods or algorithms for executing the TCP technique). This study classified the TCP approaches and the TCP optimization strategies according to these two categories. This method is a more straightforward step to facilitate TCP classification. In measuring the TCP effectiveness, this study proposes another view of the metric used by many researchers, which is the average percentage error detection (APFD). However, APFD has limitations because it treats all test cases as having the same weight.
A survey [24] has mapped and reviewed 108 articles from 1999 to 2016. The author mapped article content into several aspects: the place of publication, the number of articles on the approach, and the number of metrics. Furthermore, the review includes the use of tools, the TCP effectiveness for each study investigated, the analysis of APFD factors, and a review of APFD in some SUT applications.
The model-based TCP has been studied [25] which reviewed 32 articles from 2005 to 2016. The authors classified the TCP models based on approaches, their characteristics, and how they can overcome obstacles in TCP implementation using model-based as an input resource.
The study conducted by Mukherjee and Patnaik [26] surveyed 90 TCP articles from 2001 to 2018. The purpose of the survey is to investigate several aspects: TCP Metric, the program or SUT, and identify the TCP method commonly used. This study concludes three essential perspectives: 1) the APFD metric is the most extensive to measure the effectiveness of TCP, 2) the program in the SIR repository is the most widely used as SUT, and 3) the coverage-aware, requirements-based, and model-based are the three approaches that are getting more attention, currently.
In 2019, Lio et al. [30] surveyed 191 articles on TCP published in the 1997 to 2016 range. They analyzed TCP trends based on six categories: constraints, algorithms, criteria, measurements, scenarios, and empirical studies. In addition to this, they highlighted several improvements during the development of test cases in 2004-2005, 2008-2009, and 2014-2015. They analyzed the trends of the period from various points of view as a basis. More specifically, the analysis was related to the emergence of technologies that allow online repositories to host software projects.
Meanwhile, a study [27] have reviewed TCP trends from 2017-2019. An essential aspect of this study is to answer whether the taxonomy proposed in the previous study [22] is still valid. This study further suggests other approaches: location-based, machine learning-based, neural network-based, and empirical, which are empirical studies of TCP in certain domains, with specific guidelines or software.
Recently, two more literature reviews on TCP are published in 2021. Samad et al. [28] reviewed TCP in general, and Hasnain et al. [29] specifically reviewed TCP's functional requirements. Samad et al. reviewed 52 TCP articles in the 2007-2020 range. Like most studies on regression testing and, in particular, TCP, the RQ proposed in this study is a state-ofthe-art of TCP technique, parameters, dataset or object software used, and metrics to verify TCP techniques. The parameters used in the study include cost, code coverage, and fault detection ability.
The study conducted by Hasnain et al. [29] focuses on TCP studies that utilize the functional requirements approach, with 35 article from 2009 to 2019. The study answered 7 RQs: state-of-the-art regarding functional requirements-based TCP, the key factors discussed in the TCP requirements-based study, the essential aspects considered for proposing the TCP approach, the crucial issues addressed in the TCP functionalrequirements study, test case size and type of defect, metrics used, software under test (SUT), and whether these studies can be applied in the real world or not.
There are five surveys on both RT and TCP for specific purposes. The study [15] reviewed the trend of the TCP approach in web applications and analysed the qualitative assessment of web applications. The analysis was carried out on three web application sizes: small, medium, and large, and was analysed from two categories: simple and complex web applications. Meanwhile, a study has been conducted [31] to map the regression testing applications on web services. The mapping aims to identify gaps between existing studies and the future studies in each article reviewed. The study mapped several things: stakeholders, SUT and related standards, validation methods, and web services, as well as mapping to validation services.
Moreover, to review the use of TCP techniques in web services, a study [32] has identified statistical methods, metrics to validate the proposed technique, and issues relating to current TCP concerning web services. Furthermore, a study [33] reviewed the scope of TCP's application for continuous interaction (TCPCI) environment. Some important aspects were analysed, including problems in continuous integration (CI), sources of information (input resources) for TCP in TCPCI, evaluating measures using metrics in TCP, and analysis of research opportunities to guide future research.
A study by [34] analysed 98 articles to support the research. The authors analysed and mapped several aspects, including the techniques and the efforts to improve the test's scope. The authors also construct a taxonomy that allows researchers to consider the relevance and applicability of regression testing to specific industries. Table II presents the secondary studies, whether in the form of SLRs, surveys, or mapping, from 2010 to 2020, grouped by RT, TCP technique, and RT or TCP for specific purposes.

III. REVIEW METHOD
We adopted a Systematic Literature Review (SLR) strategy [35] as a method. SLR is a research method for conducting a literature review with systematic and regular steps. According to the method, Table III presents three stages of review: the initial or planning stage, the selection and review process, and the reporting of the resulting process.

A. Research Question
The research questions (RQs) are intended to find the techniques, approaches, and empirical experiences from many researchers to formulate an efficient way to process regression testing using TCP techniques and requirement-based TCP. The results of the SLR must be able to answer several questions in Table IV.

B. Selecting and Review Process
This section explains several stages of activities in implementing the SLR.

1) Literature resources:
The articles used in this study are taken only from journals and proceeding. We selected the most common and influential database sources and the ones most widely used by researchers, as listed below: To identify the variation of SUTs in TCP studies. This will be useful for researchers to prepare the SUT carefully.

RQ3
What is the trend of metrics to measure TCP effectiveness?
To provide insight into how the effectiveness of approaches or techniques is measured.

RQ4
What is the state of the art of requirement-based TCP in literature?
To explore techniques or approaches studied in the requirements-based TCP. www.ijacsa.thesai.org 2) Search string criteria: We formulated a string for the search process considering its relevance to the research question. Sometimes we used several words by combining them into a query for words with similar meanings, such as "technique," "approach," or "strategy." Furthermore, to emphasize a string, quotes are also used in a phrase, such as "regression testing" or "test case," so that search results can be more specific. The keywords for the query search string used are: "test case" AND (prioritization OR prioritize) AND (approach OR technique OR strategies) AND "regression testing." 3) Inclusion/Exclusion criteria: The next stage is selecting articles based on inclusion criteria (ICs) and exclusion criteria (ECs).  [22] and from 1997 to 2011 [23] have been in detail reviewed, and researchers to date have widely cited the results.
Using the query stated in sub-section 3.2.2, we discovered 501 papers in the primary studies from various databases. These papers are published in both journals and proceedings. Next, we selected the papers using the inclusion and exclusion criteria as presented in Table V, resulted in 122 papers being selected. Furthermore, we conducted a quality assessment based on the following five parameters: a) The objectives are clearly described. b) The article clearly states the used approach or technique.
c) There is sufficient information about the software under test (SUT) as a research object.
d) The research design is appropriate to answer the research question. e) Conclusions are stated clearly and measurably using one or more metrics.
The five above parameters must be "true," otherwise the paper will be excluded to obtain the expected quality. At this selection stage, 48 papers were finally listed. Fig. 1 describes the process of sources search and selection.

5) Data extraction process:
The data extraction stage aims to collect data from selected papers, which is done by extracting information to answer the research question (RQs) defined. Table VI is a list of extraction parameters along with the research question to be answered.

C. Threats to Validity
There is a risk of threats to validity in the review survey even though careful measure has been taken care of throughout the survey. In this survey, there are two threats of validity as listed below: 1) There may be missing credible sources, which is beyond our knowledge. To minimize the threat, we search from the most common and influential database sources.
2) There is a possibility there exist relevant studies but are not captured by the keywords due to the differences in terminology and mentions. For this matter, we have searched, and test various search string combinations as stated in Section III.B.2.

A. Primary Studies Overview
From the first search 501 articles were obtained from the databases. There are 235 journal articles, and 266 proceedings articles. Fig. 2 shows the distribution of articles obtained from 2017 to 2020. While Fig. 3 presents the comparison of the journal and proceeding in the first-round search.
When taking the inclusion and exclusion criteria into account, 122 papers were shortlisted, as shown in Table VII. Next, we filtered the shortlisted papers using the five quality assessment criteria, and only 48 were finalized (Table VIII). The detailed information of selected articles can be found in the Appendix.    The 48 primary studies consist of 31 journal articles and 17 proceedings, as illustrated in Fig. 4. Next, Fig. 5 shows the selected articles classification based on the origin (journal or proceeding) and quartiles in Scimago indexing. It is shown that 33.3% of articles are from Q1 journals, 18.8% are from Q2 journals, 8.3% are from Q3 journals, and 4.2 % are from Q4 journals.

B. Current Research Efforts to Improve TCP for Regression
Testing This sub-section responds to RQ1, RQ2, and RQ3.

1) What is The State of the Art for TCP based on TCP Approaches and Techniques? (RQ1):
The answer to RQ1 also covers the review done by Khatibsyarbini et al. [22] since it is essential to consider the improvement of TCP research before 2017. The significant discovery is the TCP taxonomy which portrays the regression testing types and some techniques in TCP. Fig. 6 shows the TCP approaches taxonomy proposed by [22] and portrays approaches added by [27]. Four items are added into the initial taxonomy: ' Location-based,' 'Machinelearning based,' 'Neural Network-based,' and 'Empirical.' www.ijacsa.thesai.org   Fig. 7 visualizes the approaches distribution in the TCP research, it can be seen that several approaches are gaining popularity as they appeared in several researches. In comparison to the approaches proposed by [22] and [27], we discover several other approaches through our survey: modification-based, user interface-based, modelbased, mutation-based, and similarity-based. This discovery shows that researchers are still exploring and improving ways to better TCP by introducing more approaches.
Based on our survey, we found that some researchers used more than one approach or technique in their study. For example, a study combined estimated risk value, coverage information, and fault detection [53]. Another study compared the mutation-based and diversity-aware [75]. Finally, there is also a study that looked into requirement and risk-based [84].

2) What is The Software under Test (SUT) in TCP
Studies? (RQ2): Software or system under test (SUT) is a complete system as the object or target of testing. A wellstructured and centralized SUT infrastructure can gradually build knowledge [85]. In this study, SUTs for evaluation are diverse. We classify the utilization of SUTs based on five categories: 1) researchers build their SUTs using open source from public resources, such as Github or other sources. In this case, the researchers design the fault and test cases for a specific purpose; 2) researchers utilize the SUT from the dataset or repository such as SIR, Defects4J, or others. In this case, researchers only need to explore and directly use the SUT from the repository; 3) researchers use the software from the industry as the cases with scale variations; 4) researchers build a software, create some faults and some test cases; 5) Others SUTs. Table X shows the distribution of SUT utilization according to the five categories.
The SIR and Defect4J repositories are still widely used as sources for SUTs. Besides, many researchers build and opensource SUT as a research object. Fig. 8 illustrates the distribution of SUT usage according to the five classifications described in Table X.

3) What is the trend of metrics to measure the TCP effectiveness? (RQ3):
In TCP studies, researchers generally aim to present the effectiveness of the developed techniques. In this regard, some metrics are known, as shown in Table XI. To answer what is the trend of metrics utilization to measure the TCP effectiveness, we identify metric utilization in all studies.
Several studies utilize more than one metric in their research. As in previous studies [22] and [23], the average percentage fault detection (APFD) was used dominantly in many TCP studies, while other metrics are spread out in less specific numbers. Table XII shows metric utilization in the studies, and Fig. 9 visualizes the distribution of metrics used.

C. What is the State of The Art of Requirement based-TCP
(RQ4)? Section 4.2 presents current research efforts to improve TCP for RT, while this section narrows the focus on current research efforts to improve requirements-based TCP.
Prior to conducting a review of the current research effort, we consider it is necessary to review the development of requirements-based TCP before 2017. Almost all TCP surveys that discuss requirements-based TCP start with prioritizing requirements for tests (PORT) [9] as the basis. The primary references for requirements-based TCP prior to 2017 are from studies [22] and [30]. The following is our exploration of the requirements-based TCP development including studies prior to 2017.
PORT is a value-driven approach to implementing TCP at the system level. Study [9] prioritizes the test-cases refer to four parameters: requirement volatility (RV), customerassigned priority on requirements (CP), fault proneness of requirements (FP), and developer-perceived implementation complexity (IC). To determine the test case prioritization, each factor is carried out and given a score. For example, CP is rated with a range of 0-10, where 10 is the highest priority value. The evaluation result shows that the PORT technique can increase the detection rate of severe errors compared to executing a random test case. More specifically, CP is the most influential factor in increasing the PORT effectiveness and next IC. They used two metrics to measure the PORT effectiveness: the average severity of faults detected (ASFD) and total severity fault detection (TSFD).  Test case and patch diff. count [52] APSC [59] Similarity [42] Prioritization-aware-Similarity [42] Severity [45]  The following requirement-based TCP was introduced in 2009 [11], involving six factors: changes in requirements, customer assigned priority of requirements, fault impact, developer-perceived code implementation complexity, application flow, and usability. The authors divided the six factors into three factors for testing at the initial version stage and three factors for the regression testing stage. Furthermore, this study proposed a technique or steps to prioritize test cases using requirements-based factors. This stage information can be a reference for TCP requirement-based researchers.
A TCP through correlation of requirement and risk has been studied by Yoon et al. [89]. They reported TCP's riskbased testing (RBT) technique using defining risk items and estimated the risk exposure value derived from the requirement. The calculation of risk exposure value is determined based on requirement risk weight and the value of risk exposure. Specifically, they defined product risk items, which are expected to be helpful for the risk identification process. They also presented empirical studies comparing the effectiveness of their approach with other prioritization approaches. This empirical study shows that the utilization of risk exposure is promising in terms of effectiveness and can detect severe errors. This condition will have an impact on efforts to save time and costs.
In addition, Arafeen and Do [90] reported about TCP method using requirements-based clustering. They used a machine-learning algorithm to cluster the textual similarity among requirements. The clustering technique classified the distribution of words that co-occurs in their requirements. There are three tasks in this process: term-document matrix construction, term extraction, and k-means clustering. Their empirical study showed that the method could improve the effectiveness of TCP. Their empirical study showed that the method could improve the effectiveness of TCP.
Throughout years, several studies have been carried out to deal with requirements-risk in requirements-based TCP [8], [77], [91], [92]. These studies were seen as a series of efforts to further improve TCP based on requirement risk. Since PORT [9] was introduced, the researchers further explore the fuzzy expert system to prioritize test cases systematically [92] and later was investigated empirically with industry cases [77].
Many types of factors were utilized in the research conducted on test-case prioritization [8], such as utilized requirements modification status (RMS), requirements size (RS), requirements complexity (RC), and potential security threats (PST). Meanwhile, a study [77] reported four indicator risks to propose their approach, which are RC, fuzzification, a potential security risk (PSR), and requirements modification level (RML).
The other types of requirement risk factors was explained in [91], which proposed general steps to prioritize test: 1) estimating the risk and requirements correlation; 2) calculate the risk weight for all requirements; 3) calculate the exposure value; 4) evaluate additional factors for requirements prioritization; and 5) prioritize the requirements and test cases for all requirements.
The researchers utilized some risk factors to implement TCP, while the other researchers implemented the requirement-risk TCP for specific software. For example, a study has been carried out [36] to calculate the risk value from some parameters of requirement complexity, such as methods failure likelihood (MFL), method complexity (MC), change requirements (CR), methods failure impact (MFI), and method size (MS). The result of these calculations then used to determine the prioritized test suite. Meanwhile, study [93] www.ijacsa.thesai.org utilized five aspects of risk to formulate their framework: risk item type, characteristic, measurement method, calculation procedure, and risk level.
A study [94] utilized the correlation of requirements to build the TCP technique. Their study calculated requirements priority (RP) based on customer-perceive priority (CP), development perceives priority (DP). RP of the i-th calculation in the formula RPi = CP i + DP i . They assumed that the CP and DP have equal weight. The authors claimed, this TCP technique was efficient on a small-scale study, and their method was better than the sorting process.
The discussion of requirements-based TCP since 2017 was begun with an analysis of research [71] which implement the TCP using requirement dependency with four parameters: test cases, test requirements, errors, and costs. On the other hand, they defined other elements related to functional requirements and requirements dependencies. Therefore, the authors use the algorithm to prioritize test cases considers the objectives of optimization, error detection, and cost.
The study [68] presents the requirement-dependency TCP by modeling the requirements and information of the testrelated and their relationships with some aspects such as stakeholder affiliation, stakeholder's assigned priority, cost, time, risk, and business value. In prioritizing the test cases, they utilize the PageRank algorithm.
Study [69] utilized information coverage as an input resource. The authors proposed the use of complex test cases to test the requirements coverage. With complete coverage, the error detection rate also increased. At the same time, study [94] explained TCP's usage based on requirement correlations. When the testing process detects errors in a functional requirement, other correlated requirements may contain similar errors or other errors depending on the correlation between the two requirements. This study gives a better understanding of requirements correlation and its impact to be further explored in future TCP research. The parameters for the prioritization process use customer priority (CP) and developer priority (DP). Both of which are assessed by humans to produce a requirement priority (RP) as the initialization stage for the test case prioritization process.
In 2019, a study [77] utilized requirements risks in requirements-based TCP which introduced the fuzzy logic to reduce the humans' role in estimating risk factors for prioritizing test cases. This study is a continuation of the previous requirements-risk survey, which started in 2014 [91].
We investigate more on TCP using requirement dependencies researched by two studies [68] and [71]. These studies are essential to explore because requirements-based TCP research focuses on the use of information in requirements, such as the interactions between requirements that influence the feasibility of the functionalities. This interaction is known as requirements dependency. The study [71] compared the cost-effectiveness of testing between the Greedy Method and the Genetic Algorithm (GA). The study prioritizes the GA to form a test suite that ensures all the defined requirements and has the lowest cost and highest fault detection.

V. RESEARCH FINDING
Regression testing is a crucial stage in the software development process especially in the era of Agile development. TCP appears as the most popular technique in regression testing due to testing efficiency. Even if testing must be stopped for some reason, the high-priority test cases have found the essential faults.
We have conducted a rigorous study through searchers from reputable resources and carefully filtered the findings through a quality assessment to review current efforts on TCP for RT. In RQ1, we found that the existing TCP approaches presented by [22] and later added by [27] are still of interest to www.ijacsa.thesai.org researchers. We discover five new approaches through the review: modification-based, user interface-based, modelbased, mutation-based, and similarity-based. The discovery shows that the taxonomy is still progressing and further explored by researchers. In terms of the technique for TCP implementation, we discover that there is no dominant algorithm used. Researchers have their reasons for choosing a technique to implement TCP based on specific analysis and motivations. However, it is noticeable that the Greedy and Additional-Greedy Algorithm, which are classic search-based TCP algorithms, are still in demand. Likewise, Genetic Algorithms are also popular. On the other hand, we discover that Machine Learning Algorithms seem to be growing in use and gaining popularity.
As for RQ2, we have investigated that SIR is an SUT repository database with an excellent and complete SUT collection. However, although many researchers still use it, some studies use SUT for empirical studies. Through the review, we classify SUTs into six categories: SUTs built from open-source software, SUTs from repositories such as SIR and Defects, SUTs from industrial cases, SUTs constructed by researchers.
Answering RQ3, in terms of using metrics to measure the effectiveness of TCP, we did not find any significant progress. Some researchers add aspects of measurement on a fixed basis to the APFD. In this case, the APFD is dominantly used.
Finally, on RQ4, referring to reviews carried out by previous surveys, we found the overall development on the use of requirements-based TCP. Although requirements-based TCP is not as popular as many other approaches, it can be further developed. For example, referring to our survey, we found that requirement risk TCP introduced by [77], requirement dependency TCP by [71] and [68]. It is proven that the research conducted has allowed growing further and improving the effectiveness. As stated by [22], one of the advantages of requirement-based TCP is the privilege of utilizing information from requirements. Therefore, the preparation of test cases can be done earlier to save time in the testing process.

VI. CONCLUSION
This paper presents the SLR result on test case prioritization for regression testing.
The study's main objective was to get the state of the art on TCP for regression testing in 2017-2020. Furthermore, this study also investigates the TCP explicitly based on requirements since the TCP was first introduced until 2020.
We found more TCP approaches not mentioned in other surveys, which have opportunities for further research. The new TCP approaches are modification-based, user interfacebased, model-based, mutation-based, and similarity-based. In the use of SUT, it appears that there are more diverse variations of SUT. Even so, the utilization of SUT repositories such as SIR and Defect4J is still in great demand. We also discover that APFD is still a very dominant metric, and almost no specific new metrics are found.
For future work, it is beneficial to explore the utilization of requirements to improve TCP effectiveness. We view that requirement-based utilization will help prepare test cases earlier, so the testing process can be more efficient. Requirement risk is an essential aspect of a requirement that is considered in the test case prioritization development. Meanwhile, the dependency between requirements is a crucial issue to consider in software development, so it can be one of the factors for prioritizing test cases. We cannot ignore the relationship between requirements in the software development process, including in the testing stage. Requirement-based TCP still has many opportunities for improvement. We believe that there are many attributes in requirements that can improve TCP effectiveness.

VII. ACKNOWLEDGMENT
Thank you to Universiti Teknikal Malaysia Melaka for providing supports and resources for this research.