Software Requirements Analysis for Real-Time Process-Control Systems
IEEE Transactions on Software Engineering
The Omega test: a fast and practical integer programming algorithm for dependence analysis
Proceedings of the 1991 ACM/IEEE conference on Supercomputing
The algorithmic analysis of hybrid systems
Theoretical Computer Science - Special issue on hybrid systems
Formal Methods in System Design
Proceedings of the 24th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Automatic Generation of Invariants
Formal Methods in System Design - Special issue on The First Federated Logic Conference (FLOC'96), part II
Translation validation for an optimizing compiler
PLDI '00 Proceedings of the ACM SIGPLAN 2000 conference on Programming language design and implementation
TACAS '98 Proceedings of the 4th International Conference on Tools and Algorithms for Construction and Analysis of Systems
Verification of the Interface of a Small Proof System in Coq
TYPES '96 Selected papers from the International Workshop on Types for Proofs and Programs
CAV '01 Proceedings of the 13th International Conference on Computer Aided Verification
Temporal-Safety Proofs for Systems Code
CAV '02 Proceedings of the 14th International Conference on Computer Aided Verification
CAV '02 Proceedings of the 14th International Conference on Computer Aided Verification
A Gradual Approach to a More Trustworthy, Yet Scalable, Proof-Carrying Code
CADE-18 Proceedings of the 18th International Conference on Automated Deduction
Faster Proof Checking in the Edinburgh Logical Framework
CADE-18 Proceedings of the 18th International Conference on Automated Deduction
Foundational Proof-Carrying Code
LICS '01 Proceedings of the 16th Annual IEEE Symposium on Logic in Computer Science
Foundational proof checkers with small witnesses
Proceedings of the 5th ACM SIGPLAN international conference on Principles and practice of declaritive programming
Proceedings of the 31st ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Journal of Automated Reasoning
DATE '03 Proceedings of the conference on Design, Automation and Test in Europe - Volume 1
Formal certification of a compiler back-end or: programming a compiler with a proof assistant
Conference record of the 33rd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Modeling Heterogeneous Real-time Components in BIP
SEFM '06 Proceedings of the Fourth IEEE International Conference on Software Engineering and Formal Methods
Proof-carrying code from certified abstract interpretation and fixpoint compression
Theoretical Computer Science - Applied semantics
A Certifying Code Generation Phase
Electronic Notes in Theoretical Computer Science (ENTCS)
Formal verification of translation validators: a case study on instruction scheduling optimizations
Proceedings of the 35th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Industrial Use of Formal Methods for a High-Level Security Evaluation
FM '08 Proceedings of the 15th international symposium on Formal Methods
Compositional Verification for Component-Based Systems and Application
ATVA '08 Proceedings of the 6th International Symposium on Automated Technology for Verification and Analysis
Certifying deadlock-freedom for BIP models
Proceedings of th 12th International Workshop on Software and Compilers for Embedded Systems
The Why/Krakatoa/Caduceus platform for deductive program verification
CAV'07 Proceedings of the 19th international conference on Computer aided verification
Rocket-fast proof checking for SMT solvers
TACAS'08/ETAPS'08 Proceedings of the Theory and practice of software, 14th international conference on Tools and algorithms for the construction and analysis of systems
CADE' 20 Proceedings of the 20th international conference on Automated Deduction
Extending coq with imperative features and its application to SAT verification
ITP'10 Proceedings of the First international conference on Interactive Theorem Proving
Fast LCF-Style proof reconstruction for z3
ITP'10 Proceedings of the First international conference on Interactive Theorem Proving
Certifying compilers using higher-order theorem provers as certificate checkers
Formal Methods in System Design
Verification of PLC properties based on formal semantics in Coq
SEFM'11 Proceedings of the 9th international conference on Software engineering and formal methods
Probabilistic compositional reasoning for guaranteeing fault tolerance properties
OPODIS'11 Proceedings of the 15th international conference on Principles of Distributed Systems
Towards a formal foundation of behavioral types for UML state-machines
ACM SIGSOFT Software Engineering Notes
Behavioral specification based runtime monitors for OSGi services
ISoLA'12 Proceedings of the 5th international conference on Leveraging Applications of Formal Methods, Verification and Validation: technologies for mastering change - Volume Part I
Hi-index | 0.00 |
Automatic verification tools, such as model checkers and tools based on static analysis or on abstract interpretation, have become popular in software and hardware development. They increase confidence and potentially provide rich feedback. However, with increasing complexity, verification tools themselves are more likely to contain errors. In contrast to automatic verification tools, higher-order theorem provers use mathematically founded proof strategies checked by a small proof checker to guarantee selected properties. Thus, they enjoy a high level of trustability. Properties of software and hardware systems and their justifications can be encapsulated into a certificate, thereby guaranteeing correctness of the systems, with respect to the properties. These results offer a much higher degree of confidence than results achieved by verification tools. However, higher-order theorem provers are usually slow, due to their general and minimalistic nature. Even for small systems, a lot of human interaction is required for establishing a certificate. In this work, we combine the advantages of automatic verification tools (i.e., speed and automation) with those of higher-order theorem provers (i.e., high level of trustability). The verification tool generates a certificate for each invocation. This is checked by the higher-order theorem prover, thereby guaranteeing the desired property. The generation of certificates is much easier than producing the analysis results of the verification tool in the first place. In our work, we are able to create certificates that come with an algorithmic description of the proof of the desired property as justification. We concentrate on verification tools that generate invariants of systems and certify automatically that these do indeed hold. Our approach is applied to the certification of the verdicts of a deadlock-detection tool for an asynchronous component-based language.