TAILIEUCHUNG - Lecture Formal methods in software engineering - Lecture 9: Formal methods

After studying this chapter you will be able to understand: Definition, myths, history, types of formal methods, use of mathematics, design errors, effects of design errors, the promise of formal methods, general concerns, weaknesses in formal methods, success of formal methods. | Formal Methods in SE Qaisar Javaid Assistant Professor Lecture 09 What the user asked for How the analyst perceived it How the system was designed As the programmer wrote it What the user really wanted How it actually works Contents What are Formal Methods? Definition Myths History Types of formal methods Use of mathematics Do we really need Formal Methods? Design errors Effects of design errors The promise of formal methods The Formal Methods Debate General concerns Weaknesses in formal methods Success of formal methods What Are Formal Methods Formal methods refers to a variety of mathematical modeling techniques that are applicable to computer system design. They include activities such as system specification, specification analysis and proof, transformational development, and program verification. Definition “ Formal methods are mathematical approaches to software and system development which support the rigorous specification, design and verification of computer systems.” [Fme04] “[they] exploit the power of mathematical notation and mathematical proofs. “ [Gla04] The phrase "mathematically rigorous" means that the specifications used in formal methods are well-formed statements in a mathematical logic and that the formal verifications are rigorous deductions in that logic (. each step follows from a rule of inference and hence can be checked by a mechanical process.) Seven Myths of Formal Methods Formal methods can guarantee that software is perfect. Work by proving that programs are correct. Only highly critical systems benefit from their use. They involve complex math. They increase the cost of development. They are incomprehensible to clients. Nobody uses them for real projects. History Formal specifications have been in use since the early days of computing. 1940's: Turing annotated the properties of program states to simplify the logical analysis of sequential programs. 1960's: Floyd, Hoare and Naur recommended using axiomatic techniques to

Đã phát hiện trình chặn quảng cáo AdBlock
Trang web này phụ thuộc vào doanh thu từ số lần hiển thị quảng cáo để tồn tại. Vui lòng tắt trình chặn quảng cáo của bạn hoặc tạm dừng tính năng chặn quảng cáo cho trang web này.