PACCS uma ferramenta para detecção proativa e resolução colaborativa de conflitos de código fonte

Submitted by Silvana Teresinha Dornelles Studzinski (sstudzinski) on 2016-06-13T17:33:37Z No. of bitstreams: 1 Daniel Bruno Armino_.pdf: 1677240 bytes, checksum: 278b4e6ed4b8adf54258b557940f77df (MD5) === Made available in DSpace on 2016-06-13T17:33:37Z (GMT). No. of bitstreams: 1 Daniel Bruno Ar...

Full description

Bibliographic Details
Main Author: Armino, Daniel Bruno
Other Authors: http://lattes.cnpq.br/2582456631204400
Language:Portuguese
Published: Universidade do Vale do Rio dos Sinos 2016
Subjects:
Online Access:http://www.repositorio.jesuita.org.br/handle/UNISINOS/5365
id ndltd-IBICT-oai-www.repositorio.jesuita.org.br-UNISINOS-5365
record_format oai_dc
collection NDLTD
language Portuguese
sources NDLTD
topic ACCNPQ::Ciências Exatas e da Terra::Ciência da Computação
Controlador de versão
Conflitos
Repositório
Pró-ativo
Colaboração
Ferramenta
Version control
Conflicts
Repository
Proactive
Colaboration
Tool
spellingShingle ACCNPQ::Ciências Exatas e da Terra::Ciência da Computação
Controlador de versão
Conflitos
Repositório
Pró-ativo
Colaboração
Ferramenta
Version control
Conflicts
Repository
Proactive
Colaboration
Tool
Armino, Daniel Bruno
PACCS uma ferramenta para detecção proativa e resolução colaborativa de conflitos de código fonte
description Submitted by Silvana Teresinha Dornelles Studzinski (sstudzinski) on 2016-06-13T17:33:37Z No. of bitstreams: 1 Daniel Bruno Armino_.pdf: 1677240 bytes, checksum: 278b4e6ed4b8adf54258b557940f77df (MD5) === Made available in DSpace on 2016-06-13T17:33:37Z (GMT). No. of bitstreams: 1 Daniel Bruno Armino_.pdf: 1677240 bytes, checksum: 278b4e6ed4b8adf54258b557940f77df (MD5) Previous issue date: 2016-03-23 === CAPES - Coordenação de Aperfeiçoamento de Pessoal de Nível Superior === Em desenvolvimento de software colaborativo, desenvolvedores compartilham código fonte e modificam partes deste código em paralelo, visando aumentar a produtividade. Para isso, times de desenvolvimento, tipicamente globalmente distribuídos, fazem uso de sistemas de controle de versão (SCV), os quais são responsáveis por versionar o código fonte e reconciliar as alterações conflitantes realizadas pelos desenvolvedores em paralelo. Em geral, cada desenvolvedor possui uma cópia local dos arquivos do código fonte do repositório, podendo realizar qualquer tipo modificação e tendo que posteriormente integrar a sua versão local do código fonte com as alteradas pelos outros membros do time de desenvolvimento. O problema é que usualmente os sistemas de controle de versão (por exemplo, GIT e SVN) não dão suporte a detecção antecipada dos conflitos, nem auxiliam os desenvolvedores na resolução dos mesmos. Na prática, um conflito trata-se de alterações divergentes realizadas em um mesmo trecho de código em paralelo por diferentes desenvolvedores. Consequentemente, detectar e resolver conflitos passam a ser duas atividades altamente propensa a erros e que exige bastante esforço do desenvolvedor. Para explorar esta problemática, este trabalho propõe o PACCS, uma ferramenta capaz de: (1) detectar proativamente conflitos; (2) analisar a propagação de conflitos; (3) identificar conflitos sintáticos e semânticos; (4) resolver automaticamente conflitos detectados; (5) apoiar os desenvolvedores na resolução colaborativa dos conflitos; e (6) checar as integrações realizadas e submetidas ao repositório de acordo um conjunto de regras. A ferramenta desenvolvida abordará os requisitos citados anteriormente e possui duas partes: o lado cliente (plugin para o eclipse) e o lado server (gerenciador de alterações entre workspaces). Após a construção da ferramenta será efetuado um comparativo entre desenvolvedores que utilizam a ferramenta versus os que não utilizaram, objetivando aferir as vantagens ou desvantagens da ferramenta. Os resultados demonstraram que (1) ao contrário do que a literatura prega, VCS centralizados tendem produzir um código fonte mais próximo do desejado e (2) a abordagem colaborativa pode ser mais eficiente e necessitar de menos esforço na resolução de conflitos. === In collaborative software development, developers share source code and modify parts of code in parallel, to increase productivity. For this, development teams typically distributed globally, make use of version control systems (VCS), which are responsible for versioning the source code and reconcile conflicting changes made by developers in parallel. Generally, each developer has a local copy of the source code files from the repository, and can perform any modification and having to later join their local version of the source code with the changed by the other members of the development team. The problem is that usually the version control systems (eg, GIT and SVN) do not support early detection of conflicts, or assist developers in solving them. In practice, a conflict it is divergent changes made in one piece of code in parallel by different developers. Consequently, detect and resolve conflicts become two highly prone to errors and activities that require a lot of effort from the developer. To explore this issue, this paper proposes the PACCS, a tool capable of: (1) detect proactively conflicts; (2) to analyze the spread of conflicts; (3) identify syntactic and semantic conflicts; (4) detected automatically resolve conflicts; (5) support developers in collaborative conflict resolution; and (6) check the integrations carried out and submitted to the agreement of a set of rules repository. The developed tool will address the above requirements and has two parts: the client side (plugin for Eclipse) and the server side (change manager between Workspaces). After the construction of the tool will be made a comparison between developers using the tool versus those who did not use, in order to assess the advantages or disadvantages of the tool. The results showed that (1) contrary to the literature preaches, centralized VCS tend to produce a code nearest source of the desired and (2) a collaborative approach can be more efficient and require less effort in resolving conflicts.
author2 http://lattes.cnpq.br/2582456631204400
author_facet http://lattes.cnpq.br/2582456631204400
Armino, Daniel Bruno
author Armino, Daniel Bruno
author_sort Armino, Daniel Bruno
title PACCS uma ferramenta para detecção proativa e resolução colaborativa de conflitos de código fonte
title_short PACCS uma ferramenta para detecção proativa e resolução colaborativa de conflitos de código fonte
title_full PACCS uma ferramenta para detecção proativa e resolução colaborativa de conflitos de código fonte
title_fullStr PACCS uma ferramenta para detecção proativa e resolução colaborativa de conflitos de código fonte
title_full_unstemmed PACCS uma ferramenta para detecção proativa e resolução colaborativa de conflitos de código fonte
title_sort paccs uma ferramenta para detecção proativa e resolução colaborativa de conflitos de código fonte
publisher Universidade do Vale do Rio dos Sinos
publishDate 2016
url http://www.repositorio.jesuita.org.br/handle/UNISINOS/5365
work_keys_str_mv AT arminodanielbruno paccsumaferramentaparadeteccaoproativaeresolucaocolaborativadeconflitosdecodigofonte
_version_ 1719011276124848128
spelling ndltd-IBICT-oai-www.repositorio.jesuita.org.br-UNISINOS-53652019-04-02T07:48:31Z PACCS uma ferramenta para detecção proativa e resolução colaborativa de conflitos de código fonte Armino, Daniel Bruno http://lattes.cnpq.br/2582456631204400 Gluz, João Carlos Oliveira, Kleinner Silva Farias de ACCNPQ::Ciências Exatas e da Terra::Ciência da Computação Controlador de versão Conflitos Repositório Pró-ativo Colaboração Ferramenta Version control Conflicts Repository Proactive Colaboration Tool Submitted by Silvana Teresinha Dornelles Studzinski (sstudzinski) on 2016-06-13T17:33:37Z No. of bitstreams: 1 Daniel Bruno Armino_.pdf: 1677240 bytes, checksum: 278b4e6ed4b8adf54258b557940f77df (MD5) Made available in DSpace on 2016-06-13T17:33:37Z (GMT). No. of bitstreams: 1 Daniel Bruno Armino_.pdf: 1677240 bytes, checksum: 278b4e6ed4b8adf54258b557940f77df (MD5) Previous issue date: 2016-03-23 CAPES - Coordenação de Aperfeiçoamento de Pessoal de Nível Superior Em desenvolvimento de software colaborativo, desenvolvedores compartilham código fonte e modificam partes deste código em paralelo, visando aumentar a produtividade. Para isso, times de desenvolvimento, tipicamente globalmente distribuídos, fazem uso de sistemas de controle de versão (SCV), os quais são responsáveis por versionar o código fonte e reconciliar as alterações conflitantes realizadas pelos desenvolvedores em paralelo. Em geral, cada desenvolvedor possui uma cópia local dos arquivos do código fonte do repositório, podendo realizar qualquer tipo modificação e tendo que posteriormente integrar a sua versão local do código fonte com as alteradas pelos outros membros do time de desenvolvimento. O problema é que usualmente os sistemas de controle de versão (por exemplo, GIT e SVN) não dão suporte a detecção antecipada dos conflitos, nem auxiliam os desenvolvedores na resolução dos mesmos. Na prática, um conflito trata-se de alterações divergentes realizadas em um mesmo trecho de código em paralelo por diferentes desenvolvedores. Consequentemente, detectar e resolver conflitos passam a ser duas atividades altamente propensa a erros e que exige bastante esforço do desenvolvedor. Para explorar esta problemática, este trabalho propõe o PACCS, uma ferramenta capaz de: (1) detectar proativamente conflitos; (2) analisar a propagação de conflitos; (3) identificar conflitos sintáticos e semânticos; (4) resolver automaticamente conflitos detectados; (5) apoiar os desenvolvedores na resolução colaborativa dos conflitos; e (6) checar as integrações realizadas e submetidas ao repositório de acordo um conjunto de regras. A ferramenta desenvolvida abordará os requisitos citados anteriormente e possui duas partes: o lado cliente (plugin para o eclipse) e o lado server (gerenciador de alterações entre workspaces). Após a construção da ferramenta será efetuado um comparativo entre desenvolvedores que utilizam a ferramenta versus os que não utilizaram, objetivando aferir as vantagens ou desvantagens da ferramenta. Os resultados demonstraram que (1) ao contrário do que a literatura prega, VCS centralizados tendem produzir um código fonte mais próximo do desejado e (2) a abordagem colaborativa pode ser mais eficiente e necessitar de menos esforço na resolução de conflitos. In collaborative software development, developers share source code and modify parts of code in parallel, to increase productivity. For this, development teams typically distributed globally, make use of version control systems (VCS), which are responsible for versioning the source code and reconcile conflicting changes made by developers in parallel. Generally, each developer has a local copy of the source code files from the repository, and can perform any modification and having to later join their local version of the source code with the changed by the other members of the development team. The problem is that usually the version control systems (eg, GIT and SVN) do not support early detection of conflicts, or assist developers in solving them. In practice, a conflict it is divergent changes made in one piece of code in parallel by different developers. Consequently, detect and resolve conflicts become two highly prone to errors and activities that require a lot of effort from the developer. To explore this issue, this paper proposes the PACCS, a tool capable of: (1) detect proactively conflicts; (2) to analyze the spread of conflicts; (3) identify syntactic and semantic conflicts; (4) detected automatically resolve conflicts; (5) support developers in collaborative conflict resolution; and (6) check the integrations carried out and submitted to the agreement of a set of rules repository. The developed tool will address the above requirements and has two parts: the client side (plugin for Eclipse) and the server side (change manager between Workspaces). After the construction of the tool will be made a comparison between developers using the tool versus those who did not use, in order to assess the advantages or disadvantages of the tool. The results showed that (1) contrary to the literature preaches, centralized VCS tend to produce a code nearest source of the desired and (2) a collaborative approach can be more efficient and require less effort in resolving conflicts. 2016-06-13T17:33:37Z 2016-06-13T17:33:37Z 2016-03-23 info:eu-repo/semantics/publishedVersion info:eu-repo/semantics/masterThesis http://www.repositorio.jesuita.org.br/handle/UNISINOS/5365 por info:eu-repo/semantics/openAccess Universidade do Vale do Rio dos Sinos Programa de Pós-Graduação em Computação Aplicada Unisinos Brasil Escola Politécnica reponame:Repositório Institucional da UNISINOS instname:Universidade do Vale do Rio dos Sinos instacron:UNISINOS