Visual Reflexion Models

Master Thesis

Author: Marcello Romanelli

Academic Year: 2013/2014

Defense Date: 23 June 2014

Institution: UniversitĂ  della Svizzera italiana

Faculty: Faculty of Informatics

Program: Master in Software Design

Abstract

Understanding a large software system is a complex task. To deal with this problem, one solution is to create a high-level model by abstracting from the source code entities. As a side effect, this will create a conceptual gap with the real underlying system. Thanks to a reflexion model it is possible to figure out if the high-level model is coherent or not with respect to the real system. In other words, a reflexion model allows to validate a given system against a developer’s mental model. Reflexion model entities are currently constructed from the repository of the system. Specifically, the only elements taken into account are the file system structure of the repository and the textual content of the source code files. Generating the source model by parsing files with an extraction tool is both time consuming and error prone since it requires the manual intervention of the user. Another issue is that it is hard to understand the current coverage of the system: one cannot easily understand which source code entities are already mapped to high-level entities and which are not. We believe that the idea of software reflexion model is powerful and we think that it can be of great benefit for anyone involved in writing software. This thesis presents our approach that starts from a meta-model of the source code and eliminates the step of encoding the high-level abstraction in favor of a purely visual selection. With the support of a web-based tool, we show how our idea can be effectively implemented in practice. The visual creation of abstractions allows the users to navigate the system as it is being analyzed and one eliminates the need of any “extra” language, reduces the possible errors and enables to understand if the final result is correct with respect to the initial mental model. To validate our approach we apply it to two different case studies.