Aspect-oriented binary code instrumentation
Within the scope of a research & development project for Samsung program analysis group employees have developed an instrumentation tool for automatic Android/Tizen ARM executable and library modification. Target file modification is performed through processing and replacing direct binary code using an approach similar to aspect-oriented programming methods:
- Target executable or library functionality is extended through a static process;
- During this process user-specified points in the binary code are modified to include additional instructions implementing extra functionality.
Developed tool was primarily used for performance analysis, targeting Android and Tizen system executables and libraries designed for drawing GUI. Analysis results were used to identify performance drop points leading to GUI frame skipping.
Current work on the project focuses on the feasibility of using the developed tool to implement common dynamic analysis techniques (such as automatic defect detection).