Bandera: extracting finite-state models from Java source code
Proceedings of the 22nd international conference on Software engineering
Verification of time partitioning in the DEOS scheduler kernel
Proceedings of the 22nd international conference on Software engineering
Integrating Real Time into Spin: A Prototype Implementation
FORTE XI / PSTV XVIII '98 Proceedings of the FIP TC6 WG6.1 Joint International Conference on Formal Description Techniques for Distributed Systems and Communication Protocols (FORTE XI) and Protocol Specification, Testing and Verification (PSTV XVIII)
Extending Promela and Spin for Real Time
TACAs '96 Proceedings of the Second International Workshop on Tools and Algorithms for Construction and Analysis of Systems
Model checking software with well-defined APIs: the socket case
Proceedings of the 10th international workshop on Formal methods for industrial critical systems
Abstract matching for software model checking
SPIN'06 Proceedings of the 13th international conference on Model Checking Software
Model Checking Dynamic Memory Allocation in Operating Systems
Journal of Automated Reasoning
Model-based Kernel Testing for Concurrency Bugs through Counter Example Replay
Electronic Notes in Theoretical Computer Science (ENTCS)
An experience in embedded control software verification
ETFA'09 Proceedings of the 14th IEEE international conference on Emerging technologies & factory automation
Model checking industrial robot systems
Proceedings of the 18th international SPIN conference on Model checking software
A model-extraction approach to verifying concurrent C programs with CADP
Science of Computer Programming
Hi-index | 0.00 |
One of the most exciting and promising approaches to ensure the correctness of critical systems is software model checking, which considers real code, written with standard programming languages like C. One general technique to implement this approach is producing a reduced model of the software in order to employ existing and efficient tools, like spin. This paper presents the application of the technique to avionics software constructed on top of an application interface (API) compliant with the ARINC 653 specification (APEX), which is widely employed by the manufacturers in the avionics industry. The paper uses techniques to automatically extract promela models from C source code. These techniques were previously developed by the authors. However, they are now extended to deal with new problems, like real-time aspects and APEX scheduling. In order to close the extracted model during the verification, we built a reusable APEX-specific environment. This APEX environment models the execution engine (i.e. an APEX compliant RTOS) that implements APEX services. Finally, this paper also contains a novel testing method to ensure the correctness of this APEX environment. This testing method uses SPIN to execute official ARINC 653 test cases.