A doctor could not give a confident diagnosis of a complicated health problem without an X-ray, CT scan or MRI. These tools give the doctor the means to literally 'see' the problem.
Today's legacy applications are often unhealthy and in need of help, as they no longer meet business needs. Most legacy applications contain a dizzying amount of code that has been reused and rewritten time and time again. This duplication makes it difficult for technology executives to understand exactly what their footprint encompasses. Part of the problem lies in COBOL code. COBOL recently celebrated its 50th year and there are still billions of lines of it in active applications, but the applications' original developers are often no longer available to provide insight or guidance.
With the proper tools to understand the seemingly inscrutable code, senior IT executives can identify areas where they can modernize to unleash benefits such as increased operational efficiency and reduced cost.
To help illustrate this complex concept, I leveraged my experience as a cryptologist in the U.S. Navy and in systems architecture to invent tools that provide a clear visual assessment of legacy code. I also used a science known as Social Network Analysis, which leverages the human mind's ability to recognize patterns and colors.
With the HP Visual Intelligence Tools, we can analyze millions of lines of code within minutes and model data that is then rendered in graphical tools such as Miner3D and GUESS, a graph exploration tool originally created by HP Labs. The result is an informative visualization of legacy source codes that reveals patterns of similarity and uncovers the unintended designs of more than 30 years of copy-and-paste reuse.
These graphic representations are like an X-ray for legacy applications. They give the 'doctor' a vision of otherwise hidden patterns. In the case of monolithic legacy applications, these patterns provide a way to develop transformation approaches that take advantage of the similarity, avoid duplication of efforts, and attain economies of scale and scope. The patterns also identify cross-cutting code (security, logging, monitoring) that might not be relevant when reengineered to frameworks that readily provide such functionality without using hand-written code.
At first glance, little is revealed from the image below.
This randomly arranged graph of nodes represents 10 million lines of code comprised of 7,500 legacy COBOL modules. Each dot is a node and the lines between them represent the amount of cloned code shared between the modules.
However, Social Network Analysis, with its many layout algorithms, allows hidden patterns to be exposed, as you can see in the image below.
Using a layout pattern called GEM (Generalized Expectation-Maximization) a portion of our first image reveals definitive patterns, exposing hundreds of clusters ranging in size from two to 30 or more.
After revealing the patterns to legacy subject-matter experts, they can examine what the clusters of similarity indicate, whether there is an opportunity to view these clusters' constituent tasks, and whether these tasks form the basis of a transformation strategy. These tools separate code that supports critical business functions while identifying code that might be replaced by modern frameworks and tools. Seemingly insurmountable transformation tasks come more clearly into view.
The colors and patterns of the GEM layouts depicted here provide enormous insight into complex relationships between legacy code. Circles represent code modules and lines represent cloned code shared between the modules. Each color indicates the degree of duplication; blue being the least amount of clones shared and purple being the most.
Organizations must be aware of the cloned code that exists throughout their environments to contain costs and more effectively modernize applications. The HP Clone Set Visualization provides another way to gain insight into both reuse-driven and cross-cutting code. This visualization identifies duplicate code and arranges it by frequency of occurrence and total size of each cloned code set to avoid repetition of modernization efforts.
Just as the previous views revealed clusters of similarity, this view depicts the two major types of cut-and-paste clones: reuse-driven and cross-cutting code.
But an X-ray alone only describes the problem-not the solution. With further assessment, the doctor can develop an individualized long-term health plan to solve the problem.
In the case of legacy applications, the health plan is a modernization roadmap, which requires a thorough assessment to select the right strategies. In many cases, clients require multiple modernization strategies to address risk levels, potential benefits and each application's business priorities. The HP Visual Intelligence Tools are an important part of this assessment because one size does not fit all.
When modernizing, it's important to understand cloned code, its magnitude, its patterns, its similarities and its unintended design. There is no need to convert code in its entirety to more hand-written or machine-translated code when it can be more effectively implemented on more appropriate frameworks and tools.
In the current economic environment, executive focus has turned to increasing the longevity, resiliency and adaptability of a company's existing systems. Tools like HP's Clone Set Visualization make that possible by mitigating risks and uncertainties involved with transformation projects and by providing insight needed to create a forward-thinking plan. Just like a doctor, an applications expert must be able to peer beneath the surface before acting. HP's Visual Intelligence Tools penetrate dense code and create the vision of a more efficient, flexible and innovative enterprise.
For a demonstration of this and other approaches to managing the data center more effectively, click here.