2017 32nd IEEE/ACM International Conference on Automated Software Engineering (ASE) 2017
DOI: 10.1109/ase.2017.8115634
|View full text |Cite
|
Sign up to set email alerts
|

Modular verification of interrupt-driven software

Abstract: Abstract-Interrupts have been widely used in safety-critical computer systems to handle outside stimuli and interact with the hardware, but reasoning about interrupt-driven software remains a difficult task. Although a number of static verification techniques have been proposed for interrupt-driven software, they often rely on constructing a monolithic verification model. Furthermore, they do not precisely capture the complete execution semantics of interrupts such as nested invocations of interrupt handlers. … Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
2
1

Citation Types

0
8
0

Year Published

2018
2018
2023
2023

Publication Types

Select...
4
3
2

Relationship

3
6

Authors

Journals

citations
Cited by 19 publications
(8 citation statements)
references
References 45 publications
0
8
0
Order By: Relevance
“…Abstract interpretation [14] is a static analysis framework that considers all paths and inputs to obtain a sound overapproximation of the state at every program location [31,32,52]. For efficiency reasons, the state is kept abstract and often represented by a set of constraints in a certain abstract domain.…”
Section: Abstract Interpretationmentioning
confidence: 99%
“…Abstract interpretation [14] is a static analysis framework that considers all paths and inputs to obtain a sound overapproximation of the state at every program location [31,32,52]. For efficiency reasons, the state is kept abstract and often represented by a set of constraints in a certain abstract domain.…”
Section: Abstract Interpretationmentioning
confidence: 99%
“…Our work differs in several ways: Their analysis is directed towards applications (we target libraries where task priorities do not matter), their analyses are specific (we provide a basis for carrying out a variety of value-set and relational analyses, targeting race-free programs), they consider priority and flag-based synchronization (but not disable-enable and suspend-resume based synchronization). Sung and others [27] consider interrupt-driven applications in the form of ISRs with different priorities, and perform interval-based static analysis for checking assertions. They do not handle libraries and do not leverage race-freedom.…”
Section: Related Workmentioning
confidence: 99%
“…In the context of static analysis of concurrent programs, for example, Kusano and Wang [30,31] used Datalog in a thread-modular abstract interpretation to check the feasibility of inter-thread data-flow edges on sequentially consistent and weaker memory models. Sung et al [45] used a similar technique for modeling preemption scheduling of interrupts and thus improving the accuracy of static analysis for interrupt-driven programs. However, none of these existing methods computes the synchronization differences of evolving programs.…”
Section: Related Workmentioning
confidence: 99%