Channels ▼
RSS

Open Source

Heavy Refactoring In Parallel? No Problem


Codice Software has launched Semantic Merge for Java to follow up its developer tools for programmers using C# and Visual Basic .NET. Available to open source contributors and open project developers for free, Semantic Merge is a language-aware, three-way source code merging tool.

More Insights

White Papers

More >>

Reports

More >>

Webcasts

More >>

The firm is aiming to address the needs of developers engaging in refactoring as they work on millions of lines of code being written, modified, moved, and reorganized at any one time. This Distributed Version Control System (DVCS) serves modern Agile software development — as such, it is based on coders' abilities to work in parallel on the same codebase and perform concurrent changes, potentially inside the same files that need to be merged back together.

Heavy Refactoring in Parallel

Using merge technology built into Codice's own signature product, Plastic SCM, Semantic Merge works to consolidate files that are "heavily refactored in parallel" by different developers — and this is regardless of the code programming language.

NOTE: This merge tool can also be configured for use with Git, Subversion, Perforce, ClearCase, Team Foundation Server, Mercurial, and many others.

Codice's Francisco Monteverde explains that all other merge systems today use text-based algorithms that don't identify the programming language the code is written in but just the modifications to text. "The inability for merge tools to fully understand programming language structures means they are heavily dependent on the position of the texts being modified, which greatly restricts developers' abilities to perform concurrent changes and improve code quality and readability by refactoring," he said.


Related Reading






Currently we allow the following HTML tags in comments:

Single tags

These tags can be used alone and don't need an ending tag.

<br> Defines a single line break

<hr> Defines a horizontal line

Matching tags

These require an ending tag - e.g. <i>italic text</i>

<a> Defines an anchor

<b> Defines bold text

<big> Defines big text

<blockquote> Defines a long quotation

<caption> Defines a table caption

<cite> Defines a citation

<code> Defines computer code text

<em> Defines emphasized text

<fieldset> Defines a border around elements in a form

<h1> This is heading 1

<h2> This is heading 2

<h3> This is heading 3

<h4> This is heading 4

<h5> This is heading 5

<h6> This is heading 6

<i> Defines italic text

<p> Defines a paragraph

<pre> Defines preformatted text

<q> Defines a short quotation

<samp> Defines sample computer code text

<small> Defines small text

<span> Defines a section in a document

<s> Defines strikethrough text

<strike> Defines strikethrough text

<strong> Defines strong text

<sub> Defines subscripted text

<sup> Defines superscripted text

<u> Defines underlined text

Dr. Dobb's encourages readers to engage in spirited, healthy debate, including taking us to task. However, Dr. Dobb's moderates all comments posted to our site, and reserves the right to modify or remove any content that it determines to be derogatory, offensive, inflammatory, vulgar, irrelevant/off-topic, racist or obvious marketing or spam. Dr. Dobb's further reserves the right to disable the profile of any commenter participating in said activities.

 
Disqus Tips To upload an avatar photo, first complete your Disqus profile. | View the list of supported HTML tags you can use to style comments. | Please read our commenting policy.
 

Video