MFES

Logo

Índice

Cálculo de Sistemas de Informação
Especificação e Modelação
Análise e Teste de Software
Arquitectura e Cálculo
Verificação Formal
Laboratório em Engenharia Informática
Calendário
Anos anteriores
Alumni

Métodos Formais em Engenharia de Software

Aviso

16-Fev: new temas para projecto LEI (em actualização)

Mestrado Integrado em Engenharia Informática

Bem vindo à página da edição de 2020/21 do perfil de Métodos Formais em Engenharia de Software. Para uma primeira impressão sobre o perfil sugere-se a visualização do seguinte vídeo de apresentação da edição de 2020/21.

Este perfil de especialização do MiEI conta com uma equipa de docentes altamente qualificados na investigação e ensino de métodos formais aplicados ao desenvolvimento de software. Todos fazemos parte do centro de investigação HASLab (High-Assurance Software Laboratory) da Universidade do Minho e do INESC TEC, em que se vem consolidando know-how em métodos formais desde há mais de 30 anos.

As unidades curriculares que compoem MFES corporizam os principais vectores de que depende o projecto de aplicações fiáveis, à escala industrial. Na sua componente teórica, a visão é a de abordar problemas de software segundo uma autêntica perspectiva de engenharia, que permite - através da modelos sobre os quais é possível raciocinar e calcular - prever o comportamento dos programas antes de serem escritos. Uma vez escritos, MFES ensina como fazer a sua análise e teste, dois ingredientes essenciais à qualidade do software.

O HASLab orgulha-se de ter sido convidado a organizar o 3º congresso mundial de MF, que teve lugar no Porto em Outubro de 2019.

FM'19

Classificação ACM

Em conjunto com o Laboratório de Informática, os ECTSs do perfil estão distribuídos pelas seguintes área de conhecimento, segundo as IEEE/ACM Curriculum Guidelines for Software Engineering:

Citações

In late 1967 the Study Group recommended the holding of a working conference on Software Engineering. The phrase “software engineering” was deliberately chosen as being provocative, in implying the need for software manufacture to be based on the types of theoretical foundations and practical disciplines, that are traditional in the established branches of engineering.

Garmisch NATO conference report, 1968

There are two ways of constructing a software design: one way is to make it so simple that there are obviously no deficiencies, and the other way is to make it so complicated that there are no obvious deficiencies.

Tony Hoare

It is easier to write an incorrect program than understand a correct one.

Alan Perlis

Program testing can be used to show the presence of bugs, but never to show their absence!

Edsger Dijkstra

Simplicity does not precede complexity, but follows it.

Alan Perlis

Humor

Cartoon

Software Development: A Rigorous Approach by C.B. Jones