Software developer's working process could benefit from the support of a recommender system that is able to suggest applicable and useful integrated development environment commands. While previous work focused on prediction methods that can identify what developers will eventually discover autonomously, we built a system that is aimed at recommending commands that are most suitable for the developer's work and are not likely to be discovered without the recommender system. Moreover, we investigated important aspects of command recommendation presentation, which is crucial for successful deployment of command recommenders in practice. In this thesis, we addressed all the main requirements that an integrated development environment command recommender system has to satisfy. In particular, our main contributions to the body of science are: a context model that can help to tailor integrated development environment support tools; a context-based algorithm for predicting the scores of unused commands and generating personalised recommendations; a graphical user interface for presenting command recommendations; and a complete integrated development environment command recommender system. To evaluate the proposed artifacts, we performed a set of studies. The evaluation results show that different contextual factors, which form the proposed context model, correlate with different commands and that all the factors correlate with some commands. This means that our context model provides meaningful information when characterising different situations of integrated development environment use. Furthermore, our results show that in the offline setting, the proposed algorithm outperforms existing algorithms, in terms of contextual relevance and recommendation usefulness. In the online setting, our algorithm generates most novel recommendations, which are also useful, however, in terms of recommendation acceptance, it is outperformed by a baseline, popularity-based algorithm and recent algorithm based on discovery pattern mining and co-occurrence of the commands in the same session. In our research project we also designed a graphical user interface, which is well accepted by the target users. And, finally, we proved that our complete recommender system serves its purpose, which is to increase the breadth of used functionality in the integrated development environment.

Context-Based Integrated Development Environment Command Recommendations

-
2018

Abstract

Software developer's working process could benefit from the support of a recommender system that is able to suggest applicable and useful integrated development environment commands. While previous work focused on prediction methods that can identify what developers will eventually discover autonomously, we built a system that is aimed at recommending commands that are most suitable for the developer's work and are not likely to be discovered without the recommender system. Moreover, we investigated important aspects of command recommendation presentation, which is crucial for successful deployment of command recommenders in practice. In this thesis, we addressed all the main requirements that an integrated development environment command recommender system has to satisfy. In particular, our main contributions to the body of science are: a context model that can help to tailor integrated development environment support tools; a context-based algorithm for predicting the scores of unused commands and generating personalised recommendations; a graphical user interface for presenting command recommendations; and a complete integrated development environment command recommender system. To evaluate the proposed artifacts, we performed a set of studies. The evaluation results show that different contextual factors, which form the proposed context model, correlate with different commands and that all the factors correlate with some commands. This means that our context model provides meaningful information when characterising different situations of integrated development environment use. Furthermore, our results show that in the offline setting, the proposed algorithm outperforms existing algorithms, in terms of contextual relevance and recommendation usefulness. In the online setting, our algorithm generates most novel recommendations, which are also useful, however, in terms of recommendation acceptance, it is outperformed by a baseline, popularity-based algorithm and recent algorithm based on discovery pattern mining and co-occurrence of the commands in the same session. In our research project we also designed a graphical user interface, which is well accepted by the target users. And, finally, we proved that our complete recommender system serves its purpose, which is to increase the breadth of used functionality in the integrated development environment.
2018
en
Context-aware recommender systems
IDE command recommendation
Integrated development environment
Software engineering
Libera Università di Bolzano
File in questo prodotto:
Non ci sono file associati a questo prodotto.

I documenti in UNITESI sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.

Utilizza questo identificativo per citare o creare un link a questo documento: https://hdl.handle.net/20.500.14242/273459
Il codice NBN di questa tesi è URN:NBN:IT:UNIBZ-273459