Using machine learning to evaluate the layout quality of UML class diagrams
Ladda ner
Publicerad
Författare
Typ
Examensarbete för masterexamen
Program
Modellbyggare
Tidskriftstitel
ISSN
Volymtitel
Utgivare
Sammanfattning
The Unified Modeling Language (UML) is the standard way of visualizing the design
of software systems using diagrams. It is important that the layout of a UML
diagram is of high quality so that it is easy for a human to comprehend. Evaluation
of layout quality is hard and is often done through time and resource consuming
user studies.
This work uses a big data set of UML class diagrams to utilize the power of machine
learning for creating an automatic evaluator of layout quality, and for finding the
particular features of diagrams that have the highest impact on the layout quality.
Diagram features, inspired by layout aesthetics commonly mentioned in literature,
that may affect layout quality were extracted using image processing. To establish
a ground truth for the layout quality of the diagram data set, all diagrams were
manually labeled with their perceived layout quality. The features and labels were
provided to different machine learning algorithms to train on gaining information
from.
The best performing machine learning approach was using a random forest, which
gave a correlation of 0.66 and a relative absolute error of 72.47%. This indicates that
it was able to successfully gain important information from the features about how
to evaluate layout quality. The two most impactful features for evaluating layout
quality were found to be the length of the longest line and orthogonal placement of
rectangles.
The layout quality evaluator that was created can be useful for efficiently comparing
different kinds of diagram layouts, for example layouts created by different
algorithms to see which algorithm performs better. The findings regarding the most
important layout aesthetics can be useful for indicating what aesthetics to prioritize
when constructing layouts and layout algorithms.
Beskrivning
Ämne/nyckelord
UML, machine learning, image processing, layout quality