We are excited to bring Transform 2022 back in-person July 19 and virtually July 20 - 28. Join AI and data leaders for insightful talks and exciting networking opportunities. Register today!
Can technology fix technical debt? That is, can more code identify the problems within the code base? VFunction has a plan to do just that. Today, they’re announcing the VFunction Assessment Hub, a product that uses artificial intelligence (AI) and graph algorithms to measure the quality of code and guides developers on how to improve it.
The new product joins the VFunction Application Platform, a tool for rewriting the code of an application to bring it up to more modern standards. Companies with older legacy code may use the tool to slowly evolve the software through redesign and refactoring.
“What we found out is that many times organizations don’t really know how to prioritize the applications that they want to modernize or how to quantify the technical debt or even to decide which application that would get the most bang for the buck by fixing.” said Moti Rafalin, the CEO and a cofounder of the company.
The VFunction Assessment Hub evaluates a Java code base and generates numerical measures of the code complexity and interdependence and then converts it into a number that captures the amount of “technical debt”.
Developers often use the phrase to describe improvements or fixes that they need to make to a largely functioning piece of software. Sometimes it accrues because developers haven’t added new features and other times it appears because new standards and protocols evolve and the code base hasn’t been modernized. It is, essentially, a to-do list of attention that must be paid to improving the software.
Microservice model for analyzing software packages
A number of tools for analyzing software exist and they use several different criteria for evaluating a software package. TeamCity from JetBrains, SonarCloud, SonarQube and Synopsys are just a few of the options. All apply a set of rules of poor design patterns to be avoided and flag sections that match it.
Another set of tools offer dynamic code analysis by tracking behavior as the software is running. Tools like OverOps, Inviciti and Acunetix watch software for bugs or security flaws that become apparent during execution.
The report generated by VFunction analyzes the software package with a mixture of graph algorithms that model the interconnections between software classes. It then converts this into a score that approximates the technical debt. The report will also identify the individual Java classes that may contribute the most to this score, so developers can focus first upon improving them.
The company’s philosophy is heavily focused on a microservice model, a modern approach that splits the code into a number of smaller, more independent modules that can be changed or recoded on their own. This model can help development teams work separately on each module without spending as much time coordinating their efforts.
“If you have a monolithic application, it simply doesn’t scale or it’s very costly to scale it.” explained Rafalin. “So you want to modernize it and break it into those microservices in order to benefit from what the cloud has to offer from elasticity, cost savings and so forth.”
The Assessment Hub metric evaluates the depth and interconnections between the dependency chains linking together the different modules. It also examines the libraries used by the project, their history and their potential impact on code quality and security.
VFunction created the Assessment Hub after developing their Platform for modernization.
“You might think of it as upside down, but there’s actually logic here,” explained Rafalin. “We were able to do it only now because we had to have the experience of modernizing millions, maybe tens of millions of lines of code already with different applications with different customers.”
Their platform can automate many of the chores for refactoring Java code by detangling the dependencies and cleaning up the interconnections. The process, though, requires guidance from the developer to ensure that it’s making decisions in line with the architect’s strategy.
Transforming technical debt into quality code
Rafalin imagines that the tool will find usage in the management suite, where CIOs may need to look for a dispassionate assessment of the codebase so they can decide where to focus development teams. The metric may be an imperfect measure of code quality, but it is relatively independent.
“Given the complexity and interdependence of today’s multi-layered application estates, CIOs and technology leaders need to prioritize their modernization efforts before they start pulling on threads that can unravel further complexity,” explained Jason English, principal analyst, Intellyx, which honored VFunction in 2021 with its inaugural Digital Innovator Award. “The VFunction Assessment Hub provides an entry point for evaluating the ROI of breaking down legacy monoliths and decoupling dependencies, so refactoring efforts can be better aligned with business goals.”
The current tool works with Java code, but VFunction promises that support for .Net code bases will be following soon. They anticipate that this will target the two biggest collections of legacy code that make up many enterprise stacks. The company is also rolling out partnerships with Microsoft and Amazon to offer support for refactoring the code running in their clouds.
Pricing will begin with ten-application packs. Options will also include AWS Marketplace and partnerships with other integrators.
VentureBeat's mission is to be a digital town square for technical decision-makers to gain knowledge about transformative enterprise technology and transact. Learn more about membership.