00 CAMPUS ARISTÓTELES CALAZANS SIMÕES (CAMPUS A. C. SIMÕES) IC - INSTITUTO DE COMPUTAÇÃO Dissertações e Teses defendidas na UFAL - IC
Use este identificador para citar ou linkar para este item: http://www.repositorio.ufal.br/jspui/handle/riufal/2922
Tipo: Dissertação
Título: Analisando as relações entre mudanças no código fonte e bugs no software
Título(s) alternativo(s): Analyzing the relationship between source code changes and software bugs
Autor(es): Piancó Júnior, Marcus Aurélio Cordeiro
Primeiro Orientador: Santos Neto, Baldoino Fonseca dos
metadata.dc.contributor.advisor-co1: Antunes , Nuno Manuel dos Santos
metadata.dc.contributor.referee1: Brito, Patrick Henrique da Silva
metadata.dc.contributor.referee2: Moraes, Regina lúcia de Oliveira
Resumo: Com a evolução dos sistemas de software, alguns serviços, outrora realizados de maneira manual, têm migrado para aplicações computadorizadas, tais como: software complexas para controle financeiro ou sistemas que controlam vôos em aeronaves. Embora estes serviços tenham sido facilitados pelo auxílio da tecnologia,mantê-los disponíveis requer cuidados, seja durante a fase de desenvolvimento da aplicação que provê serviços ou pelos usuários que fazem uso destas aplicações. Um problema ainda predominante em sistemas é a ocorrência de bugs no software. Estes que, comumente, são associados a anomalias em unidades elementares dos sistemas, tais como arquivos, classes, funções ou métodos, podem ser demasiadamente longas ou complexas, o que pode comprometer as tarefas de inspeções e correções de bugs. Para tanto, este trabalho descreve o uso de um mecanismo de coleta e análise acerca das mudanças em códigos fonte que, comumente, podem estar associadas ao surgimento de bugs no software. Tal mecanismo baseia-se em modificações feitas ao longo do tempo em estruturas atômicas, e que são mudadas com frequência dentro do software, tais como: funções, métodos e classes. Utilizando-se da coleta e análise sobre dados de projetos, obteve-se um data set contendo o histórico de mudanças de quatorze projetos open-source, sendo três projetos desenvolvidos nas linguagens de programação C e C++, e onze projetos em JAVA. Foram realizadas também duas análises para avaliar o uso dos dados coletados, dos quais, sendo que a primeira foi uma análise acerca do histórico de mudanças associadas à vulnerabilidades de software (bugs de segurança) para os projetos C,C++, e a segunda acerca das relações entre mudanças e bugs em projetos JAVA. A partir das análises feitas, é possível afirmar que histórico de mudanças pode servir como referência a diversas estratégias que buscam o aprimoramento do processo de desenvolvimento de software, seja na criação de modelos para predição ou detecção de bugs, ou na geração de códigos de maneira automática.
Abstract: Considering the evolution of software systems, some services that were performed manually have migrated to computer applications such as complex software for financial control or systems that control aircraft flights. Although these services have been facilitated by the help of the technology, keeping them available requires care, either during the development phase of the program that provides these services or by the users who make use of these application. A still prevalent problem in systems is the occurrence of bugs in the software. These are commonly associated with anomalies in elementary units in systems, such as files, classes, functions, or methods. These parts of source code can often be too long or complex, which can compromise the bugs inspections and fixes. In order to do so, this work describes the use of a collection and analysis mechanism, about the changes in source codes that, commonly, can be associated to the appearance of bugs in the software. Such a mechanism is based on modifications made over time in atomic structures, which are often changed within the software, such as functions, methods and classes. As a result of the collection and analysis engine applications, we obtained a data set containing information for the change history of fourteen open-source projects, three of which were developed in C and C ++ programming languages, and eleven projects in JAVA. Two analysis were also carried out to evaluate the use of the collected data, of which the first was an analysis of the history of changes associated with software vulnerabilities (security bugs) for C, C ++ projects, and the second about the relationships between changes and bugs in JAVA projects. From the analysis made, it is possible to affirm that history of changes can serve as reference to several strategies that seek to improve the process of software development, be it in the creation of models for prediction or detection of bugs, or in the generation automatically of source codes.
Palavras-chave: Software
Vulnerabilidade de software
Bugs de software
Código fonte - Mudanças
Software Vulnerability
Software Bug
Source Code Changes
CNPq: CNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO
Idioma: por
País: Brasil
Editor: Universidade Federal de Alagoas
Sigla da Instituição: UFAL
metadata.dc.publisher.program: Programa de Pós-Graduação em Informática
Citação: PIANCÓ JÚNIOR, Marcus Aurélio Cordeiro. Analisando as relações entre mudanças no código fonte e bugs no software. 2017. 67 f. Dissertação (Mestrado em Informática) - Instituto de Computação, Programa de Pós-Graduação em Informática, Universidade Federal de Alagoas, Maceió, 2017.
Tipo de Acesso: Acesso Aberto
URI: http://www.repositorio.ufal.br/handle/riufal/2922
Data do documento: 19-out-2017
Aparece nas coleções:Dissertações e Teses defendidas na UFAL - IC

Arquivos associados a este item:
Arquivo Descrição TamanhoFormato 
Analisando as relações entre mudanças no código fonte e bugs no software.pdf1.19 MBAdobe PDFVisualizar/Abrir


Os itens no repositório estão protegidos por copyright, com todos os direitos reservados, salvo quando é indicado o contrário.