Trim My View: An LLM-Based Code Query System for Module Retrieval in Robotic Firmware
By: Sima Arasteh , Pegah Jandaghi , Nicolaas Weideman and more
Potential Business Impact:
Lets computers understand old computer code's purpose.
The software compilation process has a tendency to obscure the original design of the system and makes it difficult both to identify individual components and discern their purpose simply by examining the resulting binary code. Although decompilation techniques attempt to recover higher-level source code from the machine code in question, they are not fully able to restore the semantics of the original functions. Furthermore, binaries are often stripped of metadata, and this makes it challenging to reverse engineer complex binary software. In this paper we show how a combination of binary decomposition techniques, decompilation passes, and LLM-powered function summarization can be used to build an economical engine to identify modules in stripped binaries and associate them with high-level natural language descriptions. We instantiated this technique with three underlying open-source LLMs -- CodeQwen, DeepSeek-Coder and CodeStral -- and measured its effectiveness in identifying modules in robotics firmware. This experimental evaluation involved 467 modules from four devices from the ArduPilot software suite, and showed that CodeStral, the best-performing backend LLM, achieves an average F1-score of 0.68 with an online running time of just a handful of seconds.
Similar Papers
Cross-modal Retrieval Models for Stripped Binary Analysis
Software Engineering
Finds hidden computer code problems faster.
Context-Guided Decompilation: A Step Towards Re-executability
Software Engineering
Makes broken computer code work again.
An Empirical Study on the Effectiveness of Large Language Models for Binary Code Understanding
Software Engineering
Helps computers understand secret computer code better.