In English

Condensation of class diagrams using machine learning

Filip Brynfors
Göteborg : Chalmers tekniska högskola, 2016. 75 s.
[Examensarbete på avancerad nivå]

Although class diagrams can be a useful asset within software development, the size of reverse engineered diagrams may quickly become overwhelming in a large scale software environment. One way of keeping diagrams small is to condense them by removing the least important classes while keeping the remainder. This can be done through the use of machine learning where metrics of a class are used determine how important the class is. As not very many metrics have been used in this setting, the purpose of this thesis is to identify what metrics that are considered to be relevant for di erent stakeholders and then to nd how well the identi ed metrics work within the machine learner. Furthermore, the thesis also aims at evaluating if the method as a whole is useful within an industrial setting. The work was started by interviews in collaboration with Ericsson where their opinion regarding the importance of classes was gathered. Then followed the creation of a tool for condensing diagrams and an analysis of the performance of the machine learner. Additionally, condensed diagrams were compared to reverse engineered diagrams. Several new high performing metrics were found and extending the previous set of metrics improved the performance of the machine learner overall. Some aws were identi ed with the condensed diagrams, however they still managed to perform better than reverse engineered diagrams with all classes remaining and thus, the method should be considered advantageous in an industrial setting.

Nyckelord: machine learning, condensing diagrams, metrics, class importance, reverse engineering

Publikationen registrerades 2016-11-14. Den ändrades senast 2016-11-14

CPL ID: 245100

Detta är en tjänst från Chalmers bibliotek