Evolutionary Inference
of Attribute-based Access Control Policies
Eric Medvet1 , Alberto Bartoli1 , Barbara Carminati2 , and Elena Ferrari2
2
A
1
Dip. di Ingegneria e Architettura, Università degli Studi di Trieste, Italy
Dip. di Scienze Teoriche e Applicate, Università degli Studi dell’Insubria, Italy
Appendix: Genetic operators
The mutation operators are the following, given a parent rule ρ = heU , eR , O, ci—
for the operators described using the placeholder ∗, the operator is actually
applied with ∗ = U or ∗ = R with equal probability.
Attribute expression addition An a∗ ∈ A∗ is randomly chosen such that
e∗ (a∗ ) = >, then e∗ (a∗ ) := {v} with v randomly chosen in V∗ (a∗ ), if a∗ ∈
A∗,1 , or e∗ (a∗ ) := {s} with s randomly chosen in Set(V∗ (a∗ )), if a∗ ∈ A∗,∞ .
Attribute expression removal An a∗ ∈ A∗ is randomly chosen such that
e∗ (a∗ ) 6= >, then e∗ (a∗ ) := >.
Single-valued addition An a∗,1 ∈ A∗,1 is randomly chosen such that e∗ (a∗,1 ) 6=
>, then e∗ (a∗,1 ) := e∗ (a∗,1 )∪v with v randomly chosen in V∗ (a∗,1 )\e∗ (a∗,1 ).
Single-valued removal An a∗,1 ∈ A∗,1 is randomly chosen such that e∗ (a∗,1 ) 6=
>, then e∗ (a∗,1 ) := e∗ (a∗,1 )\v with v randomly chosen in e∗ (a∗,1 ); if e∗ (a∗,1 )
becomes empty, then e∗ (a∗,1 ) := >.
Multi-valued addition An a∗,∞ ∈ A∗,∞ is randomly chosen such that e∗ (a∗,∞ ) 6=
> and a set s ∈ e∗ (a∗,∞ ) is randomly chosen, then s := s∪v with v randomly
chosen in V∗ (a∗,∞ ) \ s.
Multi-valued removal An a∗,∞ ∈ A∗,∞ is randomly chosen such that e∗ (a∗,∞ ) 6=
> and a set s ∈ e∗ (a∗,∞ ) is randomly chosen, then s := s\v with v randomly
chosen in s; if s becomes empty, then it is removed from e∗ (a∗,∞ ), if e∗ (a∗,∞ )
becomes empty, then e∗ (a∗,∞ ) := >.
Constraint addition A pair aU , aR ∈ AU × AR is randomly chosen such that
c(aU , aR ) = > and VU (aU ) ∩ VR (aR ) 6= ∅ (i.e., aU and aR have some values
in common), then c(aU , aR ) := ¬>.
Constraint removal A pair aU , aR ∈ AU × AR is randomly chosen such that
c(aU , aR ) = ¬>, then c(aU , aR ) := >.
Operation addition An operation o ∈ O is randomly chosen such that o ∈
/ O,
then O := O ∪ {o}.
Operation removal An operation o ∈ O is randomly chosen such that o ∈ O,
then O := O \ {o}.
The crossover operators are the following, given two parent rules ρ1 = heU,1 , eR,1 , O1 , c1 i
and ρ2 = heU,2 , eR,2 , O2 , c2 i. The child rule is ρ1 after the actual application of
the operator.
2
Eric Medvet, Alberto Bartoli, Barbara Carminati, and Elena Ferrari
Attribute expression donation An a∗ ∈ A∗ is randomly chosen such that
e∗,1 (a∗ ) = > ∧ e∗,2 (a∗ ) 6= >, then e∗,1 (a∗ ) := e∗,2 (a∗ ).
Single-valued donation An a∗,1 ∈ A∗,1 is randomly chosen such that e∗,1 (a∗,1 ) 6=
> ∧ e∗,2 (a∗,1 ) 6= >, then e∗,1 (a∗,1 ) := e∗,1 (a∗,1 ) ∪ v with v randomly chosen
in e∗,2 (a∗,1 ).
Multi-valued donation An a∗,∞ ∈ A∗,∞ is randomly chosen such that e∗,1 (a∗,∞ ) 6=
> ∧ e∗,2 (a∗,∞ ) 6= > and two sets s1 ∈ e∗,1 (a∗,∞ ), s2 ∈ e∗,2 (a∗,∞ ) are randomly chosen, then s1 ∪ v with v randomly chosen in s2 .
Constraint donation A pair aU , aR ∈ AU × AR is randomly chosen such that
c1 (aU , aR ) = > ∧ c2 (aU , aR ) = ¬>, then c1 (aU , aR ) := c2 (aU , aR ).
Operation donation An operation o ∈ O2 is randomly chosen such that o ∈
/
O1 , then O1 := O1 ∪ {o}.
When a genetic operator cannot be applied (e.g., when O1 = O for the
operation donation crossover operator), the generated rule is set equal to the
(first) parent.
© Copyright 2026 Paperzz