Statecharts: A visual formalism for complex systems
Science of Computer Programming
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)
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 Abstraction and Model Checking to Detect Safety Violations in Requirements Specifications
IEEE Transactions on Software Engineering
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
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
The SLAM project: debugging system software via static analysis
POPL '02 Proceedings of the 29th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Safer C: Developing Software for in High-Integrity and Safety-Critical Systems
Safer C: Developing Software for in High-Integrity and Safety-Critical Systems
TAME: Using PVS strategies for special-purpose theorem proving
Annals of Mathematics and Artificial Intelligence
The Core Method for Real-Time Requirements
IEEE Software
Model-Checking for Validation of a Fault Protection System
HASE '01 The 6th IEEE International Symposium on High-Assurance Systems Engineering: Special Topic: Impact of Networking
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
SCR*: A Toolset for Specifying and Analyzing Software Requirements
CAV '98 Proceedings of the 10th International Conference on Computer Aided Verification
Computing Abstractions of Infinite State Systems Compositionally and Automatically
CAV '98 Proceedings of the 10th International Conference on Computer Aided Verification
A Toolset for Message Sequence Charts
CAV '98 Proceedings of the 10th International Conference on Computer Aided Verification
SCR: A Practical Approach to Building a High Assurance COMSEC Syste
ACSAC '99 Proceedings of the 15th Annual Computer Security Applications Conference
Design and verification of secure systems
SOSP '81 Proceedings of the eighth ACM symposium on Operating systems principles
An Algorithm for Strengthening State Invariants Generated from Requirements Specifications
RE '01 Proceedings of the Fifth IEEE International Symposium on Requirements Engineering
LTSA-MSC: tool support for behaviour model elaboration using implied scenarios
TACAS'03 Proceedings of the 9th international conference on Tools and algorithms for the construction and analysis of systems
Modelling Component Behaviour with Concurrent Automata
Electronic Notes in Theoretical Computer Science (ENTCS)
Analyzing data flow in trustworthy electronic payment systems using event-b
ICDEM'10 Proceedings of the Second international conference on Data Engineering and Management
Hi-index | 0.00 |
Over the past two decades, formal methods researchers have produced a number of powerful software tools designed to detect errors in, and to verify properties of, hardware designs, software systems, and software system artifacts. Mostly used in the past to debug hardware designs, in future years, these tools should help developers improve the quality of software systems. They should be especially useful in developing high assurance software systems, where compelling evidence is required that the system satisfies critical properties, such as safety and security. This paper describes the different roles that formally based software tools can play in improving the correctness of software and software artifacts. Such tools can help developers manage complexity by automatically exposing certain classes of software errors and by producing evidence (e.g., mechanically checked proofs, results of executing automatically generated test cases, etc.) that a software system satisfies its requirements. In addition, the tools allow practitioners to focus on development tasks best performed by people-e.g., obtaining and validating requirements and constructing a high-quality requirements specification.