FMP
Formal Methods Project
Objectives
In this course unit, students are expected to apply the techniques and tools taught in the profile to develop a medium-sized project in the area of formal methods. By the end of the course unit, students should be able to:
- Plan, execute, and evaluate formal methods projects in software engineering.
- Apply tools in the area of formal methods to software development.
- Integrate different technologies and computational paradigms.
- Develop teamwork, communication, and software project management skills.
Program
The collection of project proposals will be carried out by the UC team with industrial partners and, if too few proposals of this nature are obtained, with colleagues from other specialization profiles. Each working group will then be assigned a different project proposal, with the external proponents and one or more members of the teaching team serving as advisors. The advisors will define a set of goals to be achieved by each working group in the development of their respective project, including:
- Requirements analysis, analysis of the application area, and related work.
- Modeling, prototyping, and model validation.
- Interim project presentation.
- Development of the main functionalities.
- Critical evaluation, testing, validation trials, performance measures.
- Writing the final report, final demonstration, and public presentation of the project. Although the project management will be carried out by the team members themselves, including task division, etc., it should be transparent to the advisors and the rest of the teaching team. For this purpose, the following should be used:
- Tracking systems, software development project management systems, to record task division and assignment, time cards, etc.
- Version control system for storing source code and documentation.
- A wiki for recording shared information.
- An email list including team members and advisors.
Bibliography
- Marieke Huisman, Anton Wijs. Concise Guide to Software Verification: From Model Checking to Annotation Checking. Springer, 2023.
- Gerard O’Regan. Concise Guide to Formal Methods: Theory, Fundamentals and Industry Applications. Springer, 2017.