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 CSE

2022

Visual notations in container orchestrations: an empirical study with Docker Compose

Authors
Piedade, B; Dias, JP; Correia, FF;

Publication
SOFTWARE AND SYSTEMS MODELING

Abstract
Container orchestration tools supporting infrastructure-as-code allow new forms of collaboration between developers and operatives. Still, their text-based nature permits naive mistakes and is more difficult to read as complexity increases. We can find few examples of low-code approaches for defining the orchestration of containers, and there seems to be a lack of empirical studies showing the benefits and limitations of such approaches. We hypothesize that a complete visual notation for Docker-based orchestrations could reduce the effort, the error rate, and the development time. Therefore, we developed a tool featuring such a visual notation for Docker Compose configurations, and we empirically evaluated it in a controlled experiment with novice developers. The results show a significant reduction in development time and error-proneness when defining Docker Compose files, supporting our hypothesis. The participants also thought the prototype easier to use and useful, and wanted to use it in the future.

2022

Framing Program Repair as Code Completion

Authors
Ribeiro, F; Abreu, R; Saraiva, J;

Publication
INTERNATIONAL WORKSHOP ON AUTOMATED PROGRAM REPAIR (APR 2022)

Abstract
Many techniques have contributed to the advancement of automated program repair, such as: generate and validate approaches, constraint-based solvers and even neural machine translation. Simultaneously, artificial intelligence has allowed the creation of general-purpose pre-trained models that support several downstream tasks. In this paper, we describe a technique that takes advantage of a generative model - CodeGPT - to automatically repair buggy programs by making use of its code completion capabilities. We also elaborate on where to perform code completion in a buggy line and how we circumvent the open-ended nature of code generation to appropriately fit the new code in the original program. Furthermore, we validate our approach on the ManySStuBs4j dataset containing real-world open-source projects and show that our tool is able to fix 1739 programs out of 6415 - a 27% repair rate. The repaired programs range from single-line changes to multiple line modifications. In fact, our technique is able to fix programs which were missing relatively complex expressions prior to being analyzed. In the end, we present case studies that showcase different scenarios our technique was able to handle.

2022

Typed SLD-Resolution: Dynamic Typing for Logic Programming

Authors
Barbosa, J; Florido, M; Costa, VS;

Publication
LOGIC-BASED PROGRAM SYNTHESIS AND TRANSFORMATION (LOPSTR 2022)

Abstract
The semantic foundations for logic programming are usually separated into two different approaches. The operational semantics, which uses SLD-resolution, the proof method that computes answers in logic programming, and the declarative semantics, which sees logic programs as formulas and its semantics as models. Here, we define a new operational semantics called TSLD-resolution, which stands for Typed SLD-resolution, where we include a value wrong, that corresponds to the detection of a type error at run-time. For this we define a new typed unification algorithm. Finally we prove the correctness of TSLD-resolution with respect to a typed declarative semantics.

2022

Intelligent Monitoring and Management Platform for the Prevention of Olive Pests and Diseases, Including IoT with Sensing, Georeferencing and Image Acquisition Capabilities Through Computer Vision

Authors
Alves, A; Morais, AJ; Filipe, V; Pereira, JA;

Publication
DISTRIBUTED COMPUTING AND ARTIFICIAL INTELLIGENCE, VOL 2: SPECIAL SESSIONS 18TH INTERNATIONAL CONFERENCE

Abstract
Climate change affects global temperature and precipitation patterns. These effects, in turn, influence the intensity and, in some cases, the frequency of extreme environmental events, such as forest fires, hurricanes, heat waves, floods, droughts, and storms. In general, these events can be particularly conducive to the appearance of plant pests and diseases. The availability of models and a data collection system is crucial to manage pests and diseases in sustainable agricultural ecosystems. Agricultural ecosystems are known to be complex, multivariable, and unpredictable. It is important to anticipate crop pests and diseases in order to improve its control in a more ecological and economical way (e.g., precision in the use of pesticides). The development of an intelligent monitoring and management platform for the prevention of pests and diseases in olive groves at Trás-os- Montes region will be very beneficial. This platform must: a) integrate data from multiple data sources such as sensory data (e.g., temperature), biological observations (e.g., insect counts), georeferenced data (e.g., altitude) or digital images (e.g., plant images); b) systematize these data into a regional repository; c) provide relevant forecasts for pest and diseases. Convolutional Neural Networks (CNNs) can be a valuable tool for the identification and classification of images acquired by Internet of Things (IoT).

2022

Verification of railway network models with EVEREST

Authors
Martins, J; Fonseca, JM; Costa, R; Campos, JC; Cunha, A; Macedo, N; Oliveira, JN;

Publication
Proceedings of the 25th International Conference on Model Driven Engineering Languages and Systems, MODELS 2022, Montreal, Quebec, Canada, October 23-28, 2022

Abstract
Models-at different levels of abstraction and pertaining to different engineering views-are central in the design of railway networks, in particular signalling systems. The design of such systems must follow numerous strict rules, which may vary from project to project and require information from different views. This renders manual verification of railway networks costly and error-prone. This paper presents EVEREST, a tool for automating the verification of railway network models that preserves the loosely coupled nature of the design process. To achieve this goal, EVEREST first combines two different views of a railway network model-the topology provided in signalling diagrams containing the functional infrastructure, and the precise coordinates of the elements provided in technical drawings (CAD)-in a unified model stored in the railML standard format. This railML model is then verified against a set of user-defined infrastructure rules, written in a custom modal logic that simplifies the specification of spatial constraints in the network. The violated rules can be visualized both in the signalling diagrams and technical drawings, where the element(s) responsible for the violation are highlighted. EVEREST is integrated in a long-term effort of EFACEC to implement industry-strong tools to automate and formally verify the design of railway solutions. © 2022 ACM.

2022

Adaptability and Procedural Content Generation for Educational Escape Rooms

Authors
Sousa D.; Coelho A.; Torres M.F.; Garcia A.R.; Rossini T.;

Publication
Proceedings of the European Conference on Games-based Learning

Abstract
We present a literature review that aims to understand the role of the Educational Escape Room (EER) in improving the teaching, learning, and assessment processes through an EER design framework. The main subject is to identify the recent interventions in this field in the last five years. Our study focuses on understanding how it is possible to create an EER available to all students, namely visually challenged users. As a result of the implementation of new learning strategies that promote autonomous learning, a concern arose in adapting educational activities to each student's individual needs. To study the adaptability of each EER, we found the EER design framework essential to increase the student experience by promoting the consolidation of knowledge through narrative and level design. The results of our study show evidence of progress in students' performance while playing an EER, revealing that students' learning can be effective. Research on Procedural Content Generation (PCG) highlighted how important it is to implement adaptability in future studies of EERs. However, we found some limitations regarding the process of evaluating learning through the EERs, showing how important it is to study and implement learning analytics in future studies in this field.

  • 17
  • 217