We’re excited to bring back Transform 2022 in person on July 19 and virtually from July 20-28. Join leaders in AI and data for in-depth discussions and exciting networking opportunities. register today!
Can technology fix technical debt? That is, can more code identify problems in the codebase? VFunction has a plan to do just that. Today they are announcing the VFunction Assessment Hub, a product that uses artificial intelligence (AI) and graphical algorithms to measure code quality and guide developers on how to improve it.
The new product joins the VFunction Application Platform, a tool for rewriting an application’s code to bring it up to more modern standards. Companies with older legacy code can use the tool to slowly evolve the software through redesign and refactoring.
“What we found is that quite often organizations don’t really know how to prioritize which applications they want to modernize or how to quantify technical debt or even decide which application would be the most profitable to fix.” said Moti Rafalin, CEO and co-founder of the company.
The VFunction Assessment Hub assesses a Java code base and generates numerical measures of code complexity and interdependency, then converts them to a number that captures the amount of “technical debt”.
Developers often use the phrase to describe improvements or fixes they need to make to largely functional software. Sometimes this happens because developers haven’t added new features and other times it shows up because new standards and protocols are evolving and the codebase hasn’t been modernized. This is basically a to-do list that should be devoted to improving the software.
Microservice pattern for analyzing software packages
There are many software analysis tools that use several different criteria to evaluate a software package. TeamCity by JetBrains, SonarCloud, SonarQube and Synopsis are just a few of the options. All of them apply a set of rules of bad design patterns to avoid and flag the sections that match them.
Another set of tools offers dynamic code analysis by tracking behavior during software execution. tools like OverOps, Inviciti and Acunetix monitor software for bugs or security vulnerabilities that become apparent during execution.
The report generated by VFunction analyzes the software package with a mix of graph algorithms that model the interconnections between software classes. It then converts this into a score that approximates technical debt. The report will also identify the individual Java classes that can contribute the most to this score, so developers can focus on improving them first.
The company’s philosophy is heavily focused on a microservice model, a modern approach that splits code into a number of smaller, more independent modules that can be modified or recoded on their own. This template can help development teams work separately on each module without spending as much time coordinating their efforts.
“If you have a monolithic app, it just doesn’t scale or it’s very expensive to scale.” explained Rafalin. “So you want to modernize it and break it down into these microservices to take advantage of what the cloud has to offer in terms of elasticity, cost savings, etc.”
The Assessment Hub metric assesses the depth and interconnections between the dependency chains linking 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 evaluation hub after developing its modernization platform.
“You might think it’s backwards, but there’s actually a logic here,” Rafalin explained. “We were only able to do this now because we needed to have the experience of modernizing millions, if not tens of millions, of lines of code already with different applications with different customers.”
Their platform can automate many Java code refactoring tasks by unraveling dependencies and cleaning up interconnections. The process, however, requires guidance from the developer to ensure they are making decisions consistent with the architect’s strategy.
Turn technical debt into quality code
Rifalin imagines the tool will find use in the management suite, where CIOs may need to seek an unbiased 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-tiered application fleets, CIOs and technology leaders need to prioritize their modernization efforts before they start pulling at threads that can unravel more complexity” , explained Jason English, principal analyst, Intellyxwhich graced VFunction in 2021 with its premiere Digital Innovator Award. “The VFunction Evaluation Hub provides an entry point for evaluating the ROI of decomposing legacy monoliths and decoupling dependencies, so that refactoring efforts can be better aligned with business goals.”
The current tool works with Java code, but VFunction promises that support for .Net codebases will follow soon. They anticipate this will target the two largest 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 code running in their clouds.
Pricing will start with packs of ten apps. Options will also include AWS Marketplace and partnerships with other integrators.
VentureBeat’s mission is to be a digital public square for technical decision makers to learn about transformative enterprise technology and conduct transactions. Learn more about membership.