Codice Software, creators of the enterprise oriented Distributed Version Control System (DVCS) called Plastic SCM, today launched Semantic Merge, the world's first language-aware source code merge tool. Using advanced merge technology built into Codice Software's signature product, Plastic SCM, Semantic Merge lets software developers easily consolidate files that are heavily refactored in parallel by different developers, regardless of the code programming language.
It will be first available for developers using C# and Visual Basic .NET as part of the tool's beta launch release today, with plans to extend use of the tool for developers using Java and C++ during the summer. Semantic Merge is available for developers using Plastic SCM and can also be configured to be used with other SCM solutions including Git, Subversion, Perforce, ClearCase, Team Foundation Server, Mercurial and many others.
Modern agile software development is based on a shared, modify, merge working pattern. Coders work in parallel on the same codebase performing concurrent changes, potentially inside the same files that need to be reconciled back together (merged in version control terms). In order to perform the code merges developers rely on merge tools. All merge systems today use text-based algorithms. The tools won't actually consider the programming language the code is written in but just the modifications on the text, so existing merge tools are language agnostic and have a wide operation range. However, not being able to act based on the specific programming language structures means the merge tools are heavily dependent on the position of the texts being modified, which strongly restricts developers' ability to perform changes concurrently and improve code quality and readability by refactoring.
Now with the introduction of Semantic Merge, software coders can reach new levels of productivity by easily tracking and preserving all changes performed concurrently, and making sure that all code is assembled back together precisely. The new three-way merge tool understands code structure. It doesn't use a textual comparison method to compare its three contributors. Instead, it uses a new approach to merge, which stems from the work Codice Software performed to develop the Plastic SCM merge system and Xmerge technology, and adds language-dependent parsing to create a source code-merging machine. Using this language-aware source code tool, software developers can restructure existing bodies of code much more quickly and improve overall code quality and reliability.
Every day, millions of lines of code are written, modified, moved and reorganized as developers update and create new features in games, devices and applications. In order to improve code quality and readability throughout the software lifecycle, developers engage in refactoring, a software practice that requires frequent structure changes. Software developers often work on the same code base performing concurrent changes, potentially inside the same files, that eventually need to be merged in version control terms. However, merging code becomes a difficult process because existing tools use text-based algorithms, which are heavily dependent on the position of the texts being modified and don't consider the programming language the code is written on.
"We noticed that there were a large number of merge scenarios that could not be managed by current text-based, language agnostic merge tools," said Francisco Monteverde, CEO of Codice Software. "We set out to create an innately smart, language-aware tool. Our Semantic Merge tool is able to combine files that are heavily refactored in parallel by different developers and rapidly incorporate changes that no other merge tool on the market can achieve based on text-comparison algorithms alone. We are committed to offering superior technology in the distributed versioning control system, and now with the release of Semantic Merge, our merging technology is second to none in the industry."
Semantic Merge is available immediately for developers using C#, and it will be available for other popular programming languages later this summer.
About Codice Software
Codice Software is a privately held software development company that provides the freedom, flexibility and security for distributed teams to enable agile development in parallel. Its enterprise-class Plastic SCM platform increases collaboration between developers and boosts productivity, time to market and quality of code by reducing broken builds and making it easy to cross compare what was done by different coders and quickly fix any issues.