Cookies
O website necessita de alguns cookies e outros recursos semelhantes para funcionar. Caso o permita, o INESC TEC irá utilizar cookies para recolher dados sobre as suas visitas, contribuindo, assim, para estatísticas agregadas que permitem melhorar o nosso serviço. Ver mais
Aceitar Rejeitar
  • Menu
Publicações

Publicações por CSE

2020

Self-tunable DBMS Replication with Reinforcement Learning

Autores
Ferreira, L; Coelho, F; Pereira, J;

Publicação
Distributed Applications and Interoperable Systems - 20th IFIP WG 6.1 International Conference, DAIS 2020, Held as Part of the 15th International Federated Conference on Distributed Computing Techniques, DisCoTec 2020, Valletta, Malta, June 15-19, 2020, Proceedings

Abstract
Fault-tolerance is a core feature in distributed database systems, particularly the ones deployed in cloud environments. The dependability of these systems often relies in middleware components that abstract the DBMS logic from the replication itself. The highly configurable nature of these systems makes their throughput very dependent on the correct tuning for a given workload. Given the high complexity involved, machine learning techniques are often considered to guide the tuning process and decompose the relations established between tuning variables. This paper presents a machine learning mechanism based on reinforcement learning that attaches to a hybrid replication middleware connected to a DBMS to dynamically live-tune the configuration of the middleware according to the workload being processed. Along with the vision for the system, we present a study conducted over a prototype of the self-tuned replication middleware, showcasing the achieved performance improvements and showing that we were able to achieve an improvement of 370.99% on some of the considered metrics. © IFIP International Federation for Information Processing 2020.

2020

Learning path personalization and recommendation methods: A survey of the state-of-the-art

Autores
Nabizadeh, AH; Leal, JP; Rafsanjani, HN; Shah, RR;

Publicação
EXPERT SYSTEMS WITH APPLICATIONS

Abstract
A learning path is the implementation of a curriculum design. It consists of a set of learning activities that help users achieve particular learning goals. Personalizing these paths became a significant task due to differences in users' limitations, backgrounds, goals, etc. Since the last decade, researchers have proposed a variety of learning path personalization methods using different techniques and approaches. In this paper, we present an overview of the methods that are applied to personalize learning paths as well as their advantages and disadvantages. The main parameters for personalizing learning paths are also described. In addition, we present approaches that are used to evaluate path personalization methods. Finally, we highlight the most significant challenges of these methods, which need to be tackled in order to enhance the quality of the personalization.

2020

The AgilECo Pattern Language: Physical Environment

Autores
Pinho, D; Aguiar, A;

Publicação
EuroPLoP '20: European Conference on Pattern Languages of Programs 2020, Virtual Event, Germany, 1-4 July, 2020

Abstract
Communication is crucial in agile contexts due to the need for collaboration and the number of different people involved, ranging from developers to users and business people. This communication should be effective to ensure everyone is on the same page; otherwise it can lead to undesired results such as misunderstanding and loss of productivity. As such, there is a need to ensure good communication in agile contexts. This paper presents a pattern language to tackle this issue, alongside with the patterns of a section of the language. The pattern language aims to provide a set of practices that help with recurrent problems and increase the effectiveness of communication. The patterns presented in this paper (Information Radiators, Co-Located Team, Open Space, Informal Communication Space and Cubes) address the issues related with the physical environment surrounding an agile team. © 2020 ACM.

2020

Fostering Programming Practice through Games

Autores
Paiva, JC; Leal, JP; Queiros, R;

Publicação
INFORMATION

Abstract
Loss of motivation is one of the most prominent concerns in programming education as it negatively impacts time dedicated to practice, which is crucial for novice programmers. Of the distinct techniques introduced in the literature to engage students, gamification, is likely the most widely explored and fruitful. Game elements that intrinsically motivate students, such as graphical feedback and game-thinking, reveal more reliable long-term positive effects, but those involve significant development effort. This paper proposes a game-based assessment environment for programming challenges, built on top of a specialized framework, in which students develop a program to control the player, henceforth called Software Agent (SA). During the coding phase, students can resort to the graphical feedback demonstrating how the game unfolds to improve their programs and complete the proposed tasks. This environment also promotes competition through competitive evaluation and tournaments among SAs, optionally organized at the end by the teacher. Moreover, the validation of the effectiveness of Asura in increasing undergraduate students' motivation and, consequently, the practice of programming is reported.

2020

SPELLing out energy leaks: Aiding developers locate energy inefficient code

Autores
Pereira, R; Carcao, T; Couto, M; Cunha, J; Fernandes, JP; Saraiva, J;

Publicação
JOURNAL OF SYSTEMS AND SOFTWARE

Abstract
Although hardware is generally seen as the main culprit for a computer's energy usage, software too has a tremendous impact on the energy spent. Unfortunately, there is still not enough support for software developers so they can make their code more energy-aware. This paper proposes a technique to detect energy inefficient fragments in the source code of a software system. Test cases are executed to obtain energy consumption measurements, and a statistical method, based on spectrum-based fault localization, is introduced to relate energy consumption to the source code. The result of our technique is an energy ranking of source code fragments pointing developers to possible energy leaks in their code. This technique was implemented in the SPELL toolkit. Finally, in order to evaluate our technique, we conducted an empirical study where we asked participants to optimize the energy efficiency of a software system using our tool, while also having two other groups using no tool assistance and a profiler, respectively. We showed statistical evidence that developers using our technique were able to improve the energy efficiency by 43% on average, and even out performing a profiler for energy optimization.

2020

Verification of system-wide safety properties of ROS applications

Autores
Carvalho, R; Cunha, A; Macedo, N; Santos, A;

Publicação
2020 IEEE/RSJ INTERNATIONAL CONFERENCE ON INTELLIGENT ROBOTS AND SYSTEMS (IROS)

Abstract
Robots are currently deployed in safety-critical domains but proper techniques to assess the functional safety of their software are yet to be adopted. This is particularly critical in ROS, where highly configurable robots are built by composing third-party modules. To promote adoption, we advocate the use of lightweight formal methods, automatic techniques with minimal user input and intuitive feedback. This paper proposes a technique to automatically verify system-wide safety properties of ROS-based applications at static time. It is based in the formalization of ROS architectural models and node behaviour in Electrum, over which system-wide specifications are subsequently model checked. To automate the analysis, it is deployed as a plug-in for HAROS, a framework for the assessment of ROS software quality aimed at the ROS community. The technique is evaluated in a real robot, AgRob V16, with positive results.

  • 90
  • 220