Phase Change was recently issued the fourth patent by the U.S. Patent and Trademark Office (USPTO) related to its ground-breaking software-development technology. The company's first patent was granted in May 2019, and subsequent patents were issued in October and December of the same year. This fourth patent is scheduled to be issued on December 29, 2020.
The first patent is based on the consideration that one function or specification can be implemented in many different ways. This patent provides a method to automatically replace a snippet of code with another snippet of code if these are determined to be strictly equivalent. Using a logical analysis of the two functions, our tool can determine if they are equivalent or not. If they are equivalent, the snippet of code is automatically replaced by the new one, provided that it improves the overall program in some way.
Phase Change's second patent is built upon the first and focuses on improving readability and maintainability. This patent is based on the consideration that the source code of many programs today suffer from a lack of readability (e.g. spaghetti code including “GO TO” statements) and/or maintainability (e.g. legacy code). Using the same logical mechanism as the first patent, this invention will replace a snippet of code with another equivalent snippet of code that has been previously identified as better with respect to readability and/or maintainability.
The recent patent is also built upon the first patent and focuses on security considerations. It is based on the consideration that the source code of many programs today may not have sufficient security components to protect the applications from wrongful and intrusive attempts, such as hacking and piracy efforts. Using the same logical mechanism as the first patent, this invention will replace a snippet of code with another equivalent snippet of code that has been previously identified as better with respect to security.
Phase change was granted another foundational patent in December 2019. This invention normalizes the source code into a language-agnostic representation called Dependency-Ordered Behavior (DOB), a representation that doesn’t depend on the specificity of the programing language (e.g. Java, C, or COBOL), but solely on the behavior of the application. Once the source code is normalized, this tool can easily extract paths within the application and associate these paths with semantic names. Combinations of paths can also automatically create combinations of semantic names.
Phase Change currently has 13 active patent applications in four countries. For more information on Phase Change’s patent portfolio, email [email protected].
Todd Erickson is a Technology Writer with Phase Change. You can reach him at [email protected].