IEEE Transactions on Software Engineering - Special issue on formal methods in software practice
Model checking for programming languages using VeriSoft
Proceedings of the 24th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Bandera: extracting finite-state models from Java source code
Proceedings of the 22nd international conference on Software engineering
Automatic predicate abstraction of C programs
Proceedings of the ACM SIGPLAN 2001 conference on Programming language design and implementation
FORTE XII / PSTV XIX '99 Proceedings of the IFIP TC6 WG6.1 Joint International Conference on Formal Description Techniques for Distributed Systems and Communication Protocols (FORTE XII) and Protocol Specification, Testing and Verification (PSTV XIX)
Boolean and Cartesian Abstraction for Model Checking C Programs
TACAS 2001 Proceedings of the 7th International Conference on Tools and Algorithms for the Construction and Analysis of Systems
ASE '00 Proceedings of the 15th IEEE international conference on Automated software engineering
αSPIN: A tool for abstract model checking
International Journal on Software Tools for Technology Transfer (STTT)
A generalized semantics of PROMELA for abstract model checking
Formal Aspects of Computing
CMC: a pragmatic approach to model checking real code
OSDI '02 Proceedings of the 5th symposium on Operating systems design and implementationCopyright restrictions prevent ACM from being able to make the PDFs for this conference available for downloading
Spin model checker, the: primer and reference manual
Spin model checker, the: primer and reference manual
On-the-Fly Data Flow Analysis Based on Verification Technology
Electronic Notes in Theoretical Computer Science (ENTCS)
On The Evolution Of Reliability Methods For Critical Software
Journal of Integrated Design & Process Science - Applications of formal methods
Model Checking Dynamic Memory Allocation in Operating Systems
Journal of Automated Reasoning
An experience in embedded control software verification
ETFA'09 Proceedings of the 14th IEEE international conference on Emerging technologies & factory automation
Model extraction for ARINC 653 based avionics software
Proceedings of the 14th international SPIN conference on Model checking software
C.OPEN and ANNOTATOR: tools for on-the-fly model checking C programs
Proceedings of the 14th international SPIN conference on Model checking software
Abstract matching for software model checking
SPIN'06 Proceedings of the 13th international conference on Model Checking Software
Hi-index | 0.00 |
The application of model checking technology to real software seems to be a promising and realistic approach to increase its quality. There are some successful examples of tools for this purpose, mainly working with self-contained programs. However, verifying software that uses external functionality provided by the operating system via API s is currently a challenging trend.In this paper, we give a method for using the tool SPIN to verify distributed software systems that use the API Socket and the network protocol stack TCPIP for communications. Our approach consists in building a model of the underlying operating system to be joined with the original C code in order to obtain the input for the model checker. We define and use a formal semantics of the API to conduct the correct construction of models. The whole modelling process is transparent to the C programmer, because it is performed automatically and without special syntactic constraints in the input C code. Regarding verification, we consider optimization techniques suitable for this application domain, and we ensure that the system only reports potential (non-spurious) errors.