Recommender systems are a valuable tool for software engineers. For example, they can provide developers with a ranked list of files likely to contain a bug, or multiple auto-complete suggestions for a given method stub. However, the way these recommender systems interact with developers is often rudimentary -- a long list of recommendations only ranked by the model's confidence. In this vision paper, we lay out our research agenda for re-imagining how recommender systems for software engineering communicate their insights to developers. When issuing recommendations, our aim is to recommend diverse rather than redundant solutions and present them in ways that highlight their differences. We also want to allow for seamless and interactive navigation of suggestions while striving for holistic end-to-end evaluations. By doing so, we believe that recommender systems can play an even more important role in helping developers write better software.
翻译:建议系统是软件工程师的宝贵工具。 例如,建议系统可以向开发者提供可能包含错误或对特定方法根管提出多个自动完成建议的文件排名清单。 但是,这些建议系统与开发者互动的方式往往是初级的 -- -- 长长的建议清单仅按模型的可信度排列。在这个愿景文件中,我们提出了我们的研究议程,以重新想象软件工程建议系统如何向开发者传达他们的见解。在发布建议时,我们的目标是建议多样性而非多余的解决办法,并以突出其差异的方式提出这些解决办法。我们还希望允许建议进行无缝和互动的导航,同时努力进行整体端对端评价。我们认为,通过这样做,建议系统可以在帮助开发者编写更好的软件方面发挥更为重要的作用。