Skip to main content
Log in

Detailed Analysis of Compilation Options for Robust Software-based Embedded Systems

  • Published:
Journal of Electronic Testing Aims and scope Submit manuscript

Abstract

Several criteria can be used to evaluate the criticality of registers and memory locations at compile time. This evaluation is useful to guide optimizations with respect to robustness constraints and soft error mitigation. In this paper, we analyze in detail the impact of compilation optimizations on the system dependability, using four different criteria. We show that optimizations enabled by default lead to criticality increase. However, selectively picking optimizations may increase the robustness of a system even if the consequences of a given optimization option may vary from a program to another. We also identify some optimizations that induce a significant increase in criticality and must be used with care.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5

Similar content being viewed by others

References

  1. Benso A, Chiusano S, Prinetto P, Tagliaferri L (2000) A C/C++ source to source compiler for dependable applications, IEEE International Conference on Dependable Systems and Networks (DSN), June 25–28, pp. 71–78

  2. Benso A, Di Carlo S, Di Natale G, Prinetto P (2003) A watchdog processor to detect data and control flow errors, 9th IEEE International On-Line Testing symposium, Kos, Greece, July, pp. 144–148

  3. Bergaoui S, Leveugle R (2010) Impact of compilation options on the criticality of registers in a microprocessor-based system, 1st IEEE Latin American Symposium on Circuits and Systems (LASCAS), Iguaçu Falls, Brazil, February 24–26, pp. 216–219

  4. Bergaoui S, Leveugle R (2011) Impact of software optimization on variable lifetimes in a microprocessor-based system, IEEE International Symposium on Electronic Design, Test and Applications (DELTA), Queenstown, New Zealand, January 17–19, pp. 56–61

  5. Bergaoui S, Vanhauwaert P, Leveugle R (2010) A new critical variable analysis in processor-based systems. IEEE Trans Nucl Sci 57(no. 4, part 1):1992–1999

    Article  Google Scholar 

  6. Free Software Foundation. GCC, the GNU compiler collection. gcc.gnu.org

  7. Guthaus M et al (2001) Mibench: a free, commercially representative embedded benchmark suite, IWWC

  8. Jones TM, O’Boyle MFP, Ergin O (2008) Evaluating the effects of compiler optimisations on AVF, Workshop on interaction between compilers and computer architecture (INTERACT-12)

  9. Lee J, Shrivastava A (2009) Static analysis to mitigate soft errors in register files, Design, Automation and Test in Europe Conference (DATE), pp. 1367–1372

  10. Lee J, Shrivastava A (2010) A compiler-microarchitecture hybrid approach to soft error reduction for register files. IEEE Trans Comput-Aided Des Integr Circ Syst 29(7):1018–1027

    Article  Google Scholar 

  11. Mukherjee SS, Weaver C, Emer J, Reinhardt SK, Austin T (2003) A systematic methodology to compute the architectural vulnerability factors for a high-performance microprocessor, 36th Annual IEEE/ACM International Symposium on Microarchitecture, pp. 29–40

  12. Pattabiraman K, Kalbarczyk Z, Iyer RK (2005) Application-based metrics for strategic placement of detectors, Pacific Rim Dependable Computing (PRDC)

  13. Peronnard P, Velazco R, Foucard G (2008) Impact of the software optimization on the soft error rate: a case study, 23rd International Conference on Design of Circuits and Integrated Systems (DCIS’08)

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to R. Leveugle.

Additional information

Responsible Editor: F. L. Vargas

Appendix

Appendix

Table 7 Evaluation of criticality for individual optimization functions (Lifetime criterion)
Table 8 Evaluation of criticality for individual optimization functions (Fanout criterion)
Table 9 Evaluation of criticality for individual optimization functions (Weight in the branch conditions criterion)
Table 10 Evaluation of criticality for individual optimization functions (Functional dependencies criterion)

Rights and permissions

Reprints and permissions

About this article

Cite this article

Bergaoui, S., Wecxsteen, A. & Leveugle, R. Detailed Analysis of Compilation Options for Robust Software-based Embedded Systems. J Electron Test 29, 211–222 (2013). https://doi.org/10.1007/s10836-013-5371-2

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10836-013-5371-2

Keywords

Navigation