2022
Authors
Grilo, M; Campos, J; Ferreira, JF; Almeida, JB; Mendes, A;
Publication
INTEGRATED FORMAL METHODS, IFM 2022
Abstract
Password managers (PMs) are important tools that enable the use of stronger passwords, freeing users from the cognitive burden of remembering them. Despite this, there are still many users who do not fully trust PMs. In this paper, we focus on a feature that most PMs offer that might impact the user's trust, which is the process of generating a random password. We present three of the most commonly used algorithms and we propose a solution for a formally verified reference implementation of a password generation algorithm. We use EasyCrypt to specify and verify our reference implementation. In addition, we present a proof-of-concept prototype that extends Bitwarden to only generate compliant passwords, solving a frequent users' frustration with PMs. This demonstrates that our formally verified component can be integrated into an existing (and widely used) PM.
2022
Authors
Pereira, RB; Ferreira, JF; Mendes, A; Abreu, R;
Publication
9TH IEEE/ACM INTERNATIONAL CONFERENCE ON MOBILE SOFTWARE ENGINEERING AND SYSTEMS, MOBILESOFT 2022
Abstract
When developing mobile applications, developers often have to decide when to acquire and when to release resources. This leads to resource leaks, a kind of bug where a resource is acquired but never released. This is a common problem in Android applications that can degrade energy efficiency and, in some cases, can cause resources to not function properly. In this paper, we present an extension of EcoAndroid, an Android Studio plugin that improves the energy efficiency of Android applications, with an inter-procedural static analysis that detects resource leaks. Our analysis is implemented using Soot, FlowDroid, and Heros, which provide a static-analysis environment capable of processing Android applications and performing inter-procedural analysis with the IFDS framework. It currently supports the detection of leaks related to four Android resources: Cursor, SQLite-Database, Wakelock, and Camera. We evaluated our tool with the DroidLeaks benchmark and compared it with 8 other resource leak detectors. We obtained a precision of 72.5% and a recall of 83.2%. Our tool was able to uncover 191 previously unidentified leaks in this benchmark. These results show that our analysis can help developers identify resource leaks.
2023
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
Authors
Ferreira, JF; Mendes, A; Menghi, C;
Publication
Lecture Notes in Computer Science
Abstract
2012
Authors
Mendes, A;
Publication
British Library, EThOS
Abstract
2008
Authors
Mendes, A;
Publication
Proceedings - Frontiers in Education Conference, FIE
Abstract
This project aims to develop a pen-based software tool that will assist in the process of doing mathematics by providing structured manipulation of handwritten mathematical expressions. The tool will be used to support the teaching of the dynamics of problem solving in a way that combines the advantages of the traditional blackboard style of teaching with the flexibility and accuracy of computer software. It will provide not only a simpler way to input mathematics - by allowing the recognition of handwritten mathematics - but also enhance students' understanding of the calculational techniques and facilitate the process of doing mathematics - by providing structure editing. Some of the most important features of this tool are the accurate selection and copy of expressions, the automatic application of algebraic rules and the use of gestures to apply them, and also the combined writing of mathematics and text. These features will have a major impact on writing, doing, and presenting mathematics. This project includes the required technical developments and also the application and testing of the tool in concrete situations, namely in mathematics and computing science courses. © 2008 IEEE.
The access to the final selection minute is only available to applicants.
Please check the confirmation e-mail of your application to obtain the access code.