In some fields, software bugs are more than the proverbial pain in the neck. When software has to ensure that an airplane lands safely, or that a pacemaker keeps operating, there’s no room for error.
The idea that mathematical proofs could be used to prove that software is error-free has been around since the 1970s, and is known as “formal verification.” But like a lot of technologies that some visionaries saw coming, it took time to develop. In recent years, computing power has become cheap enough for formal verification to become practical for more software applications.
Unfortunately, last month, the field had a monkey wrench thrown into it, in the form of U.S. Patent No. 10,109,010, which the patent office awarded to a U.K.-based company called Aesthetic Integration Ltd.
Claim 1 of the patent describes creating mathematical “axioms”—formal mathematical statements—that describe a computerized trading forum. The patented method then describes analyzing, with a “computer assessment system … the mathematical axioms that describe the operation of the trading forum.” In other words, the patent describes using formal proofs to check for bugs in a “computerized trading forum.” It’s formal verification—just applied to the financial services industry.
Of course, Aesthetic Integration didn’t invent formal verification, nor did the company invent the idea of software powering a “trading forum.” The company has apparently created software that utilizes formal verification in the financial services space, and that software might be perfectly good. But the Patent Office has effectively allowed the company to patent a whole sector of formal verification.
To be fair, the ’010 patent appears to reflect some advanced and difficult programming by Aesthetic Integration. But that does not mean it should be patentable. Consider the following analogy: there are no 50 story buildings in Cincinnati. Building a 50 story building in Cincinnati, and making it compliant with seismic safety standards, would be hard work. It would take many engineers a great deal of effort to apply existing techniques to complete the project. You could write a lengthy paper describing that process, which might include lots of complex charts and diagrams. Still, that does not mean a company that completes such a project should then get a monopoly on tall buildings in Cincinnati.
Aesthetic Integration claims to be the first to apply formal verification to trading software. If that’s true, the company may get a well-earned competitive advantage by being the first to this market. But it should not get a 20 year monopoly simply for applying programming techniques that the company itself has described as part of a “mature and effective field of science.”
Ultimately, the ’010 patent reflects a broader problem with Patent Office’s failure to apply a meaningful obviousness standard to software patent applications. We have explained before that the Patent Office is all too willing to hand out patents for using known techniques in a particular field. Flow charts and whirligigs can make a concept look new when it isn’t—especially when a patent owner fills its application with obscure language and “patentese.” The Federal Circuit has also encouraged this through its hyper-formalistic approach to obviousness. The end result is an arms race where people rush to patent routine software development.
As we’ve said before, patents are simply a bad fit for software. The Patent Office should stop giving out patents on formal verification, or other well-known software processes.