DARPA Enlists GrammaTech to Apply AI to Reverse Engineer Code

Content By Devops .com

The Defense Advanced Research Projects Agency (DARPA) has awarded a research contract to GrammaTech for low code technology that will make it possible for end users to leverage artificial intelligence (AI) without requiring intervention from the original software developer.

GrammaTech’s AI tool, dubbed ReMath, aims to ease application updates by automatically inferring high-level mathematical representations from existing binaries in systems and embedded software. The tool is currently in development.

Dr. Alexey Loginov, vice president of research for GrammaTech, said development teams spend a lot of time using low-level tools such as disassemblers, debuggers and decompilers to manually analyze binaries. ReMath will accelerate that reverse engineering process by recovering and converting machine language into representations that end users can directly manipulate, said Loginov.

The goal is to free developers up to build new software, rather than continuously updating software that has already been deployed, noted Loginov. This approach should ultimately reduce the backlog of application and software development projects organizations have, added Loginov.

The ReMath project is the latest in a series of DARPA contracts awarded to GrammaTech. In general, the company is working towards applying AI to advance DecSecOps via a static application security testing (SAST) tool that identifies vulnerabilities in code. The ReMath project focuses on applying AI to use cases involving, for example, industrial control systems. These systems could benefit from allowing domain experts, with no coding expertise, to maintain and update them on their own, said Loginov.

Other DARPA projects GrammaTech is actively researching include a type-ahead capability that automatically recognizes existing artifacts in a software repository, said Loginov. This capability will make it simpler for developers to reuse code within the context of a GitOps process without inadvertently introducing additional errors, Loginov said.

In the future, the potential impact of AI on software development could be profound, as more reliable code moves into production environments. The percentage of code graduating into those environments on the first attempt should increase considerably in the years ahead. That should enable more reliable delivery of application code via continuous integration/continuous delivery (CI/CD) platforms.

As software development becomes more efficient, the current developer shortage should also ease, and open up resources to launch a greater number of application development projects. Rather than spending time on manual tasks that provide no differentiated value, Loginov said software engineers will be able focus more of their time and energy on process innovation.

In the meantime, developers should expect to see a rash of development tools with AI capabilities in the months ahead. None of those tools are likely to eliminate the need for developers any time soon; however, much of the drudgery involved in writing code today is likely to be sharply reduced as machine learning algorithms and other forms of AI are applied to software development.

Leave a Reply

Your email address will not be published. Required fields are marked *