Source-code comprehension tasks supported by UML design models: Results from a controlled experiment and a differentiated replication. (June 2015) - Gravino, Carmine; Scanniello, Giuseppe; Tortora, Genoveffa
Abstract: Objective : The main objective is to investigate whether the comprehension of object-oriented source-code increases when it is added with UML class and sequence diagrams produced in the software design phase. Methods : We conducted a controlled experiment and a differentiated replication with young software maintainers. In particular, groups of Bachelor and Master students were involved. Results : The results show that more experienced participants better comprehend source-code when added with UML design models. An average improvement (or benefit) of circa 12% was achieved when the participants accomplished the comprehension task with UML class and sequence diagrams. The results of an analysis on the time to accomplish comprehension tasks showed that less experienced participants significantly spent more time when comprehending source-code with UML design models. This kind of participants spent on average 44.8% of the time to accomplish the same task with source-code alone. Implications : It is useless to give UML design models to comprehend source-code in case maintainers are not adequately experienced with the UML. Furthermore, the less the experience of participants, the more the time to accomplish a comprehension task with UML diagram is. Abstract : Highlights: Using UML design models to support young software maintainers. We analyze the effect of the experience and ability. We present the results of a controlled experiment and a differentiated replication. More experienced maintainers significantly better comprehend source code using UML models. To benefit from the use of UML design models, a given experience and ability is needed.