## 4 Proposed Fault-Prone Software Requirements Specification Detection Model
### Fault-Prone Software Requirements Specification Detection Model
#### 4.2.3 Phase 3: Fault-Prone Software Requirements Specification Detection
We grouped the set of 25 features that evaluate the quality of software requirements specifications (SRS) into five categories. The first set of features (F1-F4) evaluates the clarity and completeness of the SRS title and description. F1 is a Boolean feature that indicates whether the SRS title is clear and understandable. F2 calculates the frequency of title words in the SRS description. F3 is a Boolean feature that evaluates whether the SRS title contains three or more title words. F4 calculates the total word count of the SRS description. The second set of features (F5-F7) evaluates the identification and completeness of intended users and requirements. F5 is a Boolean feature that indicates whether the intended users of the system are identified in the SRS. F6 calculates the total number of software requirements for each SRS, while F7 calculates the number of clear requirements for each SRS. The third set of features (F8-F13) evaluates the types and frequency of ambiguity in the SRS requirements. F8 calculates the total number of ambiguous requirements for each SRS. F9-F13 are features that calculate the number of each type of ambiguity for each SRS. Specifically, lexical ambiguity (F9), syntactic ambiguity (F10), semantic ambiguity (F11), syntax ambiguity (F12), and pragmatic ambiguity (F13). The fourth set of features (F14-F18) calculates the percentage of each type of ambiguous requirement for each SRS. Specifically, the percentage of lexical ambiguity (F14), syntactic ambiguity (F15), semantic ambiguity (F16), syntax ambiguity (F17), and pragmatic ambiguity (F18). F19 calculates the percentage of clear requirements for each SRS. Finally, the fifth set of features (F20-F24) calculates the probability value of each type of ambiguity requirement for each SRS. F25 calculates the probability value for clear requirements for each SRS. These features are calculated using Equations (1) and (2), which, respectively, show the formulas to determine the percentage and probability value of each ambiguity class for each SRS. Overall, these features provide a comprehensive evaluation of the quality of SRS, which is crucial for ensuring the success of software development projects. Equation (1) shows the formula to determine the percentage of each type of ambiguity for each SRS, as shown in Equation (1). \[\textit{Percentage of lexical ambiguity}=\frac{\textit{Total number of lexical ambiguity}}{\textit{Total number of software requirements for each SRS}}\times 100\% \tag{1}\]  
Equation (2) shows the formula to calculate the probability value of each type of ambiguity for each SRS as shown in Equation (2). \[\textit{Probability value of lexical ambiguity}=\frac{\textit{Total number of lexical ambiguity}}{\textit{Total number of software requirements for each SRS}} \tag{2}\]  
In this study, we utilized the recursive feature elimination with the cross validation (RFECV) method to perform feature selection using a feature importance approach. The variable importance function is employed to calculate the feature importance score, which enables the ranking of features based on the significance in decision making. Feature selection is an important process to reduce computational costs and enhance model performance by minimizing the number of input variables. To this end, [PERSON] et al. [24] suggest several statistical-based features for opinion spam detection, among which two are selected for our study. Similarly, [PERSON] et al. [25] propose 20 statistical-based features, but only seven features are chosen to fit the environment of our study. Specifically, out of the initial 25 features extracted from the dataset, only 12 were selected for the study. Figures 6 and 7 below illustrates the feature importance and correlation matrix. Figure 6: Feature Importance. Figure 7: Correlation Matrix. After implementing AdaBoost, GBM, and XGBoost as the classifiers for the FPDM, we conducted a comparative analysis of the performance.