Um metamodelo para facilitar a integração de ferramentas de visualização de software e mineração de interesses transversais
Tanner, Oscar José Fernandes
MetadataMostrar registro completo
A goal of the Object-Oriented Programming is to develop software with better modularization and separation of concerns, although tangling and scattering of some of these concerns cannot be prevented. The Aspect-Oriented Programming was proposed to solve this problem. However, the identification of the scattering and tangling concerns, also known as crosscutting concerns (CC), is not simple. To assist this identification, it is recommended the use of CC Mining tools (MT), but some MTs do not properly display these CCs in the source code. One way to improve the presentation of this CCs is displaying them through software visualization tools. Software visualization aims to abstract the structural information of the software through visual metaphors. However, it is not always simple to integrate CC and visualization tools, because each tool store their results in a specific format that is usually not recognized by the others. In order to solve this problem, this work created a metamodel that facilitates this integration. The results obtained from a MT are transformed to this metamodel format, so they can be processed by a software visualization tool. Presenting the results of a MT through software visualization tools helps the comparison of these results, facilitating the detection of false negatives and the identification of visual patterns that indicate false positives. Four MT and two software visualization tools were integrated to demonstrate the benefits of an integrated environment. Moreover, two experiments were conducted: one to evaluate the use of the proposed metamodel; and another to evaluate the use of the integrated environment. The results revealed that the use of the proposed metamodel facilitates this integration and the software engineer must be a specialist of each of the integrated tools in order to enjoy the benefits from this integration.