Cookies Policy
The website need some cookies and similar means to function. If you permit us, we will use those means to collect data on your visits for aggregated statistics to improve our service. Find out More
Accept Reject
  • Menu
Publications

Publications by Alexandra Sofia Mendes

2011

Logic Training through Algorithmic Problem Solving

Authors
Ferreira, JF; Mendes, A; Cunha, A; Baquero, C; Silva, P; Barbosa, LS; Oliveira, JN;

Publication
TOOLS FOR TEACHING LOGIC

Abstract
Although much of mathematics is algorithmic in nature, the skills needed to formulate and solve algorithmic problems do not form an integral part of mathematics education. In particular, logic, which is central to algorithm development, is rarely taught explicitly at pre-university level, under the justification that it is implicit in mathematics and therefore does not need to be taught as an independent topic. This paper argues in the opposite direction, describing a one-week workshop done at the University of Minho, in Portugal, whose goal was to introduce to high-school students calculational principles and techniques of algorithmic problem solving supported by calculational logic. The workshop resorted to recreational problems to convey the principles and to software tools, the Alloy Analyzer and Netlogo, to animate models.

2023

bGSL: An imperative language for specification and refinement of backtracking programs

Authors
Dunne, S; Ferreira, JF; Mendes, A; Ritchie, C; Stoddart, B; Zeyda, F;

Publication
JOURNAL OF LOGICAL AND ALGEBRAIC METHODS IN PROGRAMMING

Abstract
We present an imperative refinement language for the development of backtracking programs and discuss its semantic foundations. For expressivity, our language includes prospective values and preference - the latter being a variant of Nelson's biased choice that backtracks from infeasibility of a continuation. Our key contribution is to examine feasibility-preserving refinement as a basis for developing backtracking programs, and several key refinement laws that enable compositional refinement in the presence of non -monotonic program combinators.

2021

Formal Methods Teaching

Authors
Ferreira, JF; Mendes, A; Menghi, C;

Publication
Lecture Notes in Computer Science

Abstract

2014

Structure Editing of Handwritten Mathematics

Authors
Mendes, A; Backhouse, R; Ferreira, JF;

Publication
Proceedings of the Ninth ACM International Conference on Interactive Tabletops and Surfaces - ITS '14

Abstract

2017

Certified Password Quality

Authors
Ferreira, JF; Johnson, SA; Mendes, A; Brooke, PJ;

Publication
Lecture Notes in Computer Science - Integrated Formal Methods

Abstract

2017

Certified Password Quality - A Case Study Using Coq and Linux Pluggable Authentication Modules

Authors
Ferreira, JF; Johnson, SA; Mendes, A; Brooke, PJ;

Publication
Integrated Formal Methods - 13th International Conference, IFM 2017, Turin, Italy, September 20-22, 2017, Proceedings

Abstract
We propose the use of modern proof assistants to specify, implement, and verify password quality checkers. We use the proof assistant Coq, focusing on Linux PAM, a widely-used implementation of pluggable authentication modules for Linux. We show how password quality policies can be expressed in Coq and how to use Coq’s code extraction features to automatically encode these policies as PAM modules that can readily be used by any Linux system. We implemented the default password quality policy shared by two widely-used PAM modules: pam_cracklib and pam_pwquality. We then compared our implementation with the original modules by running them against a random sample of 100,000 leaked passwords obtained from a publicly available database. In doing this, we demonstrated a potentially serious bug in the original modules. The bug was reported to the maintainers of Linux PAM and is now fixed. © Springer International Publishing AG 2017.

  • 8
  • 9