PACCS uma ferramenta para detecção proativa e resolução colaborativa de conflitos de código fonte - Armino, Daniel Bruno (Universidade do Vale do Rio dos Sinos, 2016)
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.
Keywords: Controlador de versão; Conflitos; Repositório; Pró-ativo; Colaboração; Ferramenta; Version control; Conflicts; Repository; Proactive; Colaboration; Tool; ACCNPQ::Ciências Exatas e da Terra::Ciência da Computação