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