Software development using formal methods is believed to be a process of successive refinements from abstract specifications into concrete specifications. Refinement rules may be used to demonstrate that the concrete specifications satisfy the corresponding abstract ones. However, there are serious limitations of the refinement rules in both theory and in practical applications. This paper first uses examples to demonstrate the limitations, and then proposes a new software development model for improvement based on our experience. The limitations include that (1) the refinement rules are not sufficient to guarantee that a refined specification (or concrete specification) satisfy the user's real requirements if it satisfies the abstract...
We advocate an automated refinement approach to developing programs and their proofs. The approach i...
Morgan's approach to program development is a refinement calculus: using this method, programs are d...
The necessity of using formal methods in software engineering is now widely recognized [6, 2], in pa...
Abstract. Formal methods can help to increase the correctness and trustworthiness of the software de...
In software engineering, formal methods allow the design, modelling and verification of hardware and...
The discipline of formal methods is concerned with the use of mathematical techniques to capture pre...
The challenge to overcome the software crisis more than five decades ago and, although has been sign...
Refinement is one of the cornerstones of a formal approach to software engineering. Refinement is al...
One of the steps making it possible to increase the quality and the reliability of the software exec...
We exhibit the benefits of using formal methods for constructing and documenting component software....
Formal Methods could provide mathematical models for specifying and verifying designs- hardware or s...
This thesis explores barriers to using formal specification for software development in industry. Em...
Luckily, is getting strength the view that formal methods are useful tools within the context of an ...
An integration of traditional verification techniques and formal specifications in software engineer...
One of the main hurdles to the general adoption of formal program development techniques is a lack o...
We advocate an automated refinement approach to developing programs and their proofs. The approach i...
Morgan's approach to program development is a refinement calculus: using this method, programs are d...
The necessity of using formal methods in software engineering is now widely recognized [6, 2], in pa...
Abstract. Formal methods can help to increase the correctness and trustworthiness of the software de...
In software engineering, formal methods allow the design, modelling and verification of hardware and...
The discipline of formal methods is concerned with the use of mathematical techniques to capture pre...
The challenge to overcome the software crisis more than five decades ago and, although has been sign...
Refinement is one of the cornerstones of a formal approach to software engineering. Refinement is al...
One of the steps making it possible to increase the quality and the reliability of the software exec...
We exhibit the benefits of using formal methods for constructing and documenting component software....
Formal Methods could provide mathematical models for specifying and verifying designs- hardware or s...
This thesis explores barriers to using formal specification for software development in industry. Em...
Luckily, is getting strength the view that formal methods are useful tools within the context of an ...
An integration of traditional verification techniques and formal specifications in software engineer...
One of the main hurdles to the general adoption of formal program development techniques is a lack o...
We advocate an automated refinement approach to developing programs and their proofs. The approach i...
Morgan's approach to program development is a refinement calculus: using this method, programs are d...
The necessity of using formal methods in software engineering is now widely recognized [6, 2], in pa...