Concept Location based on System Dependency Graphs
Nuno Filipe Gomes Pereira · Portuguese National Funding Agency for Science, Research and Technology (RCAAP Project by FCT) · 2015
Software maintenance can be seen as the act of correct errors in the software, improve it and/or adding new features.This is one of the most difficult and frequent jobs of a software engineer and one of the most important and expensive parts of software development.Maintaining software is very complex mainly because before making the change to the program, software engineers need to find the location, or locations, where the changes will be made; in other words, first they need to understand the program.Real applications are always huge and sometimes these programs are old or were written by other person and it is difficult to find the location where the change will be applied.There are various techniques to find these locations minimizing the time spent, but this phase of software development continues to be one of the most expensive and longer.The objective of this Master Work is to combine Program Comprehension techniques like comment analysis and SDG visualization, creating a tool easy to use, that can simplify and decrease the time spent understanding a program.a R E S U M O Manutenc ¸ão de software pode ser vista como o ato de corrigir erros no software, melhorá-lo e/ou de adicionar novas funcionalidades.Esta é uma das tarefas mais frequentes e difíceis de um engenheiro de software e uma das mais importantes e dispendiosas partes do desenvolvimento de software.Manter um software é muito complicado principalmente porque antes de efectuar a alterac ¸ão do programa, o engenheiro de software precisa de encontrar o local, ou locais, onde a alterac ¸ão será efectuada, ou seja, primeiro ele precisa de perceber o programa.Por vezes estes programas são antigos ou foram escritos por outra pessoa e é difícil encontrar o local onde a alterac ¸ão será feita.Existem muitas técnicas para encontrar estes locais minimizando o tempo despendido, mas esta fase do desenvolvimento de software continua a ser uma das mais caras e demoradas.O objetivo do presente Trabalho de Mestrado é combinar técnicas de Compreensão de Programas tais como análise de comentários e visualizac ¸ão do SDG, criando uma ferramenta fácil de usar, que consiga simplificar e diminuir o tempo despendido a perceber um programa.