Modeling Context-Aware Command
Recommendation and Acceptance in an IDE
Marko Gasparic, Francesco Ricci
Free University of Bozen-Bolzano
Piazza Domenicani, 3, I-39100 Bozen-Bolzano, Italy
Email: marko.gasparic@stud-inf.unibz.it, fricci@unibz.it
Abstract—For software developers to use the full range of
available commands in an integrated development environment,
one has to provide proactive support which can suggest unknown
commands that could be useful for the task at hand. Researchers
started exploring the potential of recommender systems to
provide this type of help, but so far there are still very few
contributions. We propose a new multi-criteria context-aware
rating prediction model that can be used to predict the user choice
of either to accept or reject an IDE command recommendation.
Individual command recommendation evaluation criteria are:
performance expectancy, effort expectancy, and social influence;
besides, the overall evaluation/rating is the intention to use a
command. We have identified four types of contexts, namely,
current practice, environment, interaction, and recommendation
presentation context. The model is aimed at improving recom-
mendation quality and enabling more effective recommendation
presentations.
Index Terms—Recommender system, model, context-aware,
multi-criteria, command.
I. I NTRODUCTION
High-functionality applications (HFAs) are complex sys-
tems which serve the needs of a large and diverse user
population [1]. Since most of their users are not experts, and
they only want to efficiently accomplish the task at hand, they
are often not interested in exploring and using novel features
that actually could improve their job performance. Integrated
development environments (IDEs) are HFAs, and Murphy-
Hill [2] found that software developers are using only a small
subset of commands (average Eclipse user is using less than
50 commands out of 1100 that are available).
Unless some proactive mechanism, which suggests specific
IDE commands that the software developer does not know,
is introduced, she will not learn new useful commands. On
the other hand, the system should not inform the user about
commands that are irrelevant for her job and it should not
recommend already known commands; i.e., “Did You Know”
and “Tip of the Day” recommendations do not suffice [1].
Recommender systems (RSs) are personalised information
search and filtering tools that suggest useful items [3]; they
have been primarily used in eCommerce, for recommending
books, CDs, or movies. Nowadays, they are applied in many
domains, also in software engineering [4].
Researchers are exploring usage of RSs as active help
systems too, but while there are still very few contributions
([5], [6], [7], and [8]), it seems that the effectiveness of current
command recommenders can be improved further.
The goal of a RS is to recommend an item with the largest
utility for the user. According to [2], only 12% of developers
that submitted Eclipse usage data used open resource shortcut,
which experts classify as very useful. An effective command
RS should recommend a shortcut when it can be used instantly,
only to the developers who are not familiar with it, and the
RS should tailor the argument supporting the recommendation
to the developer characteristics.
Existing command RSs are based on “most popular” or
collaborative filtering techniques. In this article we will posit
that multi-criteria context-aware RSs could generate more
convincing and useful command recommendations. Here we
do not propose new algorithms, since we assume that existing
(rating prediction) algorithms are of sufficiently high quality
and can be applied also in this domain. We want to focus
on the analysis of the problem, discussing the application
scenario, the type of recommendations required and how
the presentation of the recommendations should be adapted
to the context and the user, and in particular the choice
model of the user, which specifies how the user of an IDE
evaluates the choice of either to accept or reject a command
recommendation.
In this article we present a new rating prediction model for
command RSs, which is aimed at improving recommendation
quality and enabling more effective recommendation presenta-
tions. In section II we present preexisting models and theories
that influenced the design of our model, which is described
in section III. In the last section we outline our plan for the
future work.
II. RELATED WORK
A. Recommender Systems
RSs are helping their users to make better choices and are
very common in Internet applications nowadays. They exploit
data mining and information retrieval techniques to predict
which items are best suited for the user’s needs and then they
recommend them [3].
More traditional RSs do not take into account any contextual
information, even though ignoring the context of a recommen-
dation can jeopardize the relevance of the recommendations
in many domains [9]. For instance, if programmer’s actions
in the development environment are not taken into account,
the RS could recommend commands that she already knows
or commands that are not applicable. The rating function in
2015 IEEE/ACM 2nd International Workshop on Context for Software Development
978-1-4673-7037-0/15 $31.00 © 2015 IEEE
DOI 10.1109/CSD.2015.7
1