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 条
  • [1] An SMT Based Method for Optimizing Arithmetic Computations in Embedded Software Code
    Eldib, Hassan
    Wang, Chao
    2013 FORMAL METHODS IN COMPUTER-AIDED DESIGN (FMCAD), 2013, : 129 - 136
  • [2] Optimizing Relocatable Code for Efficient Software Update in Networked Embedded Systems
    Dong, Wei
    Chen, Chun
    Bu, Jiajun
    Liu, Wen
    ACM TRANSACTIONS ON SENSOR NETWORKS, 2015, 11 (02)
  • [3] Optimizing Component-Based Embedded Software
    Lobry, Olivier
    Navas, Juan
    Babau, Jean-Philippe
    2009 IEEE 33RD INTERNATIONAL COMPUTER SOFTWARE AND APPLICATIONS CONFERENCE, VOLS 1 AND 2, 2009, : 1164 - 1169
  • [4] The Evaluation of the Embedded Software Quality Based on the Binary Code
    Liu Jinshuo
    Chen Yusen
    Zhang Lanxin
    Deng Juan
    Zhang Weixin
    2016 IEEE INTERNATIONAL CONFERENCE ON SOFTWARE QUALITY, RELIABILITY AND SECURITY COMPANION (QRS-C 2016), 2016, : 167 - 170
  • [5] SMT-Based Verification of Safety-Critical Embedded Control Software
    Adhikary, Sunandan
    Gurung, Amit
    Thakkar, Jay
    Da Costa, Antonio Bruto
    Dey, Soumyajit
    Hazra, Aritra
    Dasgupta, Pallab
    IEEE EMBEDDED SYSTEMS LETTERS, 2021, 13 (03) : 138 - 141
  • [6] Applying SMT-based verification to hardware/software partitioning in embedded systems
    Trindade, Alessandro B.
    Cordeiro, Lucas C.
    DESIGN AUTOMATION FOR EMBEDDED SYSTEMS, 2016, 20 (01) : 1 - 19
  • [7] Applying SMT-based verification to hardware/software partitioning in embedded systems
    Alessandro B. Trindade
    Lucas C. Cordeiro
    Design Automation for Embedded Systems, 2016, 20 : 1 - 19
  • [8] Energy-optimizing source code transformations for OS-driven embedded software
    Fei, Y
    Ravi, S
    Raghunathan, A
    Jha, NK
    17TH INTERNATIONAL CONFERENCE ON VLSI DESIGN, PROCEEDINGS: DESIGN METHODOLOGIES FOR THE GIGASCALE ERA, 2004, : 261 - 266
  • [9] Address code and arithmetic optimizations for embedded systems
    Ramanujam, J
    Krishnamurthy, S
    Hong, JY
    Kandemir, M
    ASP-DAC/VLSI DESIGN 2002: 7TH ASIA AND SOUTH PACIFIC DESIGN AUTOMATION CONFERENCE AND 15TH INTERNATIONAL CONFERENCE ON VLSI DESIGN, PROCEEDINGS, 2002, : 619 - 624
  • [10] Deductive glue code synthesis for embedded software systems based on code patterns
    Liu, Jian
    Fu, Jicheng
    Zhang, Yansheng
    Bastani, Farokh
    Yen, I-Ling
    Tai, Ann
    Chau, Savio
    NINTH IEEE INTERNATIONAL SYMPOSIUM ON OBJECT AND COMPONENT-ORIENTED REAL-TIME DISTRIBUTED COMPUTING, PROCEEDINGS, 2006, : 109 - 116