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

Orientador(a) (dc.contributor.advisor)Oliveira, Kleinner Silva Farias de
Coorientador(a) (dc.contributor.advisor-co1)Gluz, João Carlos
Lattes Coorientador(a) (dc.contributor.advisor-co1Lattes)http://lattes.cnpq.br/5782887287137603pt_BR
Lattes Orientador(a) (dc.contributor.advisorLattes)http://lattes.cnpq.br/2582456631204400pt_BR
Autor(a) (dc.contributor.author)Armino, Daniel Bruno
Autor(a) Lattes (dc.contributor.authorLattes)http://lattes.cnpq.br/9996795832425787pt_BR
Data de Disponibilização (dc.date.accessioned)2016-06-13T17:33:37Z
dc.date.available (dc.date.available)2016-06-13T17:33:37Z
Data da defesa / Data do evento (dc.date.issued)2016-03-23
Abstract (dc.description.abstract)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.en
Resumo (dc.description.resumo)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.pt_BR
Agência de fomento (dc.description.sponsorship)CAPES - Coordenação de Aperfeiçoamento de Pessoal de Nível Superiorpt_BR
URI (dc.identifier.uri)http://www.repositorio.jesuita.org.br/handle/UNISINOS/5365
Idioma (dc.language)pt_BRpt_BR
Nome da instituição (dc.publisher)Universidade do Vale do Rio dos Sinospt_BR
País da Instituição (dc.publisher.country)Brasilpt_BR
Departamento (dc.publisher.department)Escola Politécnicapt_BR
Sigla da Instituição (dc.publisher.initials)Unisinospt_BR
Programa (dc.publisher.program)Programa de Pós-Graduação em Computação Aplicadapt_BR
Direitos de acesso ao documento (dc.rights)openAccesspt_BR
Assunto (dc.subject)Controlador de versãopt_BR
Assunto (dc.subject)Conflitospt_BR
Assunto (dc.subject)Repositóriopt_BR
Assunto (dc.subject)Pró-ativopt_BR
Assunto (dc.subject)Colaboraçãopt_BR
Assunto (dc.subject)Ferramentapt_BR
Assunto (dc.subject)Version controlen
Assunto (dc.subject)Conflictsen
Assunto (dc.subject)Repositoryen
Assunto (dc.subject)Proactiveen
Assunto (dc.subject)Colaborationen
Assunto (dc.subject)Toolen
Tema (CNPq) (dc.subject.cnpq)ACCNPQ::Ciências Exatas e da Terra::Ciência da Computaçãopt_BR
Título (dc.title)PACCS uma ferramenta para detecção proativa e resolução colaborativa de conflitos de código fontept_BR
Tipo de arquivo (dc.type)Dissertaçãopt_BR

Arquivos

Pacote original

Agora exibindo 1 - 1 de 1
Carregando...
Imagem de Miniatura
Nome:
Daniel Bruno Armino_.pdf
Tamanho:
1.6 MB
Formato:
Adobe Portable Document Format
Descrição:
ferramenta_deteccao

Licença do pacote

Agora exibindo 1 - 1 de 1
Carregando...
Imagem de Miniatura
Nome:
license.txt
Tamanho:
2.12 KB
Formato:
Item-specific license agreed upon to submission
Descrição: