Automatic verification of finite-state concurrent systems using temporal logic specifications
ACM Transactions on Programming Languages and Systems (TOPLAS)
Parallel program design: a foundation
Parallel program design: a foundation
Design and validation of computer protocols
Design and validation of computer protocols
The temporal logic of reactive and concurrent systems
The temporal logic of reactive and concurrent systems
Model checking and abstraction
POPL '92 Proceedings of the 19th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
The ESTEREL synchronous programming language: design, semantics, implementation
Science of Computer Programming
Targeting safety-related errors during software requirements analysis
SIGSOFT '93 Proceedings of the 1st ACM SIGSOFT symposium on Foundations of software engineering
Computer-aided verification of coordinating processes: the automata-theoretic approach
Computer-aided verification of coordinating processes: the automata-theoretic approach
Modechart: A Specification Language for Real-Time Systems
IEEE Transactions on Software Engineering
Property preserving abstractions for the verification of concurrent systems
Formal Methods in System Design - Special issue on computer-aided verification (based on CAV'92 workshop)
Functional documents for computer systems
Science of Computer Programming
A logic-model semantics for SCR software requirements
ISSTA '96 Proceedings of the 1996 ACM SIGSOFT international symposium on Software testing and analysis
IEEE Spectrum
Completeness and Consistency in Hierarchical State-Based Requirements
IEEE Transactions on Software Engineering - Special issue: best papers of the 17th International Conference on Software Engineering (ICSE-17)
Automated consistency checking of requirements specifications
ACM Transactions on Software Engineering and Methodology (TOSEM)
Faster checking of software specifications by eliminating isomorphs
POPL '96 Proceedings of the 23rd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Model checking large software specifications
SIGSOFT '96 Proceedings of the 4th ACM SIGSOFT symposium on Foundations of software engineering
Abstract interpretation of reactive systems
ACM Transactions on Programming Languages and Systems (TOPLAS)
IEEE Transactions on Software Engineering - Special issue on formal methods in software practice
Formal verification in a commercial setting
DAC '97 Proceedings of the 34th annual Design Automation Conference
Experiences Using Lightweight Formal Methods for Requirements Modeling
IEEE Transactions on Software Engineering
Automatic generation of state invariants from requirements specifications
SIGSOFT '98/FSE-6 Proceedings of the 6th ACM SIGSOFT international symposium on Foundations of software engineering
Formal methods for verification and validation of partial specifications: a case study
Journal of Systems and Software - Special issue on formal methods technology transfer
Specifying the mode logic of a flight guidance system in CoRE and SCR
FMSP '98 Proceedings of the second workshop on Formal methods in software practice
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
POPL '77 Proceedings of the 4th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
Symbolic Model Checking
Software Engineering Economics
Software Engineering Economics
Model Checking Complete Requirements Specifications Using Abstraction
Automated Software Engineering
The Core Method for Real-Time Requirements
IEEE Software
State-Based Model Checking of Event-Driven System Requirements
IEEE Transactions on Software Engineering
Model Checking Large Software Specifications
IEEE Transactions on Software Engineering
Protocol Verification as a Hardware Design Aid
ICCD '92 Proceedings of the 1991 IEEE International Conference on Computer Design on VLSI in Computer & Processors
On the Need for Practical Formal Methods
FTRTFT '98 Proceedings of the 5th International Symposium on Formal Techniques in Real-Time and Fault-Tolerant Systems
Experiments in Theorem Proving and Model Checking for Protocol Verification
FME '96 Proceedings of the Third International Symposium of Formal Methods Europe on Industrial Benefit and Advances in Formal Methods
SCR*: A Toolset for Specifying and Analyzing Software Requirements
CAV '98 Proceedings of the 10th International Conference on Computer Aided Verification
Using Partial Orders to Improve Automatic Verification Methods
CAV '90 Proceedings of the 2nd International Workshop on Computer Aided Verification
A Tool for Symbolic Program Verification and Abstration
CAV '93 Proceedings of the 5th International Conference on Computer Aided Verification
Verification of a Distributed Cache Memory by Using Abstractions
CAV '94 Proceedings of the 6th International Conference on Computer Aided Verification
Automatic generation of state invariants from requirements specifications
SIGSOFT '98/FSE-6 Proceedings of the 6th ACM SIGSOFT international symposium on Foundations of software engineering
Using model checking to generate tests from requirements specifications
ESEC/FSE-7 Proceedings of the 7th European software engineering conference held jointly with the 7th ACM SIGSOFT international symposium on Foundations of software engineering
Formal specification: a roadmap
Proceedings of the Conference on The Future of Software Engineering
Software engineering for safety: a roadmap
Proceedings of the Conference on The Future of Software Engineering
Requirements engineering in the year 00: a research perspective
Proceedings of the 22nd international conference on Software engineering
Action Language: a specification language for model checking reactive systems
Proceedings of the 22nd international conference on Software engineering
Using TAME to prove invariants of automata models: Two case studies
FMSP '00 Proceedings of the third workshop on Formal methods in software practice
A Flexible, Extensible Simulation Environment for Testing Real-Time Specifications
IEEE Transactions on Computers
Using SPIN for feature interaction analysis—a case study
SPIN '01 Proceedings of the 8th international SPIN workshop on Model checking of software
2nd international workshop on living with inconsistency
ICSE '01 Proceedings of the 23rd International Conference on Software Engineering
Using SCR to specify requirements of the BART advanced automated train control system
High integrity software
Automatic abstraction for model checking software systems with interrelated numeric constraints
Proceedings of the 8th European software engineering conference held jointly with 9th ACM SIGSOFT international symposium on Foundations of software engineering
2nd international workshop on living with inconsistency (IWLWI01)
ACM SIGSOFT Software Engineering Notes
TAME: Using PVS strategies for special-purpose theorem proving
Annals of Mathematics and Artificial Intelligence
Model Checking Complete Requirements Specifications Using Abstraction
Automated Software Engineering
Proving Invariants of I/O Automata with TAME
Automated Software Engineering
Program Synthesis from Formal Requirements Specifications Using APTS
Higher-Order and Symbolic Computation
An Abductive Approach for Analysing Event-Based Requirements Specifications
ICLP '02 Proceedings of the 18th International Conference on Logic Programming
Analysis of Agent-Based Systems Using Decision Procedures
FAABS '00 Proceedings of the First International Workshop on Formal Approaches to Agent-Based Systems-Revised Papers
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
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
Applying Practical Formal Methods to the Specification and Analysis of Security Properties
MMM-ACNS '01 Proceedings of the International Workshop on Information Assurance in Computer Networks: Methods, Models, and Architectures for Network Security
Towards a Computer-Aided Design of Reactive Systems
Computer Aided Systems Theory - EUROCAST 2001-Revised Papers
Safety Analysis Techniques for Validating Formal Models During Verification
SAFECOMP '99 Proceedings of the 18th International Conference on Computer Computer Safety, Reliability and Security
Proceedings of the 25th International Conference on Software Engineering
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
Using the SCR* Toolset to Specify Software Requirements
WIFT '98 Proceedings of the Second IEEE Workshop on Industrial Strength Formal Specification Techniques
Requirements interaction management
ACM Computing Surveys (CSUR)
A strategy for efficiently verifying requirements
Proceedings of the 9th European software engineering conference held jointly with 11th ACM SIGSOFT international symposium on Foundations of software engineering
Heuristic-Based Model Refinement for FLAVERS
Proceedings of the 26th International Conference on Software Engineering
Testing Software Requirements with Z and Statecharts Applied to an Embedded Control Systemt0t1
Software Quality Control
Test-Suite Reduction for Model Based Tests: Effects on Test Quality and Implications for Testing
Proceedings of the 19th IEEE international conference on Automated software engineering
Towards the hierarchical verification of reactive systems
Theoretical Computer Science - Logic, semantics and theory of programming
Object Analysis Patterns for Embedded Systems
IEEE Transactions on Software Engineering
Proceedings of the 2005 ACM symposium on Applied computing
Verifying Time Partitioning in the DEOS Scheduling Kernel
Formal Methods in System Design
Generating optimized code from SCR specifications
Proceedings of the 2006 ACM SIGPLAN/SIGBED conference on Language, compilers, and tool support for embedded systems
Feature interaction detection by pairwise analysis of LTL properties: a case study
Formal Methods in System Design
From NuSMV to SPIN: Experiences with model checking flight guidance systems
Formal Methods in System Design
On the effect of test-suite reduction on automatically generated model-based tests
Automated Software Engineering
Finding bugs efficiently with a SAT solver
Proceedings of the the 6th joint meeting of the European software engineering conference and the ACM SIGSOFT symposium on The foundations of software engineering
A Case for Specification Validation
Verified Software: Theories, Tools, Experiments
Abstracting and Verifying Strategy-Proofness for Auction Mechanisms
Declarative Agent Languages and Technologies VI
FPTC: Automated Safety Analysis for Domain-Specific Languages
Models in Software Engineering
Model-Based Development of Medical Devices
SAFECOMP '09 Proceedings of the 28th International Conference on Computer Safety, Reliability, and Security
Journal of Artificial Intelligence Research
An Incremental Approach to Scope-Bounded Checking Using a Lightweight Formal Method
FM '09 Proceedings of the 2nd World Congress on Formal Methods
Managing Complexity in Software Development with Formally Based Tools
Electronic Notes in Theoretical Computer Science (ENTCS)
Model Checking Flight Guidance Systems: from Synchrony to Asynchrony
Electronic Notes in Theoretical Computer Science (ENTCS)
Automatic model driven animation of SCR specifications
FASE'03 Proceedings of the 6th international conference on Fundamental approaches to software engineering
A component-based approach to verification and validation of formal software models
Architecting dependable systems IV
Generalizable safety annotations for specification of failure patterns
Software—Practice & Experience
Capture and reuse of composable failure patterns
International Journal of Critical Computer-Based Systems
ACM SIGSOFT Software Engineering Notes
On software certification: we need product-focused approaches
Monterey'08 Proceedings of the 15th Monterey conference on Foundations of Computer Software: future Trends and Techniques for Development
IFM'05 Proceedings of the 5th international conference on Integrated Formal Methods
Behavioral interface specification languages
ACM Computing Surveys (CSUR)
Defining and model checking abstractions of complex railway models using CSP||B
HVC'12 Proceedings of the 8th international conference on Hardware and Software: verification and testing
Hi-index | 0.01 |
Exposing inconsistencies can uncover many defects in software specifications. One approach to exposing inconsistencies analyzes two redundant specifications, one operational and the other property-based, and reports discrepancies. This paper describes a "practical" formal method, based on this approach and the SCR (Software Cost Reduction) tabular notation, that can expose inconsistencies in software requirements specifications. Because users of the method do not need advanced mathematical training or theorem proving skills, most software developers should be able to apply the method without extraordinary effort. This paper also describes an application of the method which exposed a safety violation in the contractor-produced software requirements specification of a sizable, safety-critical control system. Because the enormous state space of specifications of practical software usually renders direct analysis impractical, a common approach is to apply abstraction to the specification. To reduce the state space of the control system specification, two "pushbutton" abstraction methods were applied, one which automatically removes irrelevant variables and a second which replaces the large, possibly infinite, type sets of certain variables with smaller type sets. Analyzing the reduced specification with the model checker Spin uncovered a possible safety violation. Simulation demonstrated that the safety violation was not spurious but an actual defect in the original specification.