CodeWalker™ enables solutions to common problems encountered by developers by letting you view source code in any language on any platform as graphical trees in a color-coded hierarchy. These visual interpretations allow a user to immediately see how the software is designed and how it will use the source code. CodeWalker™ not only maps and displays the source code, but it also suggests improvements to the software. Specific use-case solutions are detailed below
Over time, development teams may leave a company. For instance, such departures often happen immediately during a merger. This leaves the newly unified company with thousands of hours of time invested in the written code, which is now in an undecipherable mess. CodeWalker™ allows developers to immediately understand how a product works as well as how it interacts with other software. This incredible benefit provided by CodeWalker™ greatly reduces the time necessary to merge one company’s products with the products of another company.
This is the software code made outside of the company which is not authorized by development management. It is estimated that up to 96% of proprietary code includes open source components, and about 60% includes open source security vulnerabilities. Such issues often stem from code checked in from open source projects and other online sources. In many cases, to hide the fact that they are using another programmer’s code, the explanatory comments and developer notes have been removed. This lack of documentation creates unnecessary tasks for new developers whose main efforts should be directed to supporting and expanding existing code. One of CodeWalker™’s many benefits is that CodeWalker™ allows developers to see how a product works even before the developer looks at the code in a code editor. Such a valuable benefit provides developers who are new to a code base a considerable advantage on understanding how a product works.
CODE DEPRECATION AND CODE ROT
One key component to a successful software level merger is running everything on updated, modern architecture. For support, languages and development environments are in a constant state of change. Old concepts and code are retired regularly. This is referred to as deprecation, where an older product may no longer work on modern hardware or in the current version of a language without updates to the product’s source code. Even if the original developers of such older product are still available to the company, the source code is typically not maintained and updated on a very regular basis. Consequently, the source code is deprecated and very difficult to merge. In some instances, modern integrated development environments may be able to provide a developer with a list of deprecated code; however, only CodeWalker™ has the unique ability to provide a visual deprecation filter that visibly shows a developer in a very useable and understandable format how deprecated code actually affects the product. This unique and valuable feature allows developers to make easier and faster decisions on the subject of keeping, merging, or rewriting parts of the product.
ON-BOARDING NEW DEVELOPERS
When new developers are introduced to a company’s source code, there is a transitionary period that can last weeks or even months, during which the new developers are working to understand how existing source code of the company works. Such lag time is very expensive and unproductive and often can even the rollout of new products by months or even longer. CodeWalker™’s unique abilities provides the new developers a tool to instantly learn how the existing source code works, immediately identify potential problem areas in the source code, and, among many other benefits, learn how a given change to the source code may affect the product. Such unique abilities of CodeWalker™ dramatically cut on-boarding time as CodeWalker™ removes the need for a developer to create their own visual notes while reading the hundreds or thousands of pages of such source code.
Mergers often result in mutually beneficial software combinations. However, such combinations are typically the result of months or years of exploration, with developers expending countless hours attempting to understand how two codebases could be combined in an efficient and workable manner. With CodeWalker™, a developer is provided a thorough understanding of what the existing product does as well as how the product accomplishes the desired result. Such a thorough understanding provided by CodeWalker™ in turn allows the developer to easily create a high-level roadmap for integration and assimilation, which saves countless hours of time and expense.
VERIFYING REWRITTEN OR PORTED CODE
When code is rewritten from one language to another, from one architecture to another, or even from one file format to another, an important question is, “Are the results identical?”CodeWalker™’s Retrace™ feature allows the execution of a product on different codebases to be logged back and re-played. The result of the Retrace™ feature visibly shows how the two products are performing in an easily understandable format and if they are performing on a similar or identical way, even as they are running on different hardware architectures in different languages.
An important step in any successful merger is the ability to audit code and identify any reusable concepts. Therefore, a valuable aspect of such an audit is to be able to understand how a product works sufficiently well to know if at least a portion of the product may have value outside of the original intent of such portion. For example, an advanced and highly efficient search algorithm may be useful to both customer lookup and custom data format parsing, however such results may not be clear to a developer reading the code. CodeWalker™’s highly innovative charts allow a developer to instantly recognize similar concepts in disparate code, which allows the acquisition of a software product much more valuable than initially expected.
A variety of existing tools allow developers to reverse engineer software and also misappropriate trade secret protected source code, which in turn allows such developers a huge commercial advantage by using the information gleaned in such manners in their own products. To cover their tracks for the misappropriated source code, such misappropriators often rename many of the variables and function names and then reorganize a file so that it no longer resembles in appearance the misappropriated trade secret protected code. Currently, there is no easy way for an investigation into such action to determine whether a product’s source code in fact was misappropriated. However, another innovative and unique feature of CodeWalker™ solves this very complex and common serious problem. To easily solve this problem, CodeWalker™ generates easy to understand visualizations in a graph format based on the logic of a program . . . not using the conventional expensive and time-consuming methods of reviewing locational order and naming conventions. Therefore, CodeWalker™ has made it trivial to compare the source code of two products to determine if they are duplicates. Consequently, CodeWalker™’s revolutionary abilities will immediately identify the misappropriation and other similarities even if the same algorithms are used in the two products and regardless of how much of a code base’s appearance was changed.
LITIGATION & COMPLIANCE
Legal dispute about software ownership
Visually compare source code of one system against another system
Identify potentially infringing code
Visually compare code bases for SEC, SOX, or any other regulatory acts
Ability to visually recreate the production code base for the compliance period
Can provide visual insights into obfuscated code