A Program Optimization Method for Embedded Software Developed Using Open Sources

Sang-Young Cho


Program optimization or software optimization is the process of modifying a software system to make some aspect of it work more efficiently or use fewer resources. When developing software for embedded systems, open source libraries are usually used. An Embedded software built using a variety of open software and libraries is apt to have too many unused codes because open source libraries contain many functions and features to be used in various applications. In this paper, we describe the process of a library optimization method to reduce memory consumption for the user interface software of a set-top box product. The overall optimization process uses freeware tools developed for the Linux operating system. We devised an optimization technique to compensate for operation imperfections in the target system. The original Qt library of 19.57 MB was optimized to be 7.26 MB in program image size. In the case of the DirectFB library, 3.2 MB was reduced to 2.4 MB. The optimization process can be applied to any embedded software that are developed with open source libraries or sources.


software optimization; open source library; static and dynamic analysis; freeware tool

Full Text:



S. Memeti, S. Pllana, A. Binotto, J. Kołodziej, and I. Brandic, “Using meta-heuristics and machine learning for software optimization of parallel computing systems: a systematic literature review,” Computing(2018), https://doi.org/10.1007/s00607-018-0614-9, Springer Vienna.

S. Sushko and A. Chemeris, “The dependence of microprocessor system energy consumption on software optimization,” in Proceedings of 2017 IEEE 37th International Conference on Electronics and Nanotechnology, pp. 451–454, Kiev, Ukraine, Apr. 2017.

A. K. Sarma, “New trends and challenges in source code optimization,” International Journal of Computer Applications, vol. 131, no. 16, pp. 27–32, Dec. 2015.

M. C. M. Neto, S. S. Andrade, and R. L. Novais, “Cross-platform multimedia application development: for mobile, web, embedded and IoT with Qt/QML,” in Proceedings of the 23rd Brazillian Symposium on Multimedia and the Web, pp. 23–26, Gramado, RS, Brazil, Oct. 2017.

H. Zeng, Z. Zhang, and L. Shi, “Research and implementation of video codec based on FFmpeg,” in Proceedings of the 2016 International Conference on Network and Information Systems for Computers, pp. 5-17, Wuhan, China, Apr. 2016.

M. P. Mariano, “Application-level virtual memory for object-oriented systems,” PhD Eng. thesis, Lille University of Science and Technology, France 2012.

G. Polito, “Virtualization support for application runtime specialization and extension,” PhD Eng. thesis, Lille University of Science and Technology, France 2015.

K. A. Marianna, R. O. Lhoták, J. Dolby, and F. Tip, “Type-based call graph construction algorithms for Scala,” ACM Transactions on Software Engineering and Methodology, vol. 25, no. 1, pp. 1–43, Dec. 2015.

G.-H. Kang, Y. C. Kim, G. S. Yi, Y. S. Kim, Y. B. Park, and H. S. Son, “A practical study on code static analysis through open source based tool chains,” KIISE Transactions on Computing Practices, vol. 21, no. 2, pp. 148–153, Feb. 2015.

I. Giagkiozis, R. J. Lygoe, and P. J. Fleming, “Liger: an open source integrated optimization environment,” in Proceedings of the 15th Genetic and Evolutionary Computation Conference, Amsterdam, The Netherlands, pp. 1089–1096, July 2013.

S.-Y. Cho, “Library Optimization for Embedded Systems Using Open Tools,” in Proceedings of the 2018 International Conference on Electronics, Information and Communication, pp. 674–675, Hawaii, USA, Jan. 2018.

D. Grbić, M. Vranješ, B. Kovačević, and M. Milošević, “Hybrid electronic program guide application for digital TV receiver,” in Proceedings of 2017 IEEE 7th International Conference on Consumer Electronics – Berlin, pp. 177–180, Berlin, Germany, Dec. 2017.


T. Cséri, “Examining structural correctness of documentation comments in C++ programs,” in Proceedings of 2015 IEEE 13th International Scientific Conference on Informatics, pp. 79–84, Poprad, Slovakia, Nov. 2015.

Y. Zheng , S. Kell , L. Bulej, H. Sun, and W. Binder, “Comprehensive multiplatform dynamic program analysis for Java and Android,” IEEE Software , vol. 33, Issue 4, pp. 55–63, Jul. 2016.

pmap, [Online]. Available: https://linux.die.net/man/1/pmap

M. Stevanovic, Chap. 12 Linux Toolbox, in Advanced C and C++ Compiling 1st Ed., Berkeley, CA: Apress, 2014.

A.-D. Schmidt, R. Bye, H.-G. Schmidt, J. Clausen, O. Kiraz, K. A. Yuksel, S. A. Camtepe, and S. Albayrak, “Static analysis of executables for collaborative malware detection on Android,” in Proceedings on IEEE International Conference on Communications, Dresden, Germany, Jun. 2009, https://doi.org/10.1109/ICC.2009.5199486, IEEE

DOI: http://dx.doi.org/10.18517/ijaseit.8.4-2.5569


  • There are currently no refbacks.

Published by INSIGHT - Indonesian Society for Knowledge and Human Development