• Corpus ID: 47020407

Engaging Millennials into Learning Formal Methods

  title={Engaging Millennials into Learning Formal Methods},
  author={N{\'e}stor Cata{\~n}o},
This paper summarizes our experience in teaching courses on formal methods (FM) to Computer Science (CS) and Software Engineering (SE) students at various universities around the world, including University of Madeira (UMa) in Portugal, Pontificia Universidad Javeriana (PUJ) and University of Los Andes (Uniandes) in Colombia, Carnegie Mellon University (CMU) in the USA, and at Innopolis University (INNO) in the Russian Federation. We report challenges faced during the past 10 to 15 years to… 



An introduction to Z and formal specifications

This paper provides an introduction to the description of information systems using formal, mathematical specifications written in the Z notation, and to the refinement of these specifications into

Lightweight Verification of a Multi-Task Threaded Server: A Case Study With The Plural Tool

The effort undertaken in this case study has revealed several issues related with the design of theMTTS, with programming practices used in its implementation, and with domain specific properties of the MTTS.

EventB2Java: A Code Generator for Event-B

A tool that generates executable implementations of Event-B models, a formal specification language and a methodology used to build software systems, that is implemented as a plug-in of the Rodin platform, an Eclipse IDE that provides a set of tools to work with Event- B models.

A Case Study on Code Generation of an ERP System from Event-B

  • Néstor CatañoTim Wahls
  • Computer Science
    2015 IEEE International Conference on Software Quality, Reliability and Security
  • 2015
This work investigates whether the EventB2SQL tool (Wang and Wahls, LNCS 8702) can generate satisfactory code for the OpenBravo POS ERP system by replacing the database core of the system with code generated from an Event-B model.

Usability engineering

  • J. Nielsen
  • Computer Science
    The Computer Science and Engineering Handbook
  • 1997
This guide to the methods of usability engineering provides cost-effective methods that will help developers improve their user interfaces immediately and shows you how to avoid the four most frequently listed reasons for delay in software projects.

Rodin: an open toolset for modelling and reasoning in Event-B

This article presents the Rodin modelling tool that seamlessly integrates modelling and proving, and outlines how the Event-B language was designed to facilitate proof and how the tool has been designed to support changes to models while minimising the impact of changes on existing proofs.

Automated Verification of Specifications with Typestates and Access Permissions

An approach to formally verify Plural specifications of concurrent programs based on access permissions and typestates, by model-checking automatically generated abstract state-machine construction rules by generating and verifying models as a freely available plug-in of the Plural tool, called Pulse.

Applying 'design by contract'

Methodological guidelines for object-oriented software construction that improve the reliability of the resulting software systems are presented and the theory of contract design and the role of assertions in that theory are discussed.

Interactive Theorem Proving and Program Development

The similarity between Fixpoint and fix makes it easier to understand the need for the various parts of this construct, and the construction of higher-order types and simple inductive types defined inside a section is helpful to understanding the form of the induction principle.