This document discusses formal methods in software engineering. It defines formal methods as techniques based on mathematical representation and analysis to produce consistent, complete and correct software specifications. Some key topics covered include formal specification languages, pre and post conditions, formal verification, advantages of formal specification in reducing errors and rework. It also discusses challenges in adopting formal methods like difficulty in scaling to large systems and fitting all problem domains. Examples are provided to illustrate specification of functions using logic symbols and assertions.
Software Requirement Specification is a most important topic asked in exams and for presentations in B.Tech comp. engg. This presentation contains all the important topic and deep knowledge of SRS.It includes definition, scope, role, how to write srs, template and template description. It tells how to build SRS and also includes examples for ease.
Software Requirement Specification is a most important topic asked in exams and for presentations in B.Tech comp. engg. This presentation contains all the important topic and deep knowledge of SRS.It includes definition, scope, role, how to write srs, template and template description. It tells how to build SRS and also includes examples for ease.
This is a detail lecture about software re-engineering. To make software more maintainable. This lecture also give detail about software reverse engineering. When to re-engineer and how to re-engineer software.
This ppt covers the following
A strategic approach to testing
Test strategies for conventional software
Test strategies for object-oriented software
Validation testing
System testing
The art of debugging
This is the most important topic of OOAD named as Object Oriented Testing. It is used to prepare a good software which has no bug in it and it performs very fast. <a href="https://harisjamil.pro">Haris Jamil</a>
#1 formal methods – introduction for software engineeringSharif Omar Salem
formal methods – introduction for software engineering
Part of formal class notes of the module "Formal Methods"
designed for software engineering students of BSc. level.
This is a detail lecture about software re-engineering. To make software more maintainable. This lecture also give detail about software reverse engineering. When to re-engineer and how to re-engineer software.
This ppt covers the following
A strategic approach to testing
Test strategies for conventional software
Test strategies for object-oriented software
Validation testing
System testing
The art of debugging
This is the most important topic of OOAD named as Object Oriented Testing. It is used to prepare a good software which has no bug in it and it performs very fast. <a href="https://harisjamil.pro">Haris Jamil</a>
#1 formal methods – introduction for software engineeringSharif Omar Salem
formal methods – introduction for software engineering
Part of formal class notes of the module "Formal Methods"
designed for software engineering students of BSc. level.
It is one of the Software Engineering topic. It contains the identification of task set, process pattern, advantages of process pattern, elements in process pattern
In this advanced business analysis training session, you will learn Requirement Verification and Validation. Topics covered in this session are:
• Requirements Negotiation And Prioritization
• Requirements Management
• Requirements Traceability
• Requirements Variability and Software/System Product Lines
For more information, click here: https://www.mindsmapped.com/courses/business-analysis/advanced-business-analyst-training/
Algorithmic Toolbox Certificate from Coursera for Aman AdhikariAman Adhikari
Certificate for online non-credit course authorized by University of California, San Diego and Higher School of Economics and offered through Coursera named, "Algorithmic Toolbox" for Aman Adhikari
Palestine last event orientationfvgnh .pptxRaedMohamed3
An EFL lesson about the current events in Palestine. It is intended to be for intermediate students who wish to increase their listening skills through a short lesson in power point.
Francesca Gottschalk - How can education support child empowerment.pptxEduSkills OECD
Francesca Gottschalk from the OECD’s Centre for Educational Research and Innovation presents at the Ask an Expert Webinar: How can education support child empowerment?
Biological screening of herbal drugs: Introduction and Need for
Phyto-Pharmacological Screening, New Strategies for evaluating
Natural Products, In vitro evaluation techniques for Antioxidants, Antimicrobial and Anticancer drugs. In vivo evaluation techniques
for Anti-inflammatory, Antiulcer, Anticancer, Wound healing, Antidiabetic, Hepatoprotective, Cardio protective, Diuretics and
Antifertility, Toxicity studies as per OECD guidelines
Instructions for Submissions thorugh G- Classroom.pptxJheel Barad
This presentation provides a briefing on how to upload submissions and documents in Google Classroom. It was prepared as part of an orientation for new Sainik School in-service teacher trainees. As a training officer, my goal is to ensure that you are comfortable and proficient with this essential tool for managing assignments and fostering student engagement.
June 3, 2024 Anti-Semitism Letter Sent to MIT President Kornbluth and MIT Cor...Levi Shapiro
Letter from the Congress of the United States regarding Anti-Semitism sent June 3rd to MIT President Sally Kornbluth, MIT Corp Chair, Mark Gorenberg
Dear Dr. Kornbluth and Mr. Gorenberg,
The US House of Representatives is deeply concerned by ongoing and pervasive acts of antisemitic
harassment and intimidation at the Massachusetts Institute of Technology (MIT). Failing to act decisively to ensure a safe learning environment for all students would be a grave dereliction of your responsibilities as President of MIT and Chair of the MIT Corporation.
This Congress will not stand idly by and allow an environment hostile to Jewish students to persist. The House believes that your institution is in violation of Title VI of the Civil Rights Act, and the inability or
unwillingness to rectify this violation through action requires accountability.
Postsecondary education is a unique opportunity for students to learn and have their ideas and beliefs challenged. However, universities receiving hundreds of millions of federal funds annually have denied
students that opportunity and have been hijacked to become venues for the promotion of terrorism, antisemitic harassment and intimidation, unlawful encampments, and in some cases, assaults and riots.
The House of Representatives will not countenance the use of federal funds to indoctrinate students into hateful, antisemitic, anti-American supporters of terrorism. Investigations into campus antisemitism by the Committee on Education and the Workforce and the Committee on Ways and Means have been expanded into a Congress-wide probe across all relevant jurisdictions to address this national crisis. The undersigned Committees will conduct oversight into the use of federal funds at MIT and its learning environment under authorities granted to each Committee.
• The Committee on Education and the Workforce has been investigating your institution since December 7, 2023. The Committee has broad jurisdiction over postsecondary education, including its compliance with Title VI of the Civil Rights Act, campus safety concerns over disruptions to the learning environment, and the awarding of federal student aid under the Higher Education Act.
• The Committee on Oversight and Accountability is investigating the sources of funding and other support flowing to groups espousing pro-Hamas propaganda and engaged in antisemitic harassment and intimidation of students. The Committee on Oversight and Accountability is the principal oversight committee of the US House of Representatives and has broad authority to investigate “any matter” at “any time” under House Rule X.
• The Committee on Ways and Means has been investigating several universities since November 15, 2023, when the Committee held a hearing entitled From Ivory Towers to Dark Corners: Investigating the Nexus Between Antisemitism, Tax-Exempt Universities, and Terror Financing. The Committee followed the hearing with letters to those institutions on January 10, 202
Read| The latest issue of The Challenger is here! We are thrilled to announce that our school paper has qualified for the NATIONAL SCHOOLS PRESS CONFERENCE (NSPC) 2024. Thank you for your unwavering support and trust. Dive into the stories that made us stand out!
Synthetic Fiber Construction in lab .pptxPavel ( NSTU)
Synthetic fiber production is a fascinating and complex field that blends chemistry, engineering, and environmental science. By understanding these aspects, students can gain a comprehensive view of synthetic fiber production, its impact on society and the environment, and the potential for future innovations. Synthetic fibers play a crucial role in modern society, impacting various aspects of daily life, industry, and the environment. ynthetic fibers are integral to modern life, offering a range of benefits from cost-effectiveness and versatility to innovative applications and performance characteristics. While they pose environmental challenges, ongoing research and development aim to create more sustainable and eco-friendly alternatives. Understanding the importance of synthetic fibers helps in appreciating their role in the economy, industry, and daily life, while also emphasizing the need for sustainable practices and innovation.
2. Topics include
Formal Methods Concept
Formal Specification
Language
Test plan creation
Test-case generation
Executable and non-
executable specifications
Pre and Post assertions
Formal verification
3. Formal methods
Concept
• Formal specification is part of a more general
collection of techniques that are known as ‘formal
methods’.
• These are all based on mathematical
representation and analysis to produce consistent,
complete, and correct specification of software.
• Formal methods include
– Formal specification
– Specification analysis and proof
– Transformational development
– Program verification
4. Acceptance of Formal
methods
• Formal methods have not become mainstream software
development techniques as was once predicted
– Other software engineering techniques have been
successful at increasing system quality. Hence the need
for formal methods has been reduced
– Market changes have made time-to-market rather than
software with a low error count the key factor. Formal
methods do not reduce time to market
– The scope of formal methods is limited. They are not
well-suited to specifying and analysing user interfaces
and user interaction
– Formal methods are hard to scale up to large systems
5. Use of Formal Methods
• Formal methods have limited practical applicability.
• Their principal benefits are in reducing the number of
errors in systems.
• Formal specification techniques are most applicable
in the development of critical systems and
standards.
• In this area, the use of formal methods is most likely
to be cost-effective.
6. Advantages of Formal
Specification
• It can be studied mathematically.
• Correctness of modules can be proved
• Equivalency can be proved.
• Incomplete definitions and inconsistencies can be
detected, and
• In some cases, it may be produced automatically
from requirement statements.
7. Specification in a Software
Process
• Specification and design are inextricably
intermingled.
• Architectural design is essential to structure a
specification.
• Formal specifications are expressed in a
mathematical notation with precisely defined
vocabulary, syntax ( Syn) and semantics (sem).
• The semantics and syntax of a formal
specification language are very much like any
high level programming language.
10. Use of Formal Specification
• Formal specification involves investing more effort in the
early phases of software development
• This reduces requirements errors as it forces a detailed
analysis of the requirements
• Incompleteness and inconsistencies can be discovered and
resolved
• Hence, savings as much as the amount of rework due to
requirements problems is reduced
11. Development cost of
Formal Specification
Specification
Design and
Implementation
Validation
Specification
Design and
Implementation
Validation
Cost
Without formal
specification
With formal
specification
Formal specification forces an analysis of the system requirements at an
early stage. Correcting errors at this stage is cheaper than modifying a
delivered system
12. Specification Techniques
• Algebraic approach
– The system is specified in terms of its operations and
their relationships.
– Algebraic techniques are suited to interface specification
where the interface is defined as a set of object classes.
• Model-based approach
– The system is specified in terms of a state model that is
constructed using mathematical constructs such as sets
and sequences. Operations are defined by modifications
to the system’s state.
13. Formal Specification
Languages
•A formal Specification Language are based on
mathematical logic and provides for automatic logic
verification.
•A formal specification may be checked for inconsistencies
and contradictions before being coded in a programming
language.
14. Mathematical Logic
Symbol Meaning
∀ For all ( a qualifier)
∃ There exists ( a qualifier)
P Ξ Q P is logically equivalent to Q
~ p Not p
P^q p and q
P v q p or q
P Q If p then q
P Q P implies q
P Q P if and only if q
э Such that
P Q P does not imply q
15. Examples using Logic
Symbols
∀∀ x,y,z x > y^y >z x>z
• Description: For all numeric values x,y and z for
which x is larger than y and y is larger than z, x is
larger than z.
16. Pre and Post
Assertions
• A set of constraints associated with a formula are
called assertions and are used to express
preconditions and post-conditions for a given
tasks.
• The preconditions are normally constraints placed
on the input to a given formula ( task), and post
conditions are constraints placed on the output or
results of the formula ( task).
• The general format for specifying a functional task
using formal specification is to define the
preconditions, the process and the post conditions
within the syntax and semantics of formal
language being used.
17. Example of formal
specification
• Example 1: Suppose M, N and q are integer values. The
task is to compute N/M only if N is divisible by M.
• Definition:
{ ∃ q э N = q x M } Precondition
Program to compute N/M
{ Output q = N/M } Post-condition
Description: These equations mean that if for integer values
of N and M there exists an integer value q such that N is
equal to q times M; then the output of the program should
be the quotient of N divided by M.
18. Example of formal
specification
• Example 2: The following is a specification for a function
that must read two numbers and report the larger of the
two numbers.
• Definition:
{ True } Precondition
Program to read x and y
{ (Output = x) ^ (x>y) V ( Output = y) ^ (y>x) } Post-condition
• Description: There is no precondition. That is, the program
should work for any pair of ordered values. The post
condition defines the output to be x if x > y or to be y if y>
x.
19. Example of formal
specification
• Example 3: The following are the precondition and post-
condition for a function that is meat to sort an array of
positive integers.
• Definition:
{ n>0, ∀i (0<I ≤n) ( a[i] > 0 } Precondition
Program to soft array a[1,…n]
{∀I (0<i<n) a[i] ≤ a[i+1]} Post-condition
Description: These equations mean that before the task is
performed we have an array of positive integers, after the
task is performed we have the same array of positive
integers, and the content of the array is in ascending
order.
20. Behavioural
Specification
• Algebraic specification can be cumbersome when
the object operations are not independent of the
object state
• Model-based specification exposes the system
state and defines the operations in terms of
changes to that state
• The Z notation is a mature technique for model-
based specification. It combines formal and
informal description and uses graphical
highlighting when presenting specifications
21. References
From software engineering, A practitioner’s approach by Roger S.
Pressman
– Chapter 25: Formal Methods
• Basic concepts, deficiencies of Less formal approaches,
• Formal methods concept, Mathematical preliminaries
• Formal specification languages
• Summary of Z Notation.
From Software Engineering, Ian Sommerville
– Part5: Verification and Validation
• Chapter 9: Formal Specification
• Chapter 21: Critical System Validation
From Software Engineering Fundamentals by Ali Behforooz and F.J.
Hudson
- Chapter 5: Software Specification Tools