## 4 Proposed Method
### Policy Optimization with Separation-of-Duty Constraints
#### 4.2.2 Construction of t-m MEAR Constraints from k-n SOAR Constraints
Based on the formal expression in Definition 7, identify the number of the rules in \(\mathit{user\_rules_{\gamma}}(u)\) present in any \(\mathit{sod}\), which is represented as \(s\), and (3) compare \(s\) with \(k\) included in \(\mathit{sod}\). These steps can be readily computed. If \(|U|\)\(|AR|\), and \(|\xi|\) are used to represent the total number of users, the number of authorization rules and the number of SOAR constraints under \(\gamma\), respectively, then the computational complexity for verifying whether \(\mathit{safe}_{\xi}(\gamma)\) is true is \(O(|U|\)\(\times\)\(|AR|\)\(\times\)\(|\xi|)\), which is polynomial time. Thus, the verification process for enforcing the SOAR constraints is in \(P\). \(\Box\)  
**Statement 2**: _Given an ABAC system status \(\gamma\) and a set \(\psi\) of MEAR constraints, the process of verifying whether \(\gamma\) is satisfied with respect to \(\psi\) is also in \(P\)._  
**Proof**. : This verification is similar to that of Theorem 1, so the detailed process is omitted due to limited space. Here, the enforcement of MEAR constraints under \(\gamma\) is also available in polynomial time. **Definition 8**. : _(Implicit enforcement of SOAR constraints) Given a k-n SOAR constraint soar and a t-m MEAR constraint set \(\psi=\{\text{near}_{1},\text{near}_{2},\dots\text{ }\}\) in the system status \(\gamma\), soar can be implicitly enforced by \(\psi\) if and only if \(\forall\text{near}\in\psi:\)satisfied\({}_{\text{m}ar}(\gamma)\Rightarrow\)safe\({}_{\text{soar}}(\gamma)\)._  
Then, we present an approach for constructing \(t\)-\(m\) MEAR constraints in Algorithm 3, which takes a \(k\)-\(n\) SOAR constraint constructed from a \(k\)-\(n\) SOD constraint as input and outputs a set of MEAR constraints that can implicitly enforce SOAR. ``` Input:\(k\)-\(n\) SOAR constraint \(\text{soar}=\text{$<\!\!\left[\text{$\text{$\text{$\text{$\text{$\text{$



Then, for \(sod\), the corresponding _soars_ that can be constructed using the method of SAT-based model counting are as follows:

\(|<\)[\(ar_{2}\), \(ar_{3}\), \(ar_{4}\)], \(3>\), \(<\)[\(ar_{1}\), \(ar_{3}\), \(ar_{4}\)], \(3>\), \(<\)[\(ar_{1}\), \(ar_{2}\), \(ar_{3}\), \(ar_{4}\)], \(3>\), \(<\)[\(ar_{1}\), \(ar_{3}\), \(ar_{4}\), \(ar_{5}\)], \(3>\), \(<\)[\(ar_{1}\), \(ar_{2}\), \(ar_{3}\), \(ar_{4}\), \(ar_{5}\)], \(3>\), \(<\)[\(ar_{1}\), \(ar_{2}\), \(ar_{3}\), \(ar_{4}\), \(ar_{5}\)], \(3>\). The different sets of _means_ constraints corresponding to each _soar_ according to Algorithm 3 are given in Table 16.

## 5 Experimental Evaluations

To evaluate the efficiency and effectiveness of the PEO_VR&SOD, we next implemented experiments using both real and synthetic datasets and compare the performance of PEO_VR&SOD with that of existing methods. All the experiments were carried out on a standard desktop PC with an Intel i5-7400 CPU, 4 GB RAM, and a 160 GB hard disk running a 64-bit Windows 7 operating system. All simulations were compiled and run in Eclipse IDE under the Java Developer environment. ### Performance Comparison with the Xu-Stoller and VisMAP in Real Datasets

First, we consider the following real datasets from [10], as shown in Table 17. These datasets have been widely used for research on different methods of ABAC policy mining, such as Xu-Stoller and VisMAP. The first seven columns in the table represent the corresponding dataset name, numbers of users, user attributes, objects, object attributes, number of all possible attribute values for users and objects, and number of authorizations. To evaluate the efficiency of our method in the policy mining stage, we consider the number of authorization rules in the policy and the execution time as evaluation measures.