Please use this identifier to cite or link to this item: http://www.repositorio.ufc.br/handle/riufc/39106
Title in Portuguese: Estudo comparativo de ferramentas de análise estática no contexto de engenharia reversa
Author: Silva, Jorge Diego de Sousa
Advisor(s): Marques, Anna Beatriz dos Santos
Keywords: Engenharia Reversa
Manutenção de Software
Experimento
Ferramentas CASE
Issue Date: 2018
Citation: SILVA, Jorge Diego de Sousa. Estudo comparativo de ferramentas de análise estática no contexto de engenharia reversa. 2018. 68 f. Monografia (Graduação em Engenharia de Software) – Campus de Russas, Universidade Federal do Ceará, Russas, 2018.
Abstract in Portuguese: A manutenção de software é uma das fases mais importantes do ciclo de vida de software, pois após o sistema ser entregue para uso, erros tendem a surgir, e mudanças tendem à ser solicitadas pelos usuários. No entanto, há várias dificuldades na manutenção de sistemas, principalmente se forem legados, pois geralmente sistemas desse tipo possuem pouca ou nenhuma documentação, dificultando a realização de qualquer mudança. Nesse contexto, a engenharia reversa surgiu com o intuito de facilitar a manutenção de software, auxiliando na recuperação de componentes e documentação de sistemas. O objetivo deste trabalho é realizar um estudo comparativo de ferramentas de análise estática, no contexto de engenharia reversa, com base em componentes recuperados, critérios estabelecidos, facilidade de uso, utilidade e intenção comportamental das ferramentas. Para a obtenção de resultados preliminares, foi realizado um estudo em relaçãoaos componentes que as ferramentas conseguiriam recuperar do sistema, foram levados em consideração elementos UML e relacionamentos (associação, composição, agregação, herança, realização e dependência). Os resultados mostram uma semelhança em relação ao número de elementos UML recuperados, já em relação aos relacionamentos, o desempenho das ferramentasfoi baixo quando comparado com a quantidade de elementos UML recuperados. Foi realizado um experimento com alunos do curso de Engenharia de Software da Universidade Federal do Ceará - Campus Russas, onde os alunos utilizaram duas ferramentas em um sistema, e, em seguida um questionário foi aplicado para avaliar as ferramentas, levando em consideração a facilidade uso, utilidade e intenção comportamental das ferramentas. Tendo em vista o grande número de ferramentas CASE disponíveis, o presente trabalho contribui no apoio à seleção de ferramentas de engenharia reversa eficazes e fáceis de usar, indicadas com base em resultados de experimentação. Como resultados obtemos uma análise estatística dos dados do experimento e uma análise dos componentes e relacionamentos que cada ferramenta conseguiu recuperar, desta forma, auxiliando empresas de desenvolvimento de software na escolha por uma ferramenta de análise estática.
Abstract: Software maintenance is one of the most important phases of the software life cycle because after the system is delivered for use, errors tend to arise, and changes tend to be requested by users. However, there are several difficulties in maintaining systems, especially if they are legacy, since generally such systems have little or no documentation, making it difficult to make any changes. In this context, reverse engineering was developed with the purpose of facilitating the maintenance of software, aiding in the recovery of components and documentation of systems. The objective of this work is to perform a comparative study of static analysis tools, in the context of reverse engineering, based on recovered components, established criteria, ease of use, usefulness and behavioral intention of the tools. In order to obtain preliminary results, a study was carried out regarding the components that the tools could retrieve from the system, UML elements and relationships (association, composition, aggregation, inheritance, realization and dependence) were taken into account. The results show a similarity to the number of UML elements retrieved, already in relation to the relationships, the performance of the tools was low when compared to the amount of UML elements recovered. An experiment was carried out with students of the Software Engineering course of the Federal University of Ceará - Russian Campus, where the students used two tools in a system, and then a questionnaire was applied to evaluate the tools, taking into account ease of use , utility and behavioral intent of tools. Given the large number of CASE tools available, this paper contributes to the selection of effective and easy-to-use reverse engineering tools based on experimental results. As results we obtain a statistical analysis of the data of the experiment and an analysis of the components and relationships that each tool was able to recover, in this way, helping software development companies in the choice of a static analysis tool.
URI: http://www.repositorio.ufc.br/handle/riufc/39106
metadata.dc.type: TCC
Appears in Collections:ENGENHARIA DE SOFTWARE - RUSSAS - Monografias

Files in This Item:
File Description SizeFormat 
2018_tcc_jdssilva.pdf1,56 MBAdobe PDFView/Open


Items in DSpace are protected by copyright, with all rights reserved, unless otherwise indicated.