Thanks to visit codestin.com
Credit goes to www.scribd.com

0% found this document useful (0 votes)
18 views6 pages

Formal Methods Study Guide

Uploaded by

clevensamwel
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
18 views6 pages

Formal Methods Study Guide

Uploaded by

clevensamwel
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 6

MBEYA UNIVERSITY OF SCIENCE AND TECHNOLOGY

(MUST)

COLLEGE OF INFORMATION AND COMMUNICATION TECHNOLOGY

DEPARTMENT OF COMPUTER SCIENCE & ENGINEERING

STUDY GUIDE

BACHELOR OF COMPUTER ENGINEERING

MODULE: INTRODUCTION TO FORMAL METHODS

CODE: CS 8209

ACADEMIC YEAR: 2024/2025

SEMESTER: II

QUALIFICATION: UQF 8

ASSISTANT LECTURER: NEEMA RAJABU


INTRODUCTION:

This study guide gives a brief explanation on how the module of Introduction to
Formal Methods will be conducted and assessed in a semester.

1. ORGANISATIONNAL COMPONENT:
The module will be conducted in a semester bearing the following essential sub-
components

1.1. AIM OF THE MODULE:


The aim of this course is to assist Computer Science students with the intellectual
tasks of designing, specifying, and building software and hardware. Elements of that
work include using formal logic to write specifications and prove that programs and
processes implement them.

1.2. TREATMENT:
The module will be conducted through lectures. To facilitate this, a PowerPoint
presentation will be used.

1.3. CONTACTS
Office location COICT offices room 01
Lecture room As per Time Table
Consultation Hours Friday 9:00 am to 11:00 am
Telephone Number 0769129676
Email address [email protected]

1.4. REFERENCES:
The following are some of the textbooks to be used. However, Journals when the
need rise will be used as well.

1.4.1 TEXTBOOKS
1.Modern Formal Methods and Applications, Hossam A. Gabbar, Springer-Verlag
2006.

2.Formal Software Development: From VDM to Java, Charatan, Quentin,


andAaron Kans. Palgrave Macmillan, 2003.

3.Understanding Z: a Specification Language and its Formal Semantics. J.


M.Spivey. 1988. Cambridge University Press, New York, NY, USA.

4. Principles of Model Checking by Christel Baier and Joost-Pieter Katoen - This


book provides a comprehensive introduction to model checking, a key formal
verification technique used in software and hardware design.
5. Software Abstractions: Logic, Language, and Analysis by Daniel Jackson - This
book covers formal methods from a software engineering perspective, focusing on
formal specification languages and their applications in software development.

6. Formal Methods for Software Specification and Analysis: An Overview by Marco


Bernardo and Paolo Ciancarini - This book offers an overview of formal methods
techniques and their applications in software specification, analysis, and
verification.

7. Introduction to the Theory of Computation by Michael Sipser - This book covers


the theoretical foundations of computer science, including formal languages,
automata theory, and computational complexity, which are essential for
understanding formal methods.

8. Practical Formal Software Engineering: Wanting the Software You Get by Bruce
W. Watson - This book provides practical guidance on applying formal methods in
software engineering, focusing on real-world examples and case studies.

Websites:

1. Formal Methods Europe (FME): https://www.fmeurope.org/


2. Formal Methods Subreddit:
https://www.reddit.com/r/formalmethods/?rdt=37728

1.5 ASSESSMENT
The mode of assessment will be based on tests, quizzes, assignments, and end of
Module/semester examinations; as described below:
Assignments, tests and examination will be assessed in the following criteria

Assessment Marks
Tests 20%
Quizzes 10%
Assignments 10%
End of module examination 60%
Total 100%

2. STUDY COMPONENTS
The study components will cover sub-enabling outcomes, learning context and
finally module structure.

2.1 MODULE STRUCTURE

The following section provides the time event of the module.

WEEK CONTENTS REMARKS


1st Week Introduction to Formal Students will be able to:
Methods: An Overview 1. Understand engineering stages that
 SDLC are normally followed to ensure that
 Formal Methods the software is built within the time
 Advantages
and budget
2. Understand what is formal methods
 Disadvantages
