A New Approach to Embedded Software Optimization Based on Reverse Engineering

Nguyen Ngoc BINH  Pham Van HUONG  Bui Ngoc HAI  

IEICE TRANSACTIONS on Information and Systems   Vol.E98-D   No.6   pp.1166-1175
Publication Date: 2015/06/01
Online ISSN: 1745-1361
DOI: 10.1587/transinf.2014EDP7152
Type of Manuscript: PAPER
Category: Computer System
embedded software optimization,  reverse engineering,  power consumption,  performance,  instruction scheduling,  genetic algorithm,  

Full Text: PDF>>
Buy this Article

Optimizing embedded software is a problem having scientific and practical signification. Optimizing embedded software can be done in different phases of the software life cycle under different optimal conditions. Most studies of embedded software optimization are done in forward engineering and these studies have not given an overall model for the optimization problem of embedded software in both forward engineering and reverse engineering. Therefore, in this paper, we propose a new approach to embedded software optimization based on reverse engineering. First, we construct an overall model for the embedded software optimization in both forward engineering and reverse engineering and present a process of embedded software optimization in reverse engineering. The main idea of this approach is that decompiling executable code to source code, converting the source code to models and optimizing embedded software under different levels such as source code and model. Then, the optimal source code is recompiled. To develop this approach, we present two optimization techniques such as optimizing power consumption of assembly programs based on instruction schedule and optimizing performance based on alternating equivalent expressions.