## 2 Background
### Related Work  
We summarize the work related to CAD software testing and test case prioritization as follows.  
Figure 1: Sketch of a 3D model drafted by the CAD software.  
Existing researchers have studied several research topics of testing CAD software. [PERSON] [17] studied the perceptions of users or developers of a CAD system; results show that the users' perceptions of a CAD system are quite different from the developers'.  
[PERSON] [18] introduced an overview of software quality assurance and its relation to user interfaces for CAD systems. [PERSON] et al. [19] discussed a CAD supporting tool for designing a digital system that meets predefined testability requirements. [PERSON] et al. [20] proposed CAD tools, which are created to accelerate the design of the i486 CPU.  
[PERSON] and [PERSON] [21] proposed a model of the CAD process that allows an adaptive man-machine task sharing by allocating the user interaction to the knowledge model. The CAD processes can be used to recursively define the CAD activities of high levels of abstraction. [PERSON] and [PERSON] [22] addressed a soft constraint representation scheme based on nominal intervals. [PERSON] and [PERSON] [23] introduced a test methodology that detects both catastrophic and parametric faults. [PERSON] and [PERSON] [24] proposed a novel feed-forward neural network model that considers the framework of the nonlinear regression models to construct designs. [PERSON] et al. [25] presented a comparison between the role of CAD and sketching in engineering. Their results suggest that it is necessary to emphasize the importance of sketching and the deep understanding to the utility of CAD tools at each stage of the design process.  
[PERSON] et al. [26] introduced a computer-aided-test (CAT) tool for mixed signal designs. The CAT tool provides a hardware efficient integrated solution. [PERSON] [27] presented the leading-edge research and development solutions, and identified future road-maps for design automation research areas. [PERSON] et al. [28] presented a novel approach to the test case prioritization problem that addresses this limitation. [PERSON] et al. [29] proposed a new approach AGC (Additional Greedy method Call) sequence, the approach leverages dynamic relation-based coverage as measurement to extend the original additional greedy coverage algorithm in test case prioritization techniques. An empirical study [30] was conducted to examine the relative importance of the size and coverage attributes in affecting the fault detection effectiveness of a randomly selected test suite.  
[PERSON] [31] proposed a novel prioritization algorithm that can be applied over both original and reduced test suites depending upon the size of test suites. [PERSON] [31] introduced search-based regression testing that is applied to improve the quality of the test suite in order to select a minimum set of test cases. The performance of different meta-heuristics for the test suite minimization problem is compared with a hybrid approach of the ant colony optimization and the genetic algorithm. [PERSON] et al. [32] presented an adaptive random sequence approach based on clustering techniques using black-box optimization. [PERSON] [33] studied the topic of ranking great amounts of documents based on their relation to a given query, i.e., the examination of the inner mechanics of the search engines. [PERSON] and [PERSON] [34] proposed an approach based on the probability theory to incorporate source code changes, software fault-proneness, and test coverage into a unified model. [PERSON] et al. [35] used a pairwise learning-to-rank strategy XGBoost to combine several existing metrics to improve the effectiveness of test case prioritization.  
To the best of our knowledge, our work is the first technique that prioritizes test cases for CAD software via qualifying functional units. The idea of our work is to propose a practical way to reduce the time cost of frequent test execution.