Static Analysis of Run-Time Errors in Interrupt-Driven Programs via Sequentialization

Abstract : Embedded software often involves intensive numerical computations and suffers from a number of run-time errors. The technique of numerical static analysis is of practical importance for checking the correctness of embedded software. However, most of the existing approaches of numerical static analysis consider sequential programs, while interrupts are a commonly used facility that introduces concurrency in embedded systems. Therefore, a numerical static analysis approach is highly desired for embedded software with interrupts. In this paper, we propose a static analysis approach specifically for interrupt-driven programs based on sequentialization techniques. We present a method to sequentialize interrupt-driven programs into non-deterministic sequential programs according to the semantics of interrupts. The key benefit of using sequentialization is the ability to leverage the power of the state-of-the-art analysis and verification techniques for sequential programs to analyze interrupt-driven programs, for example, the power of numerical abstract interpretation to analyze numerical properties of the sequentialized programs. Furthermore, to improve the analysis precision and scalability, we design specific abstract domains to analyze sequen-tialized interrupt-driven programs by considering their specific features. Finally, we present encouraging experimental results obtained by our prototype implementation.
Document type :
Journal articles
Complete list of metadatas

Cited literature [31 references]  Display  Hide  Download

https://hal.sorbonne-universite.fr/hal-01360581
Contributor : Antoine Miné <>
Submitted on : Tuesday, September 6, 2016 - 10:29:36 AM
Last modification on : Thursday, March 21, 2019 - 1:12:15 PM
Long-term archiving on : Wednesday, December 7, 2016 - 12:48:55 PM

File

article-wu-al-tecs16.pdf
Files produced by the author(s)

Identifiers

Citation

Xueguang Wu, Liqian Chen, Antoine Miné, Wei Dong, Ji Wang. Static Analysis of Run-Time Errors in Interrupt-Driven Programs via Sequentialization. ACM Transactions on Embedded Computing Systems (TECS), ACM, 2016, ACM Transactions on Embedded Computing Systems (TECS) - Special Issue on ESWEEK2015 and Regular Papers, 15 (4), pp.70:1-70:26. ⟨10.1145/2914789⟩. ⟨hal-01360581⟩

Share

Metrics

Record views

345

Files downloads

252