A calculus of mobile processes, II
Information and Computation
Computers as components: principles of embedded computing system design
Computers as components: principles of embedded computing system design
Type-based analysis and applications
PASTE '01 Proceedings of the 2001 ACM SIGPLAN-SIGSOFT workshop on Program analysis for software tools and engineering
Static checking of interrupt-driven software
ICSE '01 Proceedings of the 23rd International Conference on Software Engineering
Compiling with code-size constraints
Proceedings of the joint conference on Languages, compilers and tools for embedded systems: software and compilers for embedded systems
A Calculus of Communicating Systems
A Calculus of Communicating Systems
A Theory of Objects
Model Checking as Constraint Solving
SAS '00 Proceedings of the 7th International Symposium on Static Analysis
FoSSaCS '98 Proceedings of the First International Conference on Foundations of Software Science and Computation Structure
From Polyvariant flow information to intersection and union types
Journal of Functional Programming
Stack size analysis for interrupt-driven programs
Information and Computation - Special issue: Commemorating the 50th birthday anniversary of Paris C. Kanellakis
Eliminating stack overflow by abstract interpretation
ACM Transactions on Embedded Computing Systems (TECS)
EMSOFT '07 Proceedings of the 7th ACM & IEEE international conference on Embedded software
Certifying low-level programs with hardware interrupts and preemptive threads
Proceedings of the 2008 ACM SIGPLAN conference on Programming language design and implementation
A type system equivalent to a model checker
ACM Transactions on Programming Languages and Systems (TOPLAS)
Asynchronous Exceptions as an Effect
MPC '08 Proceedings of the 9th international conference on Mathematics of Program Construction
APLAS '08 Proceedings of the 6th Asian Symposium on Programming Languages and Systems
Certifying Low-Level Programs with Hardware Interrupts and Preemptive Threads
Journal of Automated Reasoning
DSL '09 Proceedings of the IFIP TC 2 Working Conference on Domain-Specific Languages
Stack size analysis for interrupt-driven programs
Information and Computation
Stack size analysis for interrupt-driven programs
SAS'03 Proceedings of the 10th international conference on Static analysis
Type-based analysis of deadlock for a concurrent calculus with interrupts
ESOP'07 Proceedings of the 16th European conference on Programming
A type system equivalent to a model checker
ESOP'05 Proceedings of the 14th European conference on Programming Languages and Systems
Investigating time properties of interrupt-driven programs
SBMF'12 Proceedings of the 15th Brazilian conference on Formal Methods: foundations and applications
Hi-index | 0.00 |
Most real-time systems require responsive interrupt handling. Programming of interrupt handlers is challenging: in order to ensure responsiveness, it is often necessary to have interrupt processing enabled in the body of lower priority handlers. It would be a programming error to allow the interrupt handlers to interrupt each other in a cyclic fashion; it could lead to an unbounded stack. Until now, static checking for such errors could only be done using model checking. However, the needed form of model checking requires a whole-program analysis that cannot check program fragments. In this paper, we present a calculus that contains essential constructs for programming interrupt-driven systems. The calculus has a static type system that guarantees stack boundedness and enables modular type checking. A number of common programming idioms have been type checked using our prototype implementation.