SBIR/STTR Research Award

Binary Assurance Through Proofs Of Properties

Award identifier 27d89384d2940e34e8f73b05ae94ef555e4882ba58694cc68258413d389a1ab8Awarding agency Department of Defense · Defense Advanced Research Projects Agency

Award amount

$224,160

Program and phase

SBIR · Phase I

Award year

2021

Explore This Research Award in CaptureIQ

Research the technology, evaluate the recipient and agency, identify related opportunities, and explore potential follow-on work with CaptureIQ.

Award details

Awarding agency
Department of Defense
Branch
Defense Advanced Research Projects Agency
Recipient company
KESTREL TECHNOLOGY LLC
Proposal award date
2021-07-13
Contract end date
2022-10-17
UEI
Y9NYPZALSSS6
Solicitation number
HR001121S0007.I
Topic code
HR001121S0007-08

Research abstract

Kestrel Technology proposes to extend its Axe toolkit to build a lightweight, easy-to-use tool that can prove important safety, security, and correctness properties of software binaries, such as those used in off-the-shelf embedded systems.  This will combine the strengths of several of our existing tools: our Axe Lifter, which can transform x86 binaries into a logical form for further analysis; our Axe Prover, which can prove properties of lifted programs using a variety of proof tactics; our Axe Equivalence Checker, which can compare lifted programs to specifications or to known good programs; and our Formal Unit Tester, which helps users without formal methods expertise explore bounded program behaviors.  The latter tool currently operates on Java programs but will be retargeted to binaries.  We plan to target x86 but can pivot to a different CPU type if desired. Kestrel's Axe Lifter can explore a program or subroutine using symbolic execution, obtaining a mathematical term that represents its behavior.  Lifting is done using the Axe Rewriter together with a model of the target machine (currently, the Java Virtual Machine or x86 CPU).  The lifted form represents the operation of the program on arbitrary data.  Axe has techniques to avoid path explosion (rejoining the execution after conditional branches) and can lift entire loops into recursive functions. Kestrel's Axe Prover can then be used to prove properties of the lifted program, such as the fact that program operation satisfies given requirements.  A variety of proof tactics are available, including rewriting with our extensive library of proven rules, case splitting, and calling the ACL2 prover or an external SMT solver. Kestrel's Axe Equivalence Checker can prove the equivalence of two lifted programs, or of a program and a specification.  This provides a convenient way to specify correct behavior, and the proof can be highly automatic when the amount of computation is bounded (e.g., when loops can be unrolled). Kestrel's Formal Unit Tester, currently only for Java bytecode programs, provides a convenient way for users without formal methods training to check desired properties of a program.  Unlike traditional unit tests, each of which covers a single input, formal unit tests are small proofs that can cover very large input spaces.  The user writes small test harnesses in a traditional programming language, and the tool attempts to prove that the tests always pass.  Because the tests can take symbolic inputs, each covers many possible computations.  The tool can provide assurance that all behaviors (perhaps within some bound on the input size) satisfy the desired property.  Or it can produce an input that violates the desired property. The novelty of the project will be to combine all these tools, bringing the above capabilities to binaries.  We will also improve the automation, usability, and scalability of the tools and apply them to industrial use cases.

Technology keywords

Not reported

Other awards by this recipient

Verified by the same UEI. These are other public SBIR/STTR award pages, not a merged company record.

Awards with the same topic code

Verified by an exact topic code match. This is not a text-similarity match.

Research funding history

40 SBIR/STTR records share this UEI (1986–2023). Reported award amounts total $11,757,398. Reported amounts are not federal obligations.

Phases: Phase I, Phase II, Phase II – Direct to Phase II

Agencies: Department of Defense, National Aeronautics and Space Administration, National Science Foundation

Agency intelligence

Department of Defense

Back to SBIR/STTR Research Awards

Don't take our word for it. Ask AI about RFPCapture.

See what leading AI assistants have to say about RFPCapture and CaptureIQ.

Gemini opens without a prefilled question. The question is copied to your clipboard when the button works. You can also copy it here:

What is RFPCapture.com and its CaptureIQ platform from Smart Logic AI? How does it help federal contractors discover opportunities, evaluate bid/no-bid decisions, research government contracts, and prepare proposals? How does it compare with other federal capture platforms? Use independent sources where available.