3. Explain the advantages and
disadvantages of formal methods
2nd Week Mathematical A student will be able to
Foundations: Provide an understanding of the basic
concepts of set theory, including
Set theory definitions, notation, operations,
Predicate logic
Propositional logic cardinality, and subset relationships,
First-order logic with examples demonstrating their
application in software engineering
contexts.
3rd Week Formal Specification At the end of this lesson a student will
Languages: be able to:
Z notation • Provide a precise, unambiguous, and
Specification and rigorous means of describing the
Description Language behavior, structure, and properties of
(SDL) software systems
Abstract State Machines
(ASM)
Vienna Development
Method (VDM)

4th Week Formal Verification A student will be able to


Techniques: 1. Rigorously verify that a software
system or hardware design satisfies
Model checking its specified requirements and
Theorem proving behaves correctly under all possible
Static analysis inputs and conditions. Formal
Symbolic execution verification techniques leverage
mathematical models, logical
reasoning, and automated tools to
analyze system designs and verify
their correctness

5th Week Modeling and A student will be able to


Specification: 1. Provide a systematic and structured
approach for describing the behavior,
Transition systems structure, and properties of software
Finite state machines
(FSMs) systems. This process plays a crucial
Temporal logic role in the software development
UML and formal methods lifecycle, facilitating communication
among stakeholders, aiding in
requirements analysis, and guiding
the design and implementation of
software solutions.

6th Week Test 1


7th Week Formal Methods in A student will be able to:-
Requirements 1. Enhance the precision, clarity, and
Engineering: rigor of the requirements
specification process. Formal
Formal specification of
requirements methods provide mathematical
Use of formal methods in techniques and formal languages to
requirement validation specify, analyze, and validate system
Traceability between formal requirements, ensuring that the
specifications and resulting software system meets its
requirements intended objectives accurately and
reliably.
8th Week Formal Methods in A student will be able to:-
Design: 1. Ensure the correctness, reliability,
and maintainability of software
Design verification using systems by using rigorous
formal methods mathematical techniques to specify,
model, and analyze system designs.
Refinement techniques
Formal methods provide a systematic
Design patterns and formal
approach for representing system
methods designs, verifying their correctness,
and identifying potential errors or
inconsistencies early in the
development process.

9th Week Formal Methods in A student will be able to:-


Testing: 1. Enhance the effectiveness, efficiency,
and reliability of software testing
Test case generation using processes by leveraging rigorous
formal methods mathematical techniques to specify,
design, and execute test cases. Formal
Conformance testing
methods provide a systematic
Coverage criteria based on
approach for generating, analyzing,
formal methods and validating test cases based on
formal models of the software system,
ensuring thorough coverage of
system behaviors and properties.

10th Week Formal Methods in A student will be able to


Maintenance: 1. Facilitate the systematic and rigorous
analysis, modification, and evolution
Formal methods for of software systems while preserving
software evolution their correctness, reliability, and
quality. Formal methods provide
mathematical techniques and formal
Change impact analysis languages to reason about system
using formal methods properties, detect defects, and ensure
Formal methods in the maintainability of software
debugging and fault systems throughout their lifecycle.
localization

11th Week Test two


12th Week Case Studies and A student will:
Applications: 1. Understand how formal techniques
are applied in real-world scenarios to
Examples of successful address challenges in software
applications of formal engineering, system design, and
verification. Case studies provide
methods
insights into the practical use of
Challenges and limitations
formal methods in various domains,
in applying formal methods
showcasing their effectiveness,
Comparative analysis with benefits, and limitations in different
informal methods contexts.

13th Week Tools and Tool 1. 1. Explore the wide range of software
Support: tools and frameworks available to
support the application of formal
Overview of tools techniques in software engineering,
supporting formal methods system design, and verification. These
Integration of formal tools provide automated support for
methods into software tasks such as modeling, specification,
development environments analysis, verification, and testing,
Hands-on demonstrations enabling engineers to apply formal
of selected tools methods effectively and efficiently in
real-world projects.

14th Week Future Trends and A student will be able to


Directions: 1. Explore emerging research areas,
technologies, and applications that
Emerging technologies and are shaping the evolution of formal
their impact on formal techniques in software engineering,
system design, and verification.
methods
These trends provide insights into the
Advances in formal
ongoing development of formal
methods research
methods and their potential impact
Potential applications and on the future of software
challenges in the future development and engineering
practices.

15th Week Examination


16th Week Examination

You might also like