1 research outputs found

    Knowledge analysis in code mapping graphs

    Get PDF
    Dissertação de mestrado integrado em Engenharia InformáticaOs mapas de código, que podem ser representados como grafos, são usados para descrever completamente um sistema de software. Quando inspecionamos um mapa de código, somos capazes de observar o software de uma nova perspetiva e, portanto, entendê-lo melhor. Por exemplo, podemos analisar o seu comportamento bem como as dependências que possam existir entre os vários elementos do sistema. Nesta dissertação, estudámos um mapa de código, em forma de grafo, contendo dados de controlo de versão, provenientes de projetos que estavam guardados em repositórios Git. O grafo referido contém vários tipos de informação sobre o sistema, incluindo métricas de código, como complexidade, e dados sobre os desenvolvimentos realizados. Uma vez que a estrutura organizacional definida pelos autores que desenvolvem o sistema pode originar problemas de qualidade no código, o nosso estudo concentrou-se nos problemas relacionados com os autores dos programas desenvolvidos, usando principalmente alguns dos seus dados de desenvolvimento. Após explorados os problemas relacionados com os autores, agrupámos os seus dados consoante as suas equipas e analisámos os problemas detetados, nomeadamente fragmentação e perda de conhecimento, tendo como perspetiva de análise a própria equipa de desenvolvimento. Nesse sentido, desenvolvemos um programa que é capaz de detectar os referidos problemas e de os revelar ao utilizador de forma que a sua identificação seja feita quase que instantaneamente, o que, como se sabe, facilita muito a gestão de um projeto de software.Code maps, which can be represented as graphs, are used to describe an entire software system. When we inspect a code map, we are able to observe the software in a new form, and therefore understand it better. For example, we can analyse the software behaviour and dependencies between several elements of the system. In this thesis, we study a code mapping graph that contains version control data of a set of projects located in Git repositories. The referred graph contains various information about the system, not only about code metrics like complexity, but also developers’ development data. Since the organizational structure of the developers that build the system can lead to quality problems in the software, our study focused on developers’ related problems using mainly developers’ development data. After the developers’ related problems are explored, we group the developers’ data into their correspondent teams, and analyse the problems (knowledge loss and fragmentation) once again but now in a team view. In this sense, we developed a program that detects these problems and display them to the user in a way that the identification of the problems is almost done instantly, facilitating the management of a software project
    corecore