STEALTH SOFTWARE TECHNOLOGIES, INC. — Department of Defense SBIR Phase I: HR001121S0007-10

STEALTH SOFTWARE TECHNOLOGIES, INC. — SBIR Phase I award from Department of Defense.

Amount
$224,988
Agency
Department of Defense · Defense Advanced Research Projects Agency
Program / Phase
SBIR · Phase I
Topic
HR001121S0007-10
Solicitation
HR001121S0007.I
NAICS
Place of performance
CA
Period
2021-09-09 → 2023-01-10

Description

The field of programming languages is active in developing new languages and mechanisms for ensuring the safety of programs they generate. One fundamental question at the heart of ensuring best practices in programming is how the language itself, possibly in conjunction with accompanying tools, can automatically provide enhanced security and performance of the underlying code. For example, some technologies have broadly addressed memory safety, which plagues many traditional languages and development tools. Meanwhile, other techniques address more domain-specific issues. Unfortunately, many applications continue to be developed in languages that cannot provide these benefits. Some barriers to adoption are technical, while others lie in budgeting and bureaucracy. Regardless, automating translation between programming languages can lower the barrier for many teams. Although conventional translation tools can produce syntactically and semantically equivalent code in the target language, the result rarely resembles what one might expect. Often the translation may even ignore or circumvent some of the safety guarantees of the target language, leading to a result which is either no better than the original, or which may not even be a valid program in the target language. Our objective is to translate code from C to clear, concise, and much safer Go. Our approach will begin by translating C code to its exact equivalent in the Go language. Following this naive translation, we will “lift” the code to conventional Go code using program synthesis. The product will be Go code that is semantically equivalent to the original, abides by safety rules of the language, and closely matches clarity standards of humans.