An SMT Based Method for Optimizing Arithmetic Computations in Embedded Software Code

被引:7
|
作者
Eldib, Hassan [1 ]
Wang, Chao [1 ]
机构
[1] Virginia Tech, Bradley Dept Elect & Comp Engn, Blacksburg, VA 24061 USA
基金
美国国家科学基金会;
关键词
Fixed point arithmetic; inductive program synthesis; satisfiability modulo theory (SMT) solver; superoptimization;
D O I
10.1109/TCAD.2014.2341931
中图分类号
TP3 [计算技术、计算机技术];
学科分类号
0812 ;
摘要
We present a new method for optimizing the source code of embedded control software with the objective of minimizing implementation errors in the linear fixed-point arithmetic computations caused by overflow, underflow, and truncation. Our method relies on the use of the satisfiability modulo theory (SMT) solver to search for alternative implementations that are mathematically equivalent but require a smaller bit-width, or implementations that use the same bit-width but have a larger error-free dynamic range. Our systematic search of the bounded implementation space is based on a new inductive synthesis procedure, which is guaranteed to find a valid solution as long as such solution exists. Furthermore, we propose an incremental optimization procedure, which applies the synthesis procedure only to small code regions-one at a time-as opposed to the entire program, which is crucial for scaling the method up to programs of realistic size and complexity. We have implemented our new method in a software tool based on the Clang/LLVM compiler frontend and the Yices SMT solver. Our experiments, conducted on a set of representative benchmarks from embedded control and digital signal processing applications, show that the method is both effective and efficient in optimizing arithmetic computations in embedded software code.
引用
收藏
页码:1611 / 1622
页数:12
相关论文
共 50 条
  • [11] Optimizing Code_Saturne computations on Petascale systems
    Fournier, Y.
    Bonelle, J.
    Moulinec, C.
    Shang, Z.
    Sunderland, A. G.
    Uribe, J. C.
    COMPUTERS & FLUIDS, 2011, 45 (01) : 103 - 108
  • [12] Code Synthesis for Dataflow-Based Embedded Software Design
    Su, Zhuo
    Wang, Dongyan
    Yang, Yixiao
    Jiang, Yu
    Chang, Wanli
    Fang, Liming
    Li, Wen
    Sun, Jiaguang
    IEEE TRANSACTIONS ON COMPUTER-AIDED DESIGN OF INTEGRATED CIRCUITS AND SYSTEMS, 2022, 41 (01) : 49 - 61
  • [13] A Security Model and Implementation of Embedded Software Based on Code Obfuscation
    Yi, Jiajia
    Chen, Lirong
    Zhang, Haitao
    Li, Yun
    Zhao, Huanyu
    2020 IEEE 19TH INTERNATIONAL CONFERENCE ON TRUST, SECURITY AND PRIVACY IN COMPUTING AND COMMUNICATIONS (TRUSTCOM 2020), 2020, : 1606 - 1613
  • [14] SMT-Based Bounded Model Checking for Embedded ANSI-C Software
    Cordeiro, Lucas
    Fischer, Bernd
    Marques-Silva, Joao
    2009 IEEE/ACM INTERNATIONAL CONFERENCE ON AUTOMATED SOFTWARE ENGINEERING, PROCEEDINGS, 2009, : 137 - 148
  • [15] SMT-Based Bounded Model Checking for Embedded ANSI-C Software
    Cordeiro, Lucas
    Fischer, Bernd
    Marques-Silva, Joao
    IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 2012, 38 (04) : 957 - 974
  • [16] Research on the Static Analysis Method of the Localization Embedded Platform Software Code
    Gao, Zhijie
    Lu, Ling
    Jiao, Wen
    PROCEEDINGS OF THE 6TH INTERNATIONAL CONFERENCE ON INFORMATION ENGINEERING FOR MECHANICS AND MATERIALS, 2016, 97 : 621 - 626
  • [17] Optimizing Peer Review of Software Code
    Sliz, Piotr
    Morin, Andrew
    SCIENCE, 2013, 341 (6143) : 236 - 237
  • [18] Energy-optimizing source code transformations for operating system-driven embedded software
    Fei, Yunsi
    Ravi, Srivaths
    Raghunathan, Anand
    Jha, Niraj K.
    ACM TRANSACTIONS ON EMBEDDED COMPUTING SYSTEMS, 2008, 7 (01)
  • [19] A study of CodePack: Optimizing embedded code space
    Orpaz, A
    Weiss, S
    CODES 2002: PROCEEDINGS OF THE TENTH INTERNATIONAL SYMPOSIUM ON HARDWARE/SOFTWARE CODESIGN, 2002, : 103 - 108
  • [20] A Regression-Based Method to Synthesize Complex Arithmetic Computations on Stochastic Streams
    Ardakani, Arash
    Ardakani, Amir
    Gross, Warren J.
    2020 IEEE INTERNATIONAL SYMPOSIUM ON CIRCUITS AND SYSTEMS (ISCAS), 2020,