PhD Defense in Informatics Engineering “A Live Environment for Continuous Software Inspection and Refactoring”

Candidate:
Sara Filipa Couto Fernandes

Date, Time and Location:
May the 5th, at 14:00, in Sala de Atos of the Faculdade de Engenharia of Universidade do Porto

President of the Jury:
Rui Filipe Lima Maranhão de Abreu, PhD, Full Professor, Department of Informatics Engineering, Faculdade de Engenharia, Universidade do Porto

Members:
Fabio Palomba, PhD, Assistant Professor of Software Engineering (SeSa) Lab, Department of Computer Science, University of Salerno, Itália;
António Manuel Ferreira Rito da Silva, PhD, Associate Professor, Department of Informatics Engineering, Instituto Superior Técnico, Universidade de Lisboa;
João Carlos Pascoal Faria, PhD, Full Professor, Department of Informatics Engineering, Faculdade de Engenharia, Universidade do Porto;
Ademar Manuel Teixeira de Aguiar, PhD, Associate Professor, Department of Informatics Engineering, Faculdade de Engenharia, Universidade do Porto (Supervisor).

This thesis was co-supervised by André Monteiro de Oliveira Restivo, PhD, Associate Professor at the Department of Informatics Engineering of the Faculdade de Engenharia of Universidade do Porto.

Abstract:

“Writing software is hard; reviewing, changing, or adapting old software is even more challenging. A bad design can quickly lead to rotting software, with each modification heading to a rigid and fragile codebase. Evolution may become extremely costly if we do not refactor code at the right time. Often, developers choose to refactor too late when most symptoms are already impossible to ignore. They check their source code, looking for code smells and the most appropriate refactorings, trying to bring sanity into their design. They then realize they need help from specialized, overly complex, and hard to use tools. If only they tended to refactor their code sooner, they might have gained more peace of mind earlier. In this process of writing and evolving code, changing hats from coding to refactoring should be done often, if not constantly. We argued that a live refactoring environment, which presents refactorings in real-time, would help developers be continually aware of possible refactoring opportunities, making it easier to apply them earlier and faster when the codebase is still under control. We developed such a live environment by considering and evaluating in real-time several code-quality metrics, detecting smells, providing feedback, and presenting possible refactoring candidates unobtrusively and elegantly to the developers — all without leaving the comfort of their development environment. By enhancing an existing IDE with live refactoring capabilities, we showed that we can help developers understand, adapt, and maintain their systems in a more controlled and prompt fashion, allowing them to produce better code faster. The following contributions resulted from this work: (i) an extensive analysis of the state-of-theart on the main topics of our project, (ii) a live refactoring environment capable of continuously inspecting code to detect, suggest, and apply refactorings, (iii) an empirical validation using different approaches that helped us gathering data that allowed to confirm our hypothesis, and (iv) a set of scientific publications validating all the work done. While our work presents significant contributions, there are areas for further exploration. We could enhance specific aspects of our Live Refactoring Environment, including broader refactoring support or reducing processing time for complex code. Moreover, future work could also involve predicting the impact of refactorings on quality metrics and enhancing usability, including tests with color-blind users.”

Workshop “Design for Health and Wellness”

Dates:  25th – 29th June, 09:30 – 12:30 & 14:30 – 16:30

Design is no longer the result of a flash of inspiration, exceptions notwithstanding. To respond to the real needs of people, the designer combines intuition and technical skill to empathize with users, navigate ambiguity, and make users’ latent needs tangible. To do that, the designer has to consider aspects such as functionality, aesthetics, human factors, world views, social implications, production, sustainability, and product life cycles.

This workshop provides an opportunity to answer this call. We will focus on Health and Wellness because of its deep connection with both the functional and emotional needs of users, but the tools explored should be generally applicable. Through a study of the human-centered process, we will develop methods to realize a week-long design project framed by user needs and their context. This will include an immersive experience of lectures, hands-on workshops, fieldwork and, potentially, field-trips. Although the class projects will focus on design solutions for Health and Wellness, at the end of the workshop participants should be able to apply user research methods, ideation, rapid prototyping, product design methods, interaction design, and storytelling to solve real world design problems.

José Colucci is the Director of Research & Development of the Design Institute for Health (DIH). Before joining the DIH, José was a Sr. Director and Associated Partner at IDEO, where he worked for 16 years, Vice-President of Research & Development of ITI, developer of high-resolution, pen-based computer interfaces in Canada; and prior to that, he was the General Manager of the Medical Engineering Division at FUNBEC – Brazil’s largest manufacturer of medical electronics for cardiology.

José has a BS in mechanical engineering, an MS in Industrial Design and a Ph.D. in biomedical engineering by the University of Illinois at Urbana-Champaign. He was a guest lecturer at Harvard, MIT Sloan School of Management, and Olin School of Engineering. Currently he also has a part-time teaching appointment at the University of Texas at Austin.

 

Tickets: Students: 25€;  Academia: 100€; Other professionals: 150€.

More info and registration: https://mil.up.pt/summerinstitute/design-for-health-and-wellness/

Huub job vacancies

HUUB is a startup that manages the supply chain of international brands, which has customers in Germany, Iceland and the United Kingdom. We focus on optimizing physical flow from an end-to-end perspective. We operate from the supplier, whether in Portugal, China or Turkey (production centers we work with at the moment), and the customer of the brand, be it a retailer (big like the department stores of the Selfridges chain, for example, or small chains of boutiques) or end customer (we also set up ecommerce operations, whether from a physical or technological point of view). We currently ship orders to more than 50 countries. All the stock of these brands goes through our warehouse here in Porto. In addition to this physical operation component, we also have a technological component. We are currently in a final stage of testing our product, a platform that will allow brands to manage their business also from an end-to-end perspective, integrating the different sales channels, allowing visibility over the entire chain and collaboration between the main entities that enter the business process: brand, HUUB, supplier and customer.

More information on Huub: link.

Some of our current clients: Noe & Zoe,  Iglo + Indi, Marques e Almeida e Filius Feez.

We are currently recruiting in the technology area.

Oportunity requirements