Optimizing the Usability of User Interfaces based on Multi-objective
Evolutionary Algorithms
Marwa Hentati
1 a
, Abdelwaheb Trabelsi
2 b
and Adel Mahfoudhi
3 c
1
National School of Engineering, Sfax University, Sfax, Tunisia
2
College of Computing and Informatics, Electronic University, Dammam, Saudi Arabia
3
College of Computers and Information Technology, Taif University, Taif, Saudi Arabia
Keywords:
User Interface, Optimization, Usability, Evolutionary Algorithm, Model-Driven Engineering.
Abstract:
Solving the software system problems using optimization algorithms stands for an intrinsic area of research
whose aim is to find an optimal solution according to a set of conflicting objectives. One of the most prominent
problems is optimizing the software quality such as usability of user interfaces following the model-driven en-
gineering (MDE). One of the main challenges of MDE process is identifying the highly-usable model accord-
ing to a set of desired usability aspects. Although models may be equivalent from the functional viewpoint,
they may differ from the non-functional perspectives. Besides, they do not fulfil the same usability properties.
In this context, we adressed this issue by combining the power of model engine and the optimization algo-
rithms. In this study, we propose to integrate a multi-objective evolutionary algorithm at the conceptual level
of the MDE process. It allows to find an optimal (or near-optimal) model from a large search space according
to a set of usability aspects and taking into account the context of use.
1 INTRODUCTION
Usability of the software systems is no longer a lux-
ury, but rather an intrinsic factor of the success or fail-
ure of software systems (Seffah et al., 2006). Seeking
to promote a highly usable user interfaces has trig-
gered the appearance of some research studies taking
into account the usability aspects of software systems
(Abrah
˜
ao and Insfran, 2017). In fact, a large num-
ber of these research works consider usability aspects
only after the full implementation of systems. In this
case, all changes introduced to the system design are
costly in terms of resources and time. The basic ob-
jective of other research works resides in enhaning us-
ability in the intermediate artefacts. Since the trace-
ability between these artefacts and the implimented
system is not well defined, taking into account the us-
ability aspects at the conceptual level may not ensure
the usability of the final system (Abrah
˜
ao and Ins-
fran, 2017). Supporting the model-driven engineer-
ing (MDE) process may alleviate these problems ow-
ing to its intrinsic traceability mechanisms (da Silva,
a
https://orcid.org/0000-0003-3832-8602
b
https://orcid.org/0000-0002-1416-6867
c
https://orcid.org/0000-0001-9522-8099
2015). Among the most outstanding resarch works
in this context, we mention the Cameleon Reference
Framework (CRF)(Calvary et al., 2003). It organizes
the user interface (UI) development process into four
levels of abstraction: At the highest level, the task
& concept model (T&C) gathers the logical activi-
ties (tasks). Then, the abstract user interface (AUI)
model groupes a set of presentation-units which are
modality independent. After that, at the concrete user
interface (CUI) model gathers a set of computing-
platform dependent interactors. Finally, the final user
interface (FUI) model expresses the UI in terms of
implementation technology. From this prespective,
we support the idea that improving usability at the
conceptual level leads to improve the final user in-
terface (Hentati et al., 2016a). Recently, several re-
search works have centred around supporting some
usability aspects from the early stages of MDE pro-
cess (I
˜
niguez-Jarr
´
ın et al., 2020). Nevertheless, there
are still certain defficiences quoting in particular the
lack of details about generating the target model with
an optimal usability (Hentati et al., 2016b). Hence,
the search-based techniques stand for an appropiate
solution to settle the software engineering (SE) prob-
lems by exploring the search space. Multi-objective
optimization algorithms, in particular the evolution-
Hentati, M., Trabelsi, A. and Mahfoudhi, A.
Optimizing the Usability of User Interfaces based on Multi-objective Evolutionary Algorithms.
DOI: 10.5220/0010581902770284
In Proceedings of the 16th International Conference on Software Technologies (ICSOFT 2021), pages 277-284
ISBN: 978-989-758-523-4
Copyright
c
2021 by SCITEPRESS Science and Technology Publications, Lda. All rights reserved
277
ary algorithms, are applied widely to the majority of
the SE problems including requirements management
(Pitangueira et al., 2015), testing (Afzal et al., 2009)
and maintenance (Bavota et al., 2014) disregarding
the usability aspects (Harman and Jones, 2001).
The remaining of this paper is organised as fol-
lows. Section 2 displays an overview of related
works. Section 3 exhibits the proposed process to op-
timize the usability at the conceptual level. Section 4
introduces a case study illustrating the feasibility and
the obtained results. Finally, Section 5 wraps up the
conclusion and provides new prespectives for future
research.
2 RELATED WORKS
The central focus of this section is to summarize the
state of the art works and the efforts performed in
the field of software engineering via MDE approach.
We are basically intersted in some proposals that are
considered relevant owing to their weight in related
works.
Authors in (Mkaouer et al., 2020) proposed an ap-
proach for solving the SE refactoring problems. This
problem is formulated as a multi-objective problem
using the NSGA-III algorithms. The basic target re-
sides in finding the optimal refactoring solution refer-
ring to a set of quality attributes. In the same context,
authors in (Ouni et al., 2013) suggested to reformu-
late this problem as a single-objective optimization
using an evolutionary algorithm to search the opti-
mal sequence of refactoring operations. The opera-
tions quality is improved by minimizing the number
of code smells.
Recently, several studies have addressed the
Search-Based Model Transformation (SBMT) sub-
field which combines the search techniques and the
model transformation engines (Boussa
¨
ıd et al., 2017).
We state, as an example, the MOMoT approach
(Marrying Optimization and model Transformations)
(Fleck et al., 2017). The basic objective is to trans-
form a component model from a class diagram us-
ing optimization techniques by means of a Multi-
Objective Evolutionary Algorithm (MOEA). To op-
timize the quality of the obtained model, authors at-
tempted to minimize coupling and to maximize cohe-
sion as objective functions.
Since the small screens devices are unceasingly
used, an approach is set forward in (Raneburger et al.,
2015) aiming to consider the generation of the graph-
ical user interface from the Discourse-based commu-
nication model as an optimization problem. This ap-
proach rests on the branch-and-bound algorithm for
transforming the communication model into the struc-
tural model by selecting the optimal rule transforma-
tion. To accomplish this goal, three objective func-
tions are formulated corresponding to the maximiza-
tion of the use of available space, minimization of
the number of navigation steps and minimization of
scrolling the user interface.
The analysis of the above mentioned studies indi-
cates that there are still such drawbacks to be over-
come as considering the functional properties. Most
of the proposed approaches search the optimal solu-
tion disregarding the usability optimization problem.
In order to respond to this need, we opted for the opti-
mization of the usability of user interfaces at the con-
ceptual level following the MDE process by means of
a multi-objective evolutionary algorithm.
3 USABILITY OPTIMIZATION
PROCESS USING AN
EVOLUTIONARY ALGORITHM
The basic goal of this research is to generate a con-
crete user interface (CUI) model with an optimal us-
ability from an AUI model. We adressed the trans-
formation of the AUI to the CUI as a usability opti-
mization problem. As the usability displays a contra-
dictory effect, we opted for multi-objective evolution-
ary algorithm. In prior research studies (Hentati et al.,
2018) (Hentati et al., 2019), we tackled the generation
of CUIs considering all alternatives related to abstract
components which determine the search space.
Even through evolutionary algorithms (EAs) are
generally based on the same generic framework, sev-
eral requiremnts need to be taken into account to set-
tle the usability optimization problem. The elaborated
lagorithm begins with the generation of an initial CUI
that is added to the current population (Algorithm 1,
line 10). For each iteration, all CUIs in the current
population are assessed depending on the proposed
objective functions (Algorithm 1, line 14).
One of the basic mechanisms of the evolutionary
algorihm is to generate new solutions by means of the
reproduction operators: the mutation operator (Algo-
rithm 3) and the crossover operator (Algorithm 4).
After i iterations, the search ends and returns a set
of optimal solutions which stand for the approximate
pareto front (PF
approx
).
In order to select the optimal solution from
PF
approx
, we propose to use the Knee point strat-
egy (Bechikh et al., 2011) depicted in Algorithm 2.
The Knee point solution is a vector composed of the
best objective values among the solutions produced
ICSOFT 2021 - 16th International Conference on Software Technologies
278
Algorithm 1: The evolutionary algorithm for
the usability optimization problem.
1 Input
2 Population size : α
3 Mutation rate: β
4 Crossover rate: σ
5 Elitism rate: γ
6 Iterations number: δ
7 Output PF
Approx
Begin Generate the initial
CUI ;
8 POP initial CUI;
9 Iteration number i 1 ;
10 while i < δ do
11 /* Objective functions*/ Evaluate
the usability of each CUI in POP (using
objective functions 1, 3 and 6);
12 /* Select best solutions*/
Select (α γ) best CUI in POP ;
13 Add selected CUI in population POP’;
14 /* Eliminate unfeasable CUI */
foreach CUI in POP’ do
15 if constraints are not satisfied
(equations 9 and 11) then
16 Delete CUI from POP’;
17 end
18
19 end
20 /* Mutation */ foreach (α β) CUI
do
21 Apply mutation operator (Algorithm
3);
22 Add CUI mut in POP’;
23
24 end
25 /* Crossover */
26 Select randomly (α σ) CUI from POP’
for crossover;
27 foreach (α σ) CUI do
28 Select two CUIs as parents;
29 Apply crossover operator (Algorithm
4);
30 Add crossovered CUIs in POP’ ;
31
32 end
33 Increment the iteration number i i + 1
34 end
in each iteration. To find the optimal trade-off, these
solutions are assessed using the trade-off worthiness
metric introduced by (Rachmawati and Srinivasan,
2009). The closest one to the obtained ’Knee point
solution’ is then chosen as the final optimal solution.
Algorithm 2: ’Knee point’ strategy.
1 Input Aproximatif Pareto front PF
Approx
(Output Algorithme 1)
2 Output Optimal CUI
3 Begin
4 foreach Objective O
y
do
5 Select best values V
i
relative to O
y
to
determine the knee point solution
CUI
KP
;
6 end
7 foreach CUI
i
in PF
approx
do
8 Calculate the distance between CUI
i
and
CUI
KP
(equation 12) ;
9 end
10 Select the optimal CUI;
11 End
3.1 Objective Functions
The usability optimization problem includes search-
ing for the most usable CUI among a set of candi-
dates, which corresponds to a large search space. In
this context, we propose to search the CUI with an
optimal usability according to three objective func-
tions. Each of them stands for a usability sub-
characteristic which can be either maximized or
minimized. These usability sub-characteristics are
adopted from an agreed usability model proposed by
(Ammar et al., 2016). Indeed, this model is extended
from the ISI/IEC 25000 standard to evaluate the us-
ability at the early stage of the devlopement process
(ISO, 2005). The suggested objective functions are
portrayed below:
3.1.1 Maximizing the Learnability
Optimizing the usability necessitates maximizing the
value of the learnability sub-characteristic as identi-
fied in equation 1.
f
1
= Maximize(PR) (1)
In fact, the learnability is specified by the ’Prompting’
attribute. Equation 2 depicts the PR metric associated
with the prompting attribute.
PR =
n
i=1
SuppIn f o(x
i
)
n
(2)
where PR is the proportion of labels that exhibits sup-
plementary information, x
i
is a label in a UI, n is the
number of text fields that needs a specific structure
and SuppIn f o = 1 if label presents supplementary in-
formation, 0 otherwise.
Optimizing the Usability of User Interfaces based on Multi-objective Evolutionary Algorithms
279
3.1.2 Minimazing the Understandability
As for the Understandability sub-characteristic, it is
characterized by a set of attributes having a relation-
ship with cognitive load
1
. Hence, minimizing the
value of understandability yields the optimization of
the CUIs usability. In fact, we suggest minimizing
two attributes, namely ’Breavity’ and ’Information
density’, equation 3.
f
2
= Minimize(BR,ID) (3)
BR and ID metrics are determined respectivelly in
equations 4 and 5.
BR = MinDistance(x,y) (4)
where BR is the number of steps needed to move from
x to y, x, y (inter f ace).
ID =
n
i=1
Element (5)
where n denotes the total number of elements per UI.
3.1.3 Maximizing the Operability
The usability of concrete models is optimized through
maximizing the Operability sub-characteristic
grounded on two attributes, which are ’error preven-
tion’ and ’user control action’, equation 6.
f
3
= Maximize(ERP,UCA) (6)
EPR and UCA metrics are specified respectivelly in
equations 7 and 8 .
ERP =
n
i=1
list(x
i
)
n
(7)
where ERP corresponds to proportion of primitive
lists used for each input element with a set of enu-
merated values, x
i
stands for an input element, n rep-
resents the set of input elements with enumerated val-
ues, list = 1 if the input element with enumerated val-
ues uses primitive list, list = 0 otherwise.
UCA =
n
i=1
x
i
n
(8)
where UCA expresses the proportion of user control
actions including cancellability and undoability ac-
tions, x
i
indicates a UI action element and n denotes
the total number of elements per UI.
1
The cognitive load (or workload) is related to the human
memory properties. (Chanquoy et al., 2007). According to
(Bastien and Scapin, 1993), the higher the cognitive load
is, the higher is the risk of errors, lateness, exhaustion, and
dissatisfaction of the user during interaction with the sys-
tem.
3.2 Optimization Constraints
The majority of optimization problems, restrictions
are imposed referring to the problem specification.
Threfore, the solution acceptability is guaranteed only
after the satisfaction of the optimization constraints.
Moreover, it is difficult to generate a user interface
with optimal usability for all user’s profiles and run
on all plateforms (Gajos et al., 2010).
In fact, taking into account the context of use is
a basic purpose in the MDE process. We have taken
into account the context of use defined by (Calvary
et al., 2003) who introduced the context as the triplet
<user, platform, environment>. Since the expres-
siveness of environment is confined to the concep-
tual level, we opted for the platform (considering the
screen size) and the user (considering the user expe-
rience level). Feasible solutions are chosen for the
next population only if they satisfy the proposed con-
straints:
n
i
(ε + a
i
) availableSpace (9)
with:
availableSpace = X
resolution
Y
resolution
(10)
where a
i
refers to the area of a component i of the
CUI, ε indicates the minimum space that separates
two components, and availableSpace represents the
screen area of the device to be involved.
A user with limited experience (or novice user)
needs to be well guided, informed and protected from
errors during interaction with the user interface. In
fact, usability attributes like prompting (PR), and er-
ror prevention (ERP) are related to the user, especially
to his level of experience. As a matter of fact, we
set forward an optimization constraint based upon the
level of the user’s experience. The target lies in fil-
tering solutions where the avredge (AVG) values of
PR and ERP are under a threshold (V
UX
). The later
is fixed by the ’conceptor’ considering the experience
level of the target population. The equation 11 dis-
plays the proposed optimization constraint relative to
the user level experience:
AV G(PR,ERP) V
UX
(11)
3.3 Reproduction Operators
Reproduction operators invade the research space
through the progress of candidate solutions. The
derivation of new CUIs is accomplished by the mu-
tation and crossover operators. The production of de-
scendants plays an crucial role in the convergence of
evolutionary algorithms to a global optimum.
ICSOFT 2021 - 16th International Conference on Software Technologies
280
3.3.1 Mutation Operator
Instead of applying standard mutation operators that
might not be thoroughly convenient for our problem,
we foreground a personalized mutation operator de-
pected in Algorithm 3. This operator offers a kind of
diversity within the population and permits the opti-
mal solution to escape from local optimum.
We propose to mutate one or a set of elements of a
current CUI by (1) changing a component to another
alternative and/or (2) adding a component to the CUI.
Changing components in the CUI is fulfilled by re-
placing them with alternative concrete elements. It is
significant to point out that the number of elements to
be mutated rests on the mutation probability P
m
fixed
before launching the mutation operator.
As for the addition of elements, we propose the
addition of control elements, like ”validate” or ”can-
cel” in the CUI, after verifying that it is impossible to
cancel or to validate information in it.
Algorithm 3: Mutation operator.
1 Input CUI for mutation
2 Mutation probability P
m
3 Output mutated CUI
4 Begin
5 if no ’valid’ element in CUI then
6 Add valid element in CUI;
7 end
8 if no ’cancel’ element in CUI then
9 Add cancel element in CUI;
10 end
11 S
CUI
size of CUI;
12 N
m
is the number of elements to be mutated;
13 N
m
S
CUI
P
m
;
14 foreach (N
m
) element in CUI do
15 Randomly select a concrete component
Comp from CUI;
16 Mutate Comp with an alternative;
17 Generate a new CUI mut ;
18 Add CUI mut in the population;
19 end
20 End
3.3.2 Crossover Operator
The crossover operator is applied at the level of pan-
els of two randomly chosen CUIs. It can guarantee
that all elements, which are gathered in a panel, are
migrated. Moreover, the ”one-cut crossover” is cho-
sen because the ”multiple-cut crossover” can disturb
optimal solutions and the algorithm can converge to
sub-optimal solutions. The crossover operator is de-
pected in Algorithm 4.
Algorithm 4: Cossover operator.
1 Input Two CUIs as parents: CUI P1 et
CUI P2
2 Output Two CUIS as childs: CUI Ch1 et
CUI Ch2
3 Begin
4 Cut CUI P1 in two parts CUI P11 and
CUI P12 ;
5 Cut CUI P2 in two parts CUI P21 and
CUI P22 ;
6 Combine CUI P11 with CUI P22 as
CUI Ch1;
7 Combine CUI P21 with CUI P12 as
CUI Ch2;
8 Add CUI Ch1 and CUI Ch2 in the
population;
9 End
4 AN ILLUSTRATIVE CASE
STUDY
The main aim of this case study is to emphasize the
feasibility of the proposed usability optimization pro-
cess. This case stands for a BTTS (Buying Train
Ticket System). This system runs on terminals of pas-
sengers (smart phone, tablet, laptop, etc.). The UI of
this system needs to create a feeling of comfort and
ease of use to upgrade the user satisfaction degree re-
gardless of the computing device. Numerous tasks
are involved in BTTS like How to travel, Buy tickets,
Discount and benefits, Train times etc. We are basi-
cally concerned with the generation of the CUI of Buy
tickets task.
4.1 Generation of the Initial CUI
To better clarify the workability of the proposed us-
ability optimization process, the case study started
with the transformation from an abstract model to a
concrete model. This ordinary transformation did not
consider the usability aspects in a specific context of
use. This system is implemented in mobile device-
platformes with small screens size, and interacted by
novice users having a limited experience of using a
buying systems in general and BTTS in particular.
The ordinary transformation takes as input the AUI
model and produces the initial CUI model. Yet, the
generated CUI fulfilled their functional objectives dis-
regarding the usability aspects.
Optimizing the Usability of User Interfaces based on Multi-objective Evolutionary Algorithms
281
Table 1: The obtained objective values.
f
1
f
2
f
3
Iter min max min max min max
1 0.375 0.375 0.452 0.452 0.476 0.476
10 0.389 0.672 0.452 0.452 0.277 0.476
20 0.389 0.618 0.447 0.452 0.334 0.561
30 0.477 0.584 0.423 0.561 0.399 0.561
40 0.277 0.573 0.387 0.611 0.408 0.533
50 0.290 0.583 0.415 0.611 0.412 0.601
60 0.402 0.573 0.415 0.611 0.427 0.624
70 0.453 0.588 0.384 0.629 0.508 0.682
80 0.521 0.592 0.384 0.638 0.513 0.747
90 0.577 0.603 0.362 0.638 0.513 0.853
100 0.601 0.622 0.374 0.638 0.513 0.871
110 0.601 0.725 0.362 0.647 0.622 0.851
120 0.639 0.752 0.362 0.647 0.648 0.851
126 0.647 0.753 0.362 0.647 0.652 0.851
4.2 Obtained Results of the Optimal
Transformation
The findings of running the usability optimization
process at AUI to CUI transformation are outlined
in Table 1 which summarizes the objective functions
values after each step of 10 iterations. We infer
that the values of these objective functions are sta-
ble from the 126th iteration. This last iteration groups
8 CUIs which represent the approximate Pareto front
(PF
approx
). The values of each of these CUIs are il-
lustrated in Table 2. The ”min” and ”max” values,
highlignted in Table 1, denote respectively the lowest
and highest values of the objective functions, for each
CUI produced in a population. Departing from these
values, the ”Knee point” solution (CUI
KP
) is identi-
fied resting on the best CUI for each objective func-
tion. Indeed, the ”Knee point” solution is defined as:
< f
1
=0.753; f
2
=0.362; f
3
=0.871 >.
In order to specify the final optimal CUI among
the 8 CUIs of the PF
approx
, we applied the Euclidean
distance permetting to identify the closest CUIs to the
”Knee point” solution as identified in equation 12.
d(CUI
i
,CUI
KP
) =
v
u
u
t
n
O
y
=1
(CUI
i
CUI
KP
)
2
(12)
After computing the distance of each CUI with the
”Knee point” solution, we realized that CUI5 is the
final optimal CUI, which has the following values: <
f
1
=0.705; f
2
=0.374; f
3
=0.851>.
Figure 1 exhibits the final optimal CUI generated
by the proposed usability optimization process for
mobile devices. In this context, small screens are
not able to present all the information and the user
needs to scroll in order to see the interface. In fact,
the high information density has a negative effect on
Table 2: The CUIs values of PF
approx
and their distances
from ”Knee point” solution.
PF
approx
f
1
f
2
f
3
Distance
”Knee
point”
IUC1 0.753 0.366 0.652 0.203
IUC2 0.753 0.647 0.804 0.292
IUC3 0.661 0.362 0.683 0.201
IUC4 0.753 0.381 0.655 0.254
IUC5 0.705 0.374 0.851 0.043
IUC6 0.659 0.362 0.804 0.128
IUC7 0.647 0.644 0.871 0.306
IUC8 0.661 0.647 0.804 0.303
the user’s performance and eventually on the usability
of the CUI. To settle this problem, the CUI elements
are distributed into three windows (Figure 1 a, b and
c). Consequently, the association of windows instead
of panels may ensure the optimization of the informa-
tion density attribute (ID).
Yet, the window association negatively influences
the brevity attribute (BR) in view of the increas-
ing number of steps required to accomplish the task.
Since the CUI is distributed into three windows, two
steps are required to carry out the task. Therefore,
as the number of steps is less than 3 (an acceptable
upper bound), we infer that the brevity attribute is op-
timized.
The PR attribute is materialized in the optimal
CUI by adding supplementary information about
the data entry format. Indeed, this information
guides users as well as facilitates their interaction
with the system, where a specific format is ex-
pected to be entered such as the format of the dates
(DD/MM/YYYY).
At another level, users of the BTTS have to be
protected against errors during data entry. In fact,
to accomplish this target, input elements with a list
of options are transformed into lists, such as the
drop-down list (UIDropDownList), the radio button
(UIRadioButton) the checkbox (UICheckBox) and
the combo box (UIComboBox). The presence of
these elements allows to have a CUI with an optimal
error prevention (ERP).
Additionally, the optimization of the user con-
trol actions (UCA) attribute is materialized by adding
control buttons such as the validation and cancella-
tion button. Indeed, the ”Valid” button enables the
validation of data entered by the user. The ”Cancel”
control button enables the user to interrupt an action
or a treatment in progress.
ICSOFT 2021 - 16th International Conference on Software Technologies
282
Figure 1: The optimal CUI in the mobile context.
4.3 Learned Lessons
The case study allows the additional assessment of
the feasibility of optimizing the usability of user in-
terface from conceptual models into MDE process.
Furthermore, the suggested approach permits to take
into acount usability at an early stage of the devel-
opment process. This may help avoid the usability
problems once the system is operated. In addition,
we inferred that the number of iterations as well as
the performance of this process are affected not only
by the optimization parameters but also by the qual-
ity of the initial CUI as well as the optimization con-
straints linked to the context of use. The found results
can be regarded as promising. Indeed, some improve-
ments can be introduced with respect to adding some
usability attributes as well as validating them with an
empirical study.
5 CONCLUSION
The paper elabrates a usability optimization process
into MDE paradigme. This process yields three in-
trinsic steps: the first one concerns the generation of
the intial CUI without taking into account the usabil-
ity aspects. The second relates to the reproduction
operator allowing to invade the search space and to
derivate new CUIs. Only the best CUIs are chosen
for the next population depending on the objective
functions. We highlighted three objective functions
based upon the usability sub-characteristics: learn-
ability, undrestandability and operability.
This research may be extended, built upon and
further elaborated as multiple studies may be under-
taken in this area. This involves, in particular, adding
more usability attribues to be optimized. Besides, to
further enhance the performance of our optimization
process, we propose to combine another optimization
algorithm with the evolutionary algorithm. Indeed,
this algorithm is not able to explore the whole search
space by restricting a set of solutions. It would there-
fore be promising to combine the evolutionary algo-
Optimizing the Usability of User Interfaces based on Multi-objective Evolutionary Algorithms
283
rithm with a local search method.
REFERENCES
Abrah
˜
ao, S. and Insfran, E. (2017). Evaluating software
architecture evaluation methods: An internal replica-
tion. In Proceedings of the 21st International Confer-
ence on Evaluation and Assessment in Software Engi-
neering, pages 144–153. ACM.
Afzal, W., Torkar, R., and Feldt, R. (2009). A systematic
review of search-based testing for non-functional sys-
tem properties. Information and Software Technology,
51(6):957–976.
Ammar, L. B., Trabelsi, A., and Mahfoudhi, A. (2016).
A model-driven approach for usability engineering
of interactive systems. Software Quality Journal,
24(2):301–335.
Bastien, J. C. and Scapin, D. L. (1993). Ergonomic criteria
for the evaluation of human-computer interfaces. PhD
thesis, Inria.
Bavota, G., Di Penta, M., and Oliveto, R. (2014). Search
based software maintenance: Methods and tools. In
Evolving software systems, pages 103–137. Springer.
Bechikh, S., Said, L. B., and Gh
´
edira, K. (2011). Search-
ing for knee regions of the pareto front using mobile
reference points. Soft Computing, 15(9):1807–1823.
Boussa
¨
ıd, I., Siarry, P., and Ahmed-Nacer, M. (2017).
A survey on search-based model-driven engineering.
Automated Software Engineering, 24(2):233–294.
Calvary, G., Coutaz, J., Thevenin, D., Limbourg, Q., Bouil-
lon, L., and Vanderdonckt, J. (2003). A unifying ref-
erence framework for multi-target user interfaces. In-
teracting with computers, 15(3):299–308.
Chanquoy, L., Tricot, A., and Sweller, J. (2007). La charge
cognitive: Th
´
eorie et applications. Armand Colin.
da Silva, A. R. (2015). Model-driven engineering: A survey
supported by the unified conceptual model. Computer
Languages, Systems & Structures, 43:139–155.
Fleck, M., Troya, J., Kessentini, M., Wimmer, M., and Alk-
hazi, B. (2017). Model transformation modulariza-
tion as a many-objective optimization problem. IEEE
Trans. Softw. Eng, 43(11):1009–1032.
Gajos, K. Z., Weld, D. S., and Wobbrock, J. O. (2010).
Automatically generating personalized user interfaces
with supple. Artificial Intelligence, 174(12):910–950.
Harman, M. and Jones, B. F. (2001). Search-based software
engineering. Information and software Technology,
43(14):833–839.
Hentati, M., Ammar, L. B., Trabelsi, A., and Mahfoudhi, A.
(2016a). An approach for incorporating the usability
optimization process into the model transformation. In
International Conference on Intelligent Systems De-
sign and Applications, pages 879–888. Springer.
Hentati, M., Ammar, L. B., Trabelsi, A., and Mahfoudhi,
A. (2016b). Model-driven engineering for optimizing
the usability of user interfaces. In ICEIS 2016 - Pro-
ceedings of the 18th International Conference on En-
terprise Information Systems, Volume 2, Rome, Italy,
April 25-28, 2016, pages 459–466.
Hentati, M., Trabelsi, A., Ammar, L. B., and Mahfoudhi, A.
(2018). Motuo: An approach for optimizing usability
within model transformations. Arabian Journal for
Science and Engineering, pages 1–17.
Hentati, M., Trabelsi, A., Benammar, L., and Mahfoudhi,
A. (2019). Search-based software engineering for
optimising usability of user interfaces within model
transformations. IET Software, 13(5):368–378.
I
˜
niguez-Jarr
´
ın, C., Panach, J. I., and L
´
opez, O. P. (2020).
Improvement of usability in user interfaces for mas-
sive data analysis: an empirical study. Multimedia
Tools and Applications, pages 1–32.
ISO, I. (2005). Iec 25000 software and system engineering–
software product quality requirements and evaluation
(square)–guide to square. International Organization
for Standarization, pages 3–20.
Mkaouer, M. W., Kessentini, M., Shaout, A., Koligheu, P.,
Bechikh, S., Deb, K., and Ouni, A. (2020). Many-
objective software remodularization using nsga-iii.
arXiv preprint arXiv:2005.06510.
Ouni, A., Kessentini, M., Sahraoui, H., and Boukadoum, M.
(2013). Maintainability defects detection and correc-
tion: a multi-objective approach. Automated Software
Engineering, 20(1):47–79.
Pitangueira, A. M., Maciel, R. S. P., and Barros, M. (2015).
Software requirements selection and prioritization us-
ing sbse approaches: A systematic review and map-
ping of the literature. Journal of Systems and Soft-
ware, 103:267–280.
Rachmawati, L. and Srinivasan, D. (2009). Multiobjective
evolutionary algorithm with controllable focus on the
knees of the pareto front. IEEE Transactions on Evo-
lutionary Computation, 13(4):810–824.
Raneburger, D., Kaindl, H., and Popp, R. (2015). Strategies
for automated gui tailoring for multiple devices. In
System Sciences (HICSS), 2015 48th Hawaii Interna-
tional Conference on, pages 507–516. IEEE.
Seffah, A., Donyaee, M., Kline, R. B., and Padda,
H. K. (2006). Usability measurement and metrics:
A consolidated model. Software Quality Journal,
14(2):159–178.
ICSOFT 2021 - 16th International Conference on Software Technologies
284