TOLEDO, S. S.; TOLEDO, Saulo S. de.; http://lattes.cnpq.br/0317115957318614; TOLEDO, Saulo Soares de.
Resumo:
UML models are used in several ways in the software engineering. They can model from requirements to the entire software, and comprise several diagrams. The Class diagram, the most popular among the UML diagrams, makes use of several UML elements and adornments, such as abstraction, interfaces, derived attributes, generalization sets, compositions and aggregations. Currently, there is no easy way to find this kind of diagram based on these features for reuse or learning by example’s tasks, for instance. On the other hand, Recommender Systems are powerful tools and techniques that are able to discover the most appropriate elements to an user among many others. There are several recommender techniques, from using the elements’ information in several ways, to using other users’ opinions. Recommender systems were already used successfully in several software engineering problems, as discovering pieces of code to recommend (as methods, for example) and finding the best developer to work in certain software problems. This work aims to propose and evaluate (i) a content-based Recommender System’s representation for class diagrams’ features and user’s preferences, (ii) a new knowledge-based recommender algorithm, (iii) the application this algorithm and two other state of the art content-based ones to the recommendation of UML class diagrams and (iv) an evaluation of these approaches against a random suggestion. To achieve this goal, we conducted a case study with computer science students and egresses. After comparing the algorithms, our results show that, for our dataset, all of
them are better than a random recommendation.