2022
Authors
Fernandes, S; Aguiar, A; Restivo, A;
Publication
PROCEEDINGS OF THE 37TH IEEE/ACM INTERNATIONAL CONFERENCE ON AUTOMATED SOFTWARE ENGINEERING, ASE 2022
Abstract
Refactoring software can be hard and time-consuming. Several refactoring tools assist developers in reaching more readable and maintainable code. However, most of them are characterized by long feedback loops that impoverish their refactoring experience. We believe that we can reduce this problem by focusing on the concept of Live Refactoring and its main principles: the live recommendation and continuous visualization of refactoring candidates, and the immediate visualization of results from applying a refactoring to the code. Therefore, we implemented a Live Refactoring Environment that identifies, suggests, and applies Extract Method refactorings. To evaluate our approach, we carried out an empirical experiment. Early results showed us that our refactoring environment improves several code quality aspects, being well received, understood, and used by the experiment participants. The source code of our tool is available on: https://github.com/saracouto1318/LiveRef. Its demonstration video can be found at: https://youtu.be/_jxx21ZiQ0o.
2022
Authors
Fernandes, S; Aguiar, A; Restivo, A;
Publication
Proceedings of the 6th International Conference on the Art, Science, and Engineering of Programming, Programming 2022, Porto, Portugal, March 21-25, 2022
Abstract
Refactoring helps improve the design of software systems, making them more understandable, readable, maintainable, cleaner, and self-explanatory. Many refactoring tools allow developers to select and execute the best refactorings for their code. However, most of them lack quick and continuous feedback, support, and guidance, leading to a poor refactoring experience. To fill this gap, we are researching ways to increase liveness in refactoring. Live Refactoring consists of continuously knowing, in real-time, what and why to refactor. To explore the concept of Live Refactoring and its main components - recommendation, visualization, and application, we prototyped a Live Refactoring Environment focused on the Extract Method refactoring. With it, developers can receive recommendations about the best refactoring options and have support to apply them automatically. This work helped us reinforce the hypothesis that early and continuous refactoring feedback helps to shorten the time needed to create high-quality systems. © 2022 ACM.
2022
Authors
Rodrigues, JMSC; Ribeiro, JEF; Aguiar, A;
Publication
2022 IEEE INTERNATIONAL SYMPOSIUM ON SOFTWARE RELIABILITY ENGINEERING WORKSHOPS (ISSREW 2022)
Abstract
Despite documentation being considered the primary challenge to agile methods in safety-critical software systems development [1], agile would be of particular interest to improve changeability while providing efficiency and effectiveness to all the phases of software development. In this work, we created mechanisms for automating document processing and management to improve the efficiency and effectiveness of documentation activities of safety-critical software systems development, most concretely in the aerospace domain. The implemented tools were co-designed and validated iteratively in the concrete industrial context of Critical Software (CSW) projects, within a wider research work towards continuous certification [3]. We interviewed Critical Software professionals to validate our solution, collected feedback on the implemented tools and got insights for future work. The tools were also the target of synthetic tests that allowed us to conclude that document automation is possible in the critical-safety software development industry and carries several benefits. The developed tools are not yet qualified in compliance with the DO-330 standard (Tools Qualification).
2022
Authors
Aguiar, A; Guerra, E; Chiba, S; Boix, EG;
Publication
Programming
Abstract
2023
Authors
Pinho, D; Aguiar, A; Amaral, V;
Publication
JOURNAL OF COMPUTER LANGUAGES
Abstract
Context: Low-code development is a concept whose presence has grown both in academia and the software industry and is discussed alongside others, such as model-driven engineering and domain-specific languages. Usability is an important concept in low-code contexts since users of these tools often lack a background in programming. Grey literature articles have also stated that low-code tools have high usability.Objective: This paper examines the current literature about low-code and no-code to discover more about them and their relationship with usability, particularly its quality, which factors are the most relevant, and how users view these tools. This focus on usability aims to provide a different point of view from other works on low-code.Method: We performed a systematic literature review based on a formal protocol for this study. The search protocol returned a total of 207 peer-review articles across five databases, which was supplemented with a snowballing process. These were filtered using inclusion and exclusion criteria, resulting in 38 relevant articles that were analysed, synthesised and reported.Conclusion: Despite growing interest and a strong enterprise presence in academia, we did not find a formal definition of low-code, although common characteristics have been specified. We found that users have a heightened awareness of usability regarding low-code tools, with some authors performing feasibility studies on their implementations or listing factors that influence the user experience in a given tool. Researchers are considering usability factors unconsciously, and the low-code field would grow if research on usability increased. This paper also suggests a definition for low-code development.
2009
Authors
Groher, I; Kellens, A; Schwanninger, C; Adams, B; Hohenstein, U; Aguiar, A; Truyen, E;
Publication
PLATE@AOSD
Abstract
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.