Diffblue was founded in 2016 by a team of AI researchers at the University of Oxford. Founder Daniel Kroening is a Professor of Computer Science at the University of Oxford. The team has taken their AI skills and applied them to automatically create (and update) tests for Java applications.
Currently based in Oxford (UK), the team is led by Mathew Lodge (CEO), Kroening (Co-Founder & Chief Scientist), and Peter Schrammel (Co-Founder & CTO). Diffblue is backed by Oxford Sciences Innovation and Goldman Sachs.
Goldman Sachs is also an early customer – using Diffblue products as part of its application modernization program – creating unit test coverage across its legacy code bases.
The Diffblue elevator pitch (per Diffblue):
Diffblue is changing the way software is developed using Artificial Intelligence. Diffblue Cover, the company’s first product, automatically generates tests for Java code to enable development teams to deliver higher quality software, faster.
Diffblue uses mathematical reasoning to build a model of a code base, and then uses semantic analysis to generate queries and tests to understand the behaviour of the code, which is the basis of its approach. Using this engine to build unit test coverage for regression testing was an obvious place to start but the company has ambitions to go much further in AI and machine learning based tools to support software engineering – a new generation of computer aided software engineering (CASE) tools if you will.
The tech industry is currently looking anew at automated tooling to support engineering teams given skills shortages and the transition to modern software practices around continuous integration/continuous delivery (CI/CD) and Progressive Delivery. Enterprises literally can’t have developer velocity and software stability without solid test coverage: it is a core underpinning for CI/CD. For organisations that want to modernise software delivery practices across legacy code bases they’re going to need help generating tests. Historically the answer might have been outsourcing, but that’s hardly going to be an effective approach to adopting modern agile practices.
Werner Vogels, CTO of Amazon Web Services dedicated a substantial portion of his recent re:Invent 2020 keynote to the use of Automated Reasoning to improve its services. The likes of Apple, Netflix, and Google are all investing significantly in automated tooling to support engineering teams. Diffblue’s timing, then, is quite good.
You know that when the Wall Street Journal is carrying editorials by computer scientist professors – Software Ate The World and Soon Will Eat Itself – that businesses are becoming increasingly aware of the need for more automation and artificial intelligence in software engineering.
- 46 employees
- $22 million in funding from a [2017 Series A](https://techcrunch.com/2017/06/27/diffblue/)
Diffblue Cover analyzes Java code and automatically generates readable unit tests that reflect the current behavior of the code. When code’s behavior changes, Diffblue Cover’s tests alert the developer. Cover is available as both a CLI tool and as a plugin for IntelliJ IDEA.
A free Community Edition is available for use on open source projects. Working with open source is a big opportunity for Diffblue, if it can begin to get community engagement by helping popular open source projects to improve their test coverage.
Automated test generation has been a market for some time. AgitarOne for example is an earlier generation of rules-based technology for unit test generation. Various Eclipse plugins exist, such as CodePro Analytix, while a number of projects exist in the Junit ecosystem that generate some boilerplate test coverage.
DiffBlue Cover is extremely fast though, and generates clean readable code across significant legacy codebases. It also focuses on more modern Java tooling – Spring-based code, and the Jetbrains IDE. It is designed for refactoring entire codebases for teams modernising their working practices, moving to continuous integration and delivery (CI/CD).
DiffBlue Cover is designed for teams that are shifting testing left, so developers can identify errors earlier in the development lifecycle.
Go to Market
DiffBlue’s early customers are financial service and telco companies – large enterprises with substantial legacy code bases requiring modernisation, as part of digital transformation efforts. The engagement model so far has been refreshingly straightforward – enterprise sales to companies that need enterprise solutions.
Initially Diffblue Cover is for Java only; the company will need to expand the range of supported programming languages to become more broadly applicable.
Having argued above that automation is perhaps not immediately amenable to open source, it seems likely that systems integrators and outsourcing companies will see the value of improved test coverage in their work with clients, and could become a channel for the company. At the same time, enterprises that are working with third party companies and contractors could be more confident of delivered code if it fit the test suites they themselves have generated.
*Disclaimer: DiffBlue is a RedMonk client, but this research was not commissioned and all opinions were independently produced. AWS and Google Cloud are also RedMonk clients.