-
Notifications
You must be signed in to change notification settings - Fork 19
/
Copy pathabstract.tex
41 lines (38 loc) · 2.65 KB
/
abstract.tex
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
The efficient management of \acp{cr} is fundamental for successful software
maintenance; however the assignment of \acp{cr} to developers is an expensive
aspects in this regard, due to the time and expertise demanded. To overcome
this, researchers have proposed automated approaches for \ac{cr} assignment.
Although these proposals present advances to this topic, they do not consider
many factors inherent to the assignments. Indeed, different complex factors may
have influence on \ac{cr} assignment, and most of them vary from one
organization to another. For instance, developers' workload, \acp{cr} severity,
interpersonal relationships, or developers know-how must be considered in the
assignments. Actually, as we demonstrate in this work, \ac{cr} assignment is a
complex activity and automated approaches cannot rely on simplistic solutions.
Ideally, it is necessary to consider and reason over contextual information in
order to provide an effective automation.
In this regarding, this work proposes, implements, and validates a context-aware
architecture to automate \ac{cr} assignment. The architecture emphasizes the
need for considering the different information available at the organization to
provide a more context-aware solution to automated \ac{cr} assignment. The
development of such architecture is supported by evidence synthesized from two
empirical studies: a survey with practitioners and a systematic mapping study.
The survey provided us with a set of requirements that automated approaches
should satisfy. In the mapping study, in turn, we figured out how
state-of-the-art approaches are implemented in regarding to these requirements,
concluding that many of them are not satisfied. In addition, new requirements
were identified in this mapping study.
For the implementation of the proposed architecture, we developed a strategy to
automate \ac{cr} assignments which is based on two main components: a \acf{rbes}
and an \acf{ir} model. The strategy coordinately applies these two components in
different steps to find the potential developer to a \ac{cr}. The \ac{rbes}
takes care of the simple and complex rules necessary to consider contextual
information in the assignments, e.g., to prevent assigning a \ac{cr} to a busy
or unavailable developer. Since these rules vary from one organization/project
to another, the \ac{rbes} facilitates their modification for different contexts.
On the other hand, the \ac{ir} model is useful to make use of the historical
information of \ac{cr} assignments to match \acp{cr} and developers.
\begin{keywords}
Software Engineering, Software Maintenance and Evolution, Change Request
Management, Automatic Change Request Assignment
\end{keywords}