Ongoing Research Projects

Click on each of the Projects below to see its description.

  • MAINTAIN - Intelligent Maintenance of Software Systems

    2024 - Present

    Project Coordinator: Dr. Matheus Paixão (UECE)

    Sponsors: Brazilian National Council for Scientific and Technological Development (CNPq)

    Partners: Anderson Uchôa (UFC, Brasil), Matheus Paixão (UECE, Brasil), Paulo Henrique Mendes Maia (UECE, Brasil), Jerffeson Teixeira de Souza (UECE, Brasil), Ismayle de Sousa Santos (UECE, Brasil), Allysson Allex de Paula Araújo (UFCA, Brasil), Thiago do Nascimento Ferreira (University Of Michigan, EUA), and Chaiyong Ragkhitwetsagul (Mahidol University, Thailand)

    Keywords: natural processing language software maintenance machine learning developer

    Currently, digital technologies are used for several aspects of an individual's life, such as entertainment, work etc. Hence, the software industry grows every year with a constant increase in the number of products being developed. According to Sommerville, Software Engineering (SE) consists of the usage of scientific approaches to solve software problems. As a sub-area of SE, Software Maintenance refers to updating software after it has been deployed to its users. Among the maintenance tasks, one may mention bug fixing, source code improvement, technical debt management etc. As pointed out by Lehman, software needs to constantly change to remain useful. Thus, on average, more than half of a software project's resources are spent on maintenance. Considering the existing software industry, the massive amount of data and the complexity of modern software generates scenarios where practitioners have difficulties in performing efficient maintenance tasks. In parallel, recent advances in Artificial Intelligence (AI) have been gaining notoriety. Techniques such as natural language processing, data mining and optimization have been successfully applied to several scientific and engineering areas. Thus, this project aims at investigating and using AI techniques to assist practitioners in software maintenance tasks. Data mining will be used to analyze large amounts of maintenance data to identify recurrent patterns and find best practices. We plan to employ natural language processing to assist in tasks related to text writing and comprehension, such as technical debt management and code review, for instance. We will apply optimization algorithms to combinatorial maintenance tasks, such as code modularization and test case prioritization, for example. Hence, this project will expand the scientific knowledge in SE by investigating and proposing new approaches for the maintenance of software systems.

  • Modernization of Legacy Systems: (Semi-)Automated Support and Development Practices

    2023 - Present

    Project Coordinator: Dr. Anderson Uchôa (UFC)

    Sponsors: Cearense Foundation for Scientific and Technological Development Support, Fortaleza, Brazil (FUNCAP)

    Partners: Anderson Uchôa (UFC, Brasil), Rafael Maiani de Mello (UFRJ, Brasil), Matheus Paixão (UECE, Brasil), Paulo Henrique Mendes Maia (UECE, Brasil), Carla Ilane (UFC, Brasil), and Alessandro Garcia (PUC-Rio, Brasil)

    Keywords: software modernization software maintenance machine learning development practices

    The State of Ceará is responsible for a significant portion of software development, accounting for about 20% of national production. Many of these software programs become legacy systems: they provide essential functionalities for organizations but use commonly outdated technologies. There is a great difficulty in maintaining or even modernizing these software programs, especially due to structural degradation that affects the code. However, several of these software programs are too important to be discarded. For organizations to remain competitive in national and international markets, it is crucial to modernize legacy software and use good software development practices. The inclusion of new disruptive technologies, such as microservices and Big Data, helps to: (i) avoid the discontinuation of essential legacy software, and (ii) offer various other opportunities for organizations. Additionally, the use of good development practices helps in the modernization of legacy software. To carry out such modernizations, one of the main practices used is the refactoring and review of software artifacts. Refactoring is the primary and most challenging practice, given that the level of degradation of legacy code requires complex restructurings. In this context, developers need to identify and review which software artifacts, e.g., source code, should undergo refactoring. Related studies indicate that the use of poor development practices can negatively influence the restructuring and reduction of the level of degradation of legacy code. Furthermore, software degradation with varying levels of development practice maturity is an inherent characteristic of national software production, including in the State of Ceará. Thus, the project aims to: (i) conduct studies with the legacy systems of the Ceará industry that are undergoing modernization; (ii) investigate software development practices that assist in the identification, application, and restructuring of legacy code; (iii) propose and develop a technique that aids in the process of modernizing and evolving legacy code; and (iv) evaluate the impact on software quality after the restructuring proposed by the technique.

  • An Exploratory Study on Developers' Perception of Code Smells in AI-Enabled Systems

    2022 - Present

    Project Coordinator: Dr. Anderson Uchôa (UFC)

    Sponsors: Brazilian National Council for Scientific and Technological Development (CNPq), PIBIC

    Partners: Anderson Uchôa (UFC, Brasil), and Juliana Alves Pereira (PUC-Rio, Brasil

    Keywords: bad smells software maintenance machine learning developer

    AI-enabled systems are composed of one or more components that learn how to perform a task from a given dataset. Similar to other complex systems, AI-enabled systems are also affected by poor code structures (e.g., code smells). In particular, the code quality of AI-enabled systems has rarely been studied. Unfortunately, little is known about the perception of developers of AI-enabled systems regarding the code smells that affect their systems. Understanding developers' perceptions is important to direct research efforts that aim to support the needs and problems of developers of AI-enabled systems. Our goal is to obtain empirically driven actionable insights for researchers and tool builders about the level of knowledge regarding code smells, their perceived criticality, and the procedures used by developers to remove or minimize the effects of code smells in AI-enabled systems. We intend to conduct an exploratory survey with developers involved in the development of AI-enabled systems, including frameworks, systems, and machine learning libraries. We will also include developers who have used these frameworks to build their AI-enabled systems. The main limitations of this study relate to its exploratory nature; as such, no hypotheses about the outcomes are presented at this time. Additionally, the control of completeness and clarity in open-ended responses within a survey becomes a source of bias. Finally, the external validity will depend on how representative our sample of participants is.

  • MAssiSo - Assisted Modernization of Legacy Software for Adoption of Disruptive Technologies

    2019 - Present

    Project Coordinator: Dr. Alessandro Garcia (PUC-Rio)

    Sponsors: Research Support Foundation of the State of Rio de Janeiro, Brazil (FAPERJ)

    Partners: Marcos Kalinowski (PUC-Rio, Brasil), Thibaut Vidal (PUC-Rio, Brasil), Leonardo Murta (UFF, Brasil), Leonardo Tizzei e Renato Cerqueira (IBM Research, Brasil), Gustavo Soares (Microsoft Research, EUA), Diego Cedrim (Amazon. Brasil), Myriung Kim (UCLA, EUA), Nenad Medvidovic (UCLA, EUA), and Jens Krinke (UCL, The United Kingston)

    Keywords: modularization legacy systems refactoring recommendation system

    This project aims to (i) perform studies concerning legacy systems of the industry in Rio de Janeiro, which are going through the modernization process; (ii) propose and develop a recommendation system to assist the refactoring process of legacy code; (iii) investigate optimization and recommendation techniques that allow the identification, application,and reintegration of refactoring in legacy code, (iv) evaluate the impact of software quality after the restructuring proposed by the recommender.

  • ReSTaurA - Sequential Refactoring: Theory and Automated Support

    2018 - Present

    Project Coordinator: Dr. Alessandro Garcia (PUC-Rio)

    Sponsors: Brazilian National Council for Scientific and Technological Development (CNPq)

    Partners: Microsoft Research, Gustavo Soares (EUA), Google, Emerson Murphy-Hill (EUA), Amazon, Diego Cedrim (Brasil), GM5, Fábio Shimada (Brasil), IBM Research, Renato Cerqueira (Brasil), NCSU, Christopher Parnin (EUA), Tecgraf/Petrobas, Maria Julia Lima (Brasil), UCLA, Myriung Kim (EUA), UCI, Andre van der Hoek (EUA), PUC-Rio, Carlos J. P. Lucena (Brasil), PUC-Rio, Marcos Kalinowski (Brasil), UFCG, Rohit Gheyi (Brasil), UFAM, Tayana Conte (Brasil), UFAL, Baldoino F. Neto (Brasil), UFAL, Marcio Ribeiro (Brasil)

    Keywords: refactoring recommendation system sequential refactoring conceptual framework

    This project aims to: (i) provide a conceptual framework for sequential refactoring as well as related concepts; (ii) develop a theory that explains how developers perform sequential refactoring in practice; (iii) propose heuristics for automated identification of sequential refactoring existing in a program; (iv) assess the quality impact of sequential refactoring; (v) evaluate and classify sequential refactoring as positive or negative based on their impact on structural degradation symptoms and (vi) propose a recommendation system for sequential refactoring.

    Completed Research Projects

  • Leveraging Gamification and Social Networks for Improving Prevention and Control of Zika

    2017 – 2019

    Project Coordinators: Prof. Alexander Romanovsky and Dr. Paolo Missier Newcastle University.

    Sponsors: British Council and Newton Fund

    Partners: Federal University of Alagoas (Prof Baldoino Fonseca), Federal University of Pernambuco (Prof Leopoldo Teixeira), Pontifical Catholic University of Rio de Janeiro (Prof Alessandro Garcia) and Fundacao Oswaldo Cruz - Fiocruz (Dr Oswado Cruz), Brazil

    Further Information: https://www.ncl.ac.uk/computing/research/projects/leveraginggamificationandsocialnetworksforimprovingpreventionandcontrol.html.

    Keywords: zika virus gamification legacy system healthcare system

    Brazilian population has not responded well to the prevention programs to combat arboviral diseases, such as Zika and Dengue. Concerns with such diseases has led an overwhelming number of people to increasingly share online strategic information, including the discovery of mosquito breeding sites in public locations. Term social sensors refers to the online population that is motivated to contribute relevant information on social media channels. Recent increasing use of smartphones triggered the growing use of social networks even in poorer communities. Strategic information in these locations are harder to gather for health agents. The health agencies in Northeast should explore the collective knowledge generated by people to improve prevention and combat actions. Although the Brazilian Health System requires that health agents report each Zika case, it takes several days to process and publish this information. The project will develop a platform for promoting virtual communities to prevent and combat Zika. Its core is the VazaZika application. VazaZika will use geolocation and gamification technologies for stimulating citizens to denounce and confirm Aedes breeding sites, and for updating users, in real time, about actions taken by health agents.

  • CARECO - Recommendation Systems for Collaborative Software Maintenance

    2018.1 – 2018.2

    Project Coordinators: Dr. Alessandro Garcia (PUC-Rio) and Carlos José Pereira de Lucena (PUC-Rio)

    Sponsors: Brazilian Federal Agency for Support and Evaluation of Graduate Education (CAPES)

    Partners: PUC-Rio (Prof. Alberto Raposo), PUC-Rio (Prof. Hugo Fuks), Federal University of Campina Grande (Prof. Rohit Gheyi), Federal University of Alagoas (Prof.Márcio Ribeiro), Federal University of Manaus (Prof. Tayana Conte), PUC-Rio (Prof. Simone Barbosa) and PUC-Rio (Prof. Clarisse Sousa).

    Keywords: recommendation system software maintenance development environment collaborative maintenance

    The CARECO project aimed to develop: (i) recommendation systems to support collaborative maintenance of software systems; (ii) methods that support the evaluation of the quality of use of recommendation systems; (iii) new collaboration mechanisms integrated with development environments; (iv) application of advanced artificial intelligence and database techniques to develop recommendation systems that support collaborative maintenance of software systems, and (v) design and evaluation of recommendation systems to support the teaching and learning software maintenance.

  • A Software Infrastructure for Promoting Efficient Entomological Monitoring of Dengue Fever

    2017 – 2018

    Project Coordinators: Prof. Dr .Alessandro Garcia and Prof. Dr. Alexander Romanovsky Newcastle University.

    Sponsors: British Council and Newton Fund

    Partners: Federal University of Alagoas (Prof Baldoino Fonseca), Pontifical Catholic University of Rio de Janeiro (Prof Alessandro Garcia) and Fundacao Oswaldo Cruz - Fiocruz (Dr Oswado Cruz), Brazil

    Further Information: https://gtr.ukri.org/projects?ref=MR%2FM026388%2F1.

    Keywords: dengue fever healthcare system geo-referenced data social network

    Dengue is an endemic problem in many areas where public health services assistance is inefficient, and sometimes it is not even there. The Brazilian public health system cannot meet the demands of these areas due to the scarcity of resources available and the number of risk areas that requires monitoring. To make the matters worse, it is very difficult to identify and control dengue outbreaks in their initial stages. Therefore, it needs to notify focus of dengue mosquito in order to make it easier preventing dengue epidemic and to take the best actions. To assist the surveillance and detection of dengue mosquito and outbreaks, we propose an integrated platform for population to act as an etymological surveillance agent. The goal is to collect and transmit geo-referenced data, providing information to assist in entomological surveillance of dengue. To accomplish the aforementioned goal, we will developer (i) mobile applications to collect data, (ii) a web portal for centralizing data and (iii) we will mining social media to extract data and to monitor dengue outbreaks. The computational solution aims at gathering information on the reporting of the mosquito that transmits dengue. Allowing us to organize it and to plot it on maps. The point is to make it available to the government and the population.

    Keywords: Info Info Info Info