Synchronizing clocks in the presence of faults
Journal of the ACM (JACM)
Implementing mathematics with the Nuprl proof development system
Implementing mathematics with the Nuprl proof development system
The MAFT Architecture for Distributed Fault Tolerance
IEEE Transactions on Computers - Fault-Tolerant Computing
A new fault-tolerant algorithm for clock synchronization
Information and Computation
A computational logic handbook
A computational logic handbook
Specification and Verification Using Dependent Types
IEEE Transactions on Software Engineering
Mechanized reasoning and hardware design
Mechanized reasoning and hardware design
Introduction to HOL: a theorem proving environment for higher order logic
Introduction to HOL: a theorem proving environment for higher order logic
Tcl and the Tk toolkit
A formally verified algorithm for clock synchronization under a hybrid fault model
PODC '94 Proceedings of the thirteenth annual ACM symposium on Principles of distributed computing
FM8501: a verified microprocessor
FM8501: a verified microprocessor
On the SUP-INF Method for Proving Presburger Formulas
Journal of the ACM (JACM)
Reaching Agreement in the Presence of Faults
Journal of the ACM (JACM)
Deciding Linear Inequalities by Computing Loop Residues
Journal of the ACM (JACM)
Deciding Combinations of Theories
Journal of the ACM (JACM)
The Byzantine Generals Problem
ACM Transactions on Programming Languages and Systems (TOPLAS)
An example of hierarchical design and proof
Communications of the ACM
Formal Techniques in Real-Time and Fault-Tolerant Systems
Formal Techniques in Real-Time and Fault-Tolerant Systems
Symbolic Model Checking
Formal specification as a design tool
POPL '80 Proceedings of the 7th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Formal Techniques in Real-Time and Fault-Tolerant Systems: Third International Symposium Organized Jointly with the Working Group Provably Correct Systems, ProCoS, Lubeck, Germany, September 19-23, 1994 Proceedings
Formal Verification of Algorithms for Critical Systems
IEEE Transactions on Software Engineering
Proceedings of the 5th International Conference on Computer Aided Verification
CAV '93 Proceedings of the 5th International Conference on Computer Aided Verification
Effective Theorem Proving for Hardware Verification
TPCD '94 Proceedings of the Second International Conference on Theorem Provers in Circuit Design - Theory, Practice and Experience
Using PVS to Prove Some Theorems Of David Parnas
HUG '93 Proceedings of the 6th International Workshop on Higher Order Logic Theorem Proving and its Applications
Mechanical Verification of a Generalized Protocol for Byzantine Fault Tolerant Clock Synchronization
Proceedings of the Second International Symposium on Formal Techniques in Real-Time and Fault-Tolerant Systems
Correctness of Real Time Systems by Construction
ProCoS Proceedings of the Third International Symposium Organized Jointly with the Working Group Provably Correct Systems on Formal Techniques in Real-Time and Fault-Tolerant Systems
Towards a Duration Calculus Proof Assistant in PVS
ProCoS Proceedings of the Third International Symposium Organized Jointly with the Working Group Provably Correct Systems on Formal Techniques in Real-Time and Fault-Tolerant Systems
Verification of Real-Time Systems Using PVS
CAV '93 Proceedings of the 5th International Conference on Computer Aided Verification
The Formal Verification of an Algorithm for Interactive Consistency under a Hybrid Fault Model
CAV '93 Proceedings of the 5th International Conference on Computer Aided Verification
Automatic verification of Pipelined Microprocessor Control
CAV '94 Proceedings of the 6th International Conference on Computer Aided Verification
Ground Temporal Logic: A Logic for Hardware Verification
CAV '94 Proceedings of the 6th International Conference on Computer Aided Verification
PVS: A Prototype Verification System
CADE-11 Proceedings of the 11th International Conference on Automated Deduction: Automated Deduction
WIFT '95 Proceedings of the 1st Workshop on Industrial-Strength Formal Specification Techniques
Understanding Protocols for Byzantine Clock Synchronization
Understanding Protocols for Byzantine Clock Synchronization
Formal Verification of a Fault Tolerant Clock Synchronization Algorithm
Formal Verification of a Fault Tolerant Clock Synchronization Algorithm
A Formally Verified Algorithm for Interactive Consistency Under a Hybrid Fault Model
A Formally Verified Algorithm for Interactive Consistency Under a Hybrid Fault Model
Verifying the Interactive Convergence Clock Synchronization algorithm Using the Boyer-Moore Theorem Prover
Formal Verification of an Oral Messages Algorithm for Interactive Consistency
Formal Verification of an Oral Messages Algorithm for Interactive Consistency
The enhanced HDM system for specification and verification
ACM SIGSOFT Software Engineering Notes - Proceedings of VERkshop III -- a formal verification workshop
A graphical environment for the design of concurrent real-time systems
ACM Transactions on Software Engineering and Methodology (TOSEM)
Verification of FLASH cache coherence protocol by aggregation of distributed transactions
Proceedings of the eighth annual ACM symposium on Parallel algorithms and architectures
Checking relational specifications with binary decision diagrams
SIGSOFT '96 Proceedings of the 4th ACM SIGSOFT symposium on Foundations of software engineering
Analysis of techniques in the assessment of ultra-reliable computerized systems
ACM SIGSOFT Software Engineering Notes
Introducing formal specification methods in industrial practice
ICSE '97 Proceedings of the 19th international conference on Software engineering
Comparing Verification Systems: Interactive Consistency in ACL2
IEEE Transactions on Software Engineering
Formal Requirements Analysis of an Avionics Control System
IEEE Transactions on Software Engineering - Special issue on formal methods in software practice
ESEC '97/FSE-5 Proceedings of the 6th European SOFTWARE ENGINEERING conference held jointly with the 5th ACM SIGSOFT international symposium on Foundations of software engineering
Toward formalizing structured analysis
ACM Transactions on Software Engineering and Methodology (TOSEM)
Formally Verified On-Line Diagnosis
IEEE Transactions on Software Engineering
Experiences Using Lightweight Formal Methods for Requirements Modeling
IEEE Transactions on Software Engineering
Formal Verification of Concurrent Programs Using the Larch Prover
IEEE Transactions on Software Engineering
Isomorph-free model enumeration: a new method for checking relational specifications
ACM Transactions on Programming Languages and Systems (TOPLAS)
Reasoning about Java classes: preliminary report
Proceedings of the 13th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Formalizing space shuttle software requirements: four case studies
ACM Transactions on Software Engineering and Methodology (TOSEM)
Subtypes for Specifications: Predicate Subtyping in PVS
IEEE Transactions on Software Engineering
Formal Methods Technology Transfer: A View from NASA
Formal Methods in System Design - Special issue: industrial critical systems
Composition and refinement of discrete real-time systems
ACM Transactions on Software Engineering and Methodology (TOSEM)
An Executable Specification and Verifier for Relaxed Memory Order
IEEE Transactions on Computers - Special issue on cache memory and related problems
Applying the SCR requirements method to a weapons control panel: an experience report
FMSP '98 Proceedings of the second workshop on Formal methods in software practice
Toward a resourceful method of software fault tolerance
ACM-SE 37 Proceedings of the 37th annual Southeast regional conference (CD-ROM)
Should your specification language be typed
ACM Transactions on Programming Languages and Systems (TOPLAS)
Systematic Formal Verification for Fault-Tolerant Time-Triggered Algorithms
IEEE Transactions on Software Engineering
Automatic Generation of Invariants
Formal Methods in System Design - Special issue on The First Federated Logic Conference (FLOC'96), part II
Semantical aspects of an architecture for distributed embedded systems
SAC '00 Proceedings of the 2000 ACM symposium on Applied computing - Volume 1
Proceedings of the Conference on The Future of Software Engineering
Formal specification: a roadmap
Proceedings of the Conference on The Future of Software Engineering
A logical framework for design composition
Proceedings of the 22nd international conference on Software engineering
Alcoa: the alloy constraint analyzer
Proceedings of the 22nd international conference on Software engineering
Proceedings of the 2000 ACM SIGSOFT international symposium on Software testing and analysis
Verification of a Leader Election Protocol: Formal Methods Applied to IEEE 1394
Formal Methods in System Design
Systems, interactions, and macrotheory
ACM Transactions on Computer-Human Interaction (TOCHI) - Special issue on human-computer interaction in the new millennium, Part 2
Automating first-order relational logic
SIGSOFT '00/FSE-8 Proceedings of the 8th ACM SIGSOFT international symposium on Foundations of software engineering: twenty-first century applications
Handling Obstacles in Goal-Oriented Requirements Engineering
IEEE Transactions on Software Engineering - special section on current trends in exception handling—part II
Formalization and Analysis of a Solution to the PCI 2.1 Bus Transaction Ordering Problem
Formal Methods in System Design - Special issue on formal methods for computer-added design
Automated deductive requirements analysis of critical systems
ACM Transactions on Software Engineering and Methodology (TOSEM)
Formalizing the safety of Java, the Java virtual machine, and Java card
ACM Computing Surveys (CSUR)
A system for predictable component-based software construction
High integrity software
Formal verification of replication on a distributed data space architecture
Proceedings of the 2002 ACM symposium on Applied computing
Automatic generation of program specifications
ISSTA '02 Proceedings of the 2002 ACM SIGSOFT international symposium on Software testing and analysis
A Timed Verification of the IEEE 1394 Leader Election Protocol
Formal Methods in System Design
Model Checking Complete Requirements Specifications Using Abstraction
Automated Software Engineering
Partial Functions in a Total Setting
Journal of Automated Reasoning
Modular Verification of SRT Division
Formal Methods in System Design
Introduction to the Special Section
IEEE Transactions on Software Engineering
Coalgebras and monads in the semantics of java
Theoretical Computer Science - Special issue: Algebraic methodology and software technology
Design and Verification of Distributed Recovery Blocks with CSP
Formal Methods in System Design
Java Program Verification via a Hoare Logic with Abrupt Termination
FASE '00 Proceedings of the Third Internationsl Conference on Fundamental Approaches to Software Engineering: Held as Part of the European Joint Conferences on the Theory and Practice of Software, ETAPS 2000
Compositional Verification of Secure Applet Interactions
FASE '02 Proceedings of the 5th International Conference on Fundamental Approaches to Software Engineering
A Formalisation of Java's Exception Mechanism
ESOP '01 Proceedings of the 10th European Symposium on Programming Languages and Systems
An Abductive Approach for Analysing Event-Based Requirements Specifications
ICLP '02 Proceedings of the 18th International Conference on Logic Programming
Restructuring Requirements Specifications For Managing Inconsistency And Change: A Case Study
ICRE '98 Proceedings of the 3rd International Conference on Requirements Engineering: Putting Requirements Engineering to Practice
Analyzing Mode Confusion via Model Checking
Proceedings of the 5th and 6th International SPIN Workshops on Theoretical and Practical Aspects of SPIN Model Checking
Divide, Abstract, and Model-Check
Proceedings of the 5th and 6th International SPIN Workshops on Theoretical and Practical Aspects of SPIN Model Checking
A Monad for Basic Java Semantics
AMAST '00 Proceedings of the 8th International Conference on Algebraic Methodology and Software Technology
Design Templates for Collective Behavior
ECOOP '00 Proceedings of the 14th European Conference on Object-Oriented Programming
Formalization and Proof of a Solution to the PCI 2.1 Bus Transaction Ordering Problem
FMCAD '98 Proceedings of the Second International Conference on Formal Methods in Computer-Aided Design
On Proving Safety Properties by Integrating Static Analysis, Theorem Proving and Abstraction
TACAS '99 Proceedings of the 5th International Conference on Tools and Algorithms for Construction and Analysis of Systems
TACAS '99 Proceedings of the 5th International Conference on Tools and Algorithms for Construction and Analysis of Systems
Salsa: Combining Constraint Solvers with BDDs for Automatic Invariant Checking
TACAS '00 Proceedings of the 6th International Conference on Tools and Algorithms for Construction and Analysis of Systems: Held as Part of the European Joint Conferences on the Theory and Practice of Software, ETAPS 2000
Theorem Proving for Verification
MOVEP '00 Proceedings of the 4th Summer School on Modeling and Verification of Parallel Processes
TPHOLs '99 Proceedings of the 12th International Conference on Theorem Proving in Higher Order Logics
Inheritance in Higher Order Logic: Modeling and Reasoning
TPHOLs '00 Proceedings of the 13th International Conference on Theorem Proving in Higher Order Logics
Using Decision Procedures with a Higher-Order Logic
TPHOLs '01 Proceedings of the 14th International Conference on Theorem Proving in Higher Order Logics
Building Formal Requirements Models for Reliable Software
Ada Europe '01 Proceedings of the 6th Ade-Europe International Conference Leuven on Reliable Software Technologies
Exercises in Coalgebraic Specification
Revised Lectures from the International Summer School and Workshop on Algebraic and Coalgebraic Methods in the Mathematics of Program Construction
The Need for Compositional Proof Systems: A Survey
COMPOS'97 Revised Lectures from the International Symposium on Compositionality: The Significant Difference
Compositional Verification of Real-Time Applications
COMPOS'97 Revised Lectures from the International Symposium on Compositionality: The Significant Difference
A Proof of Correctness of a Processor Implementing Tomasulo's Algorithm without a Reorder Buffer
CHARME '99 Proceedings of the 10th IFIP WG 10.5 Advanced Research Working Conference on Correct Hardware Design and Verification Methods
An Overview of Formal Verification for the Time-Triggered Architecture
FTRTFT '02 Proceedings of the 7th International Symposium on Formal Techniques in Real-Time and Fault-Tolerant Systems: Co-sponsored by IFIP WG 2.2
Formal Specification and Verification of JavaCard's Application Identifier Class
JavaCard '00 Revised Papers from the First International Workshop on Java on Smart Cards: Programming and Security
Software Development in PVS Using Generic Development Steps
Selected Papers from the International Seminar on Generic Programming
Faithful Translations among Models and Specifications
FME '01 Proceedings of the International Symposium of Formal Methods Europe on Formal Methods for Increasing Software Productivity
FME '02 Proceedings of the International Symposium of Formal Methods Europe on Formal Methods - Getting IT Right
Verification Using Test Generation Techniques
FME '02 Proceedings of the International Symposium of Formal Methods Europe on Formal Methods - Getting IT Right
Verification of Infinite-State Systems by Combining Abstraction and Reachability Analysis
CAV '99 Proceedings of the 11th International Conference on Computer Aided Verification
Mechanizing Proofs of Computation Equivalence
CAV '99 Proceedings of the 11th International Conference on Computer Aided Verification
Microarchitecture Verification by Compositional Model Checking
CAV '01 Proceedings of the 13th International Conference on Computer Aided Verification
Formalizing a JVML Verifier for Initialization in a Theorem Prover
CAV '01 Proceedings of the 13th International Conference on Computer Aided Verification
An Approach to Symbolic Test Generation
IFM '00 Proceedings of the Second International Conference on Integrated Formal Methods
Combining Graphical and Formal Development of Open Distributed Systems
IFM '02 Proceedings of the Third International Conference on Integrated Formal Methods
Verification of Java's AbstractCollection Class: A Case Study
MPC '02 Proceedings of the 6th International Conference on Mathematics of Program Construction
A Mechanically Verified Compiling Specification for a Lisp Compiler
FST TCS '01 Proceedings of the 21st Conference on Foundations of Software Technology and Theoretical Computer Science
FM-Trends 98 Proceedings of the International Workshop on Current Trends in Applied Formal Method: Applied Formal Methods
A Framework for Translating Models and Specifications
IFM '02 Proceedings of the Third International Conference on Integrated Formal Methods
Exercises in coalgebraic specification
Algebraic and coalgebraic methods in the mathematics of program construction
Theorem proving for verification
Modeling and verification of parallel processes
Automated verification using deduction, exploration, and abstraction
Programming methodology
A compositional formalism for object viewpoints
FMOODS '02 Proceedings of the IFIP TC6/WG6.1 Fifth International Conference on Formal Methods for Open Object-Based Distributed Systems V
Visualization of Formal Specifications
APSEC '99 Proceedings of the Sixth Asia Pacific Software Engineering Conference
WIFT '95 Proceedings of the 1st Workshop on Industrial-Strength Formal Specification Techniques
Formal Methods For Developing High Assurance Computer Systems: Working Group Report
WIFT '98 Proceedings of the Second IEEE Workshop on Industrial Strength Formal Specification Techniques
The Industrial Use of Formal Methods: Was Darwin Right?
WIFT '98 Proceedings of the Second IEEE Workshop on Industrial Strength Formal Specification Techniques
Systematic Formal Verification of Interpreters
ICFEM '97 Proceedings of the 1st International Conference on Formal Engineering Methods
Requirements interaction management
ACM Computing Surveys (CSUR)
A Mechanized Proof Environment for the Convenient Computations Proof Method
Formal Methods in System Design
Formal Verification of a Complex Pipelined Processor
Formal Methods in System Design
A Practical Methodology for Verifying Pipelined Microarchitectures
IEEE Design & Test
An approach to formal verication of real time concurrent Ada programs
IRTAW '03 Proceedings of the 12th international workshop on Real-time Ada
The temporal logic of coalgebras via Galois algebras
Mathematical Structures in Computer Science
Mathematical Structures in Computer Science
Using Hammock Graphs to Structure Programs
IEEE Transactions on Software Engineering
A theory of normed simulations
ACM Transactions on Computational Logic (TOCL)
Enhancing Structured Review with Model-Based Verification
IEEE Transactions on Software Engineering
Invariants come from templates
Proceedings of the 10th international workshop on Formal methods for industrial critical systems
Canonization for disjoint unions of theories
Information and Computation - Special issue: 19th international conference on automated deduction (CADE-19)
Preliminary design of JML: a behavioral interface specification language for java
ACM SIGSOFT Software Engineering Notes
A verification methodology for concurrent software with synchronous communication
Formal methods and models for system design
Towards integrated verification of timed transition models
Fundamenta Informaticae - Special issue on application of concurrency to system design (ACSD'04)
Structured formal development in Isabelle
Nordic Journal of Computing - Selected papers of the 17th nordic workshop on programming theory (NWPT'05), October 19-21, 2005
Roadmap for enhanced languages and methods to aid verification
Proceedings of the 5th international conference on Generative programming and component engineering
Proceedings of the 13th ACM conference on Computer and communications security
On-Chip Communication Architectures: System on Chip Interconnect
On-Chip Communication Architectures: System on Chip Interconnect
A Logic Framework for Verification of Timed Algorithms
Fundamenta Informaticae - Continuous Time Paradigms in Logic and Automata
IEEE Transactions on Software Engineering
Fast, automatic checking of security protocols
WOEC'96 Proceedings of the 2nd conference on Proceedings of the Second USENIX Workshop on Electronic Commerce - Volume 2
An IDE for software development using tabular expressions
CASCON '07 Proceedings of the 2007 conference of the center for advanced studies on Collaborative research
Early Prototyping of Wireless Sensor Network Algorithms in PVS
SAFECOMP '08 Proceedings of the 27th international conference on Computer Safety, Reliability, and Security
ESORICS '08 Proceedings of the 13th European Symposium on Research in Computer Security: Computer Security
Human-Computer Interaction
Trust and Automation in Verification Tools
ATVA '08 Proceedings of the 6th International Symposium on Automated Technology for Verification and Analysis
Composing Modal Properties of Programs with Procedures
Electronic Notes in Theoretical Computer Science (ENTCS)
Temporal Verification of Fault-Tolerant Protocols
Methods, Models and Tools for Fault Tolerance
Automated deduction for verification
ACM Computing Surveys (CSUR)
Case study on distributed and fault tolerant system modeling based on timed automata
Journal of Systems and Software
On the Role of Formal Methods in Software Certification: An Experience Report
Electronic Notes in Theoretical Computer Science (ENTCS)
Semantics and logic for security protocols
Journal of Computer Security
Analysis of Wireless Sensor Network Protocols in Dynamic Scenarios
SSS '09 Proceedings of the 11th International Symposium on Stabilization, Safety, and Security of Distributed Systems
Canonization for disjoint unions of theories
Information and Computation - Special issue: 19th international conference on automated deduction (CADE-19)
Pipa: a behavioral interface specification language for aspectJ
FASE'03 Proceedings of the 6th international conference on Fundamental approaches to software engineering
Applicative modelling with RAISE
Domain modeling and the duration calculus
Time for verification
Formal analysis of the priority ceiling protocol
RTSS'10 Proceedings of the 21st IEEE conference on Real-time systems symposium
Theorem prover approach to semistructured data design
Formal Methods in System Design
Rewriting, inference, and proof
WRLA'10 Proceedings of the 8th international conference on Rewriting logic and its applications
A mechanical verification of the stressing algorithm for negative cost cycle detection in networks
Science of Computer Programming
Bisimulation conversion and verification procedure for goal-based control systems
Formal Methods in System Design
The Mechanical Verification of a DPLL-Based Satisfiability Solver
Electronic Notes in Theoretical Computer Science (ENTCS)
SimCheck: a contract type system for Simulink
Innovations in Systems and Software Engineering
Software certification experience in the canadian nuclear industry: lessons for the future
EMSOFT '11 Proceedings of the ninth ACM international conference on Embedded software
Mechanical verification of automatic synthesis of fault-tolerant programs
LOPSTR'04 Proceedings of the 14th international conference on Logic Based Program Synthesis and Transformation
Advanced Lectures on Software Engineering
Behavioural preservation in fault tolerant patterns
SBMF'11 Proceedings of the 14th Brazilian conference on Formal Methods: foundations and Applications
A type theoretic framework for formal metamodelling
Proceedings of the 2004 international conference on Architecting Systems with Trustworthy Components
Probabilistic compositional reasoning for guaranteeing fault tolerance properties
OPODIS'11 Proceedings of the 15th international conference on Principles of Distributed Systems
Verification of an optimized fault-tolerant clock synchronization circuit
DCC'96 Proceedings of the 3rd international conference on Designing Correct Circuits
Towards Integrated Verification of Timed Transition Models
Fundamenta Informaticae - APPLICATION OF CONCURRENCY TO SYSTEM DESIGN (ACSD'04)
A Logic Framework for Verification of Timed Algorithms
Fundamenta Informaticae - Continuous Time Paradigms in Logic and Automata
Automated reasoning, fast and slow
CADE'13 Proceedings of the 24th international conference on Automated Deduction
Hi-index | 0.00 |
PVS is the most recent in a series of verification systems developed at SRI. Its design was strongly influenced, and later refined, by our experiences in developing formal specifications and mechanically checked verifications for the fault-tolerant architecture, algorithms, and implementations of a model 驴reliable computing platform驴 (RCP) for life-critical digital flight-control applications, and by a collaborative project to formally verify the design of a commercial avionics processor called AAMP5. Several of the formal specifications and verifications performed in support of RCP and AAMP5 are individually of considerable complexity and difficulty. But in order to contribute to the overall goal, it has often been necessary to modify completed verifications to accommodate changed assumptions or requirements, and people other than the original developer have often needed to understand, review, build on, modify, or extract part of an intricate verification. In this paper, we outline the verifications performed, present the lessons learned, and describe some of the design decisions taken in PVS to better support these large, difficult, iterative, and collaborative verifications.