Este estudo investiga as vantagens e os desafios do uso da Generative Artificial Intelligence (GenAI ) como uma ferramenta de suporte na programação e desenvolvimento de software. Ferramentas como ChatGPT e GitHub Copilot transformaram rapidamente os fluxos de trabalho, oferecendo benefícios significativos como produtividade aprimorada, conclusão mais rápida de tarefas e melhor compreensão de bases de código complexas, especialmente para programadores novatos. Por meio de uma revisão abrangente de 20 pesquisas e 5 surveys de 2023–2024, esta pesquisa examina o papel dos grandes modelos de linguagem (LLMs) em tarefas como geração de código, depuração e análise de segurança. Embora os LLMs sejam promissores na automação de tarefas de codificação de rotina e na assistência ao uso de API, o estudo destaca desafios, incluindo correção de código inconsistente, riscos de vulnerabilidade e limitações no suporte de programação de baixo nível. Além disso, barreiras como a complexidade da engenharia de prompt e performances subótimas são abordadas. As descobertas ressaltam o potencial transformador dos LLMs, juntamente com limitações críticas que precisam ser resolvidas para obter resultados confiáveis e sustentáveis. Potenciais pesquisas futuras devem constituir uma caracterização mais abrangente e realista do uso de GenAI para codificação, uma vez que grande parte dos estudos revelam um foco excessivo na performance prática em escopos limitados. Este estudo, como forma de uma revisão de literatura em escala reduzida, fornece insights valiosos para desenvolvedores, educadores e pesquisadores que navegam no papel em evolução da GenAI na engenharia de software moderna.
This technical report describes the development and operation of a mobile application designed to support the use of the MoLVERIC technique, a gamified method for inspection of MoLIC diagrams that model interaction between users and software interfaces. The system goal is to enhance user experience by incorporating additional gamification elements and making its use more practical for students and professionals in the Human-Computer Interaction field.
No contexto da engenharia de software, as boas práticas de programação abrangem uma variedade de aspectos, incluindo convenções de nomenclatura, organização de código, padrões de projeto e práticas de teste. Ao aderir a essas práticas, os desenvolvedores podem melhorar a qualidade do código, facilitar a colaboração em equipe e reduzir a incidência de bugs e erros.
Detectar e corrigir problemas associados às práticas de teste, ou test smells, representa um desafio significativo na engenharia de software contemporânea. Os test smells são indicadores de problemas nos testes automatizados, como redundâncias, complexidade excessiva, baixa cobertura ou má estruturação. Identificar tais práticas é crucial, pois testes de baixa qualidade podem comprometer a confiabilidade do software e aumentar a carga de manutenção.
O ESLint (2013) é uma ferramenta de código aberto amplamente utilizada na comunidade de desenvolvimento de software JavaScript. Ele funciona como um linter, ou seja, uma ferramenta de análise estática que verifica o código-fonte em busca de problemas, erros ou padrões problemáticos, de acordo com um conjunto de regras configuráveis. Além disso, é altamente configurável e permite que os desenvolvedores personalizem as regras de verificação de acordo com as necessidades específicas de seus projetos. Ele pode ser integrado facilmente em fluxos de trabalho de desenvolvimento, tanto em ambientes locais quanto em sistemas de integração contínua.
De tal forma, foi possível desenvolver uma ferramenta integrada ao ESLint (2013) que faz verificação de código fonte buscando especificamente problemas em código de teste, problemas esses que são passíveis de detecção estática.
Na sala de aula, a perda significativa de tempo associada à chamada oral tradicional e as dificuldades na autenticação das assinaturas dos alunos em listas motivaram o desenvolvimento de um software automatizado para autenticar a presença dos alunos com base em indicadores temporais e geográficos. Um estudo de usabilidade foi conduzido com 9 participantes, todos com experiência intermediária ou avançada em tecnologia, para avaliar a eficácia e a aceitação do sistema. Os resultados indicaram que o AuthByLoc é fácil de usar, intuitivo e eficaz na facilitação das tarefas de gerenciamento de presença. A pontuação média da Escala de Usabilidade do Sistema (SUS) foi de 98.33, refletindo uma excelente aceitação da ferramenta. Participantes destacaram a praticidade e a eficiência do sistema, enquanto sugestões de melhorias incluíram ajustes na interface e funcionalidades adicionais para otimizar ainda mais a experiência do usuário.
Este trabalho explora o uso de técnicas de análise estatística e aprendizado de máquina para agrupar clubes de futebol em clusters baseados em características de desempenho e identificar a compatibilidade de treinadores com estilos específicos de jogo. Utilizando dados detalhados de partidas das ligas Premier League e La Liga entre 2017 e 2024, os dados foram sumarizados e passaram pelo método de clusterização K-means para descobrir agrupamentos indicativos de diferentes estilos de jogos. Além disso, foi desenvolvido um modelo para avaliar a compatibilidade de treinadores com esses estilos definidos por cada cluster, considerando tanto os desempenhos médios quanto as melhorias contextuais que os técnicos geram em seus clubes, além de gerar um score de cada treinador para cada clube. A abordagem proposta pode auxiliar clubes na tomada de decisões estratégicas para otimizar a escolha de treinadores e maximizar o desempenho.
Este trabalho analisa a cobertura midiática das eleições presidenciais americanas de 2024. Um dataset com cerca de 8 mil artigos foi criado e analisado com técnicas de processamento de linguagem natural. Os resultados indicam maior atenção negativa dada a Donald Trump e tópicos como economia, imigração e politica internacional. Experimentos com modelos de linguagem evidenciaram desafios na detecção de nuances e vieses. Este estudo contribui para a compreensão do impacto da mídia em períodos eleitorais.
Bacterial resistance to antibiotics poses a major threat to global health, intensified by the improper use of antibiotics. The lack of effective and rapid diagnostic tools exacerbates the problem, resulting in less efficient treatments and increased spread of bacterial resistance. Therefore, there is an urgent need to develop models that can assist in more precise and restricted antibiotic prescriptions. Thus, the overall objective of this work is to aid in the construction of binary classification models aimed at determining whether a patient is infected by a given bacterium based on clinical and laboratory data To this end, we utilized data from the Hospital das Clínicas at UFMG. In our previous work, we focused on organizing and cleaning the data to extract relevant patient features and bacterial targets identified through bacterial culture results, enabling the creation of primary datasets that served as inputs and outputs for our models. This process was conducted in collaboration with infectious disease specialists from the hospital through weekly meetings. In this study, we evaluate the performance of three distinct modeling pipelines: a baseline Gradient Boosting-based model optimized using the ROC (Receiver Operating Characteristic) AUC (Area Under the Curve) metric with default parameters, a hyperparameter tuned Gradient Boosting-based model using random search, and a combination of Multivariate Imputation by Chained Equations (MICE) with Z-Score Normalization and a Support Vector Machine (SVM) model. We conducted extensive data preprocessing and filtering, and compared the performance of these approaches using K-fold cross-validation. The hyperparameter tuned Gradient Boosting-based model outperformed the other approaches, achieving satisfactory results given the complexity of the problem.
O objetivo deste projeto é desenvolver um software para gestão e controle de estoque, projetado especificamente para atender às demandas das clínicas odontológicas. A aplicação desse software tem o potencial de aprimorar significativamente a eficiência e a lucratividade dessas clínicas, fornecendo uma solução integrada para gerenciamento de estoque. Esta proposta detalha o objetivo do projeto, a metodologia a ser empregada, os resultados esperados e o cronograma de execução, destacando o uso de técnicas e boas práticas de engenharia de software para garantir a qualidade e eficácia da solução. Ao seguir padrões de design robustos, manter uma arquitetura consistente e utilizar frameworks e ferramentas de desenvolvimento modernas, o projeto demonstra como uma engenharia cuidadosa visa resultar em um software sustentável, escalável e fácil de usar, adaptada às necessidades específicas dos profissionais dentistas.
Projeto Orientado em Computação – Relatório Final – Desenvolvimento de um software de gestão odontológica
Aluno: Asafe C. G. de Medeiros
Orientador: Eduardo Figueiredo
Coorientadora: Kattiana Constantino
A Integração Humano-Computador (HInt) é um paradigma emergente na área da Interação Humano-Computador (IHC), e surgiu em decorrência da transição da era da interação para a era da integração. Enquanto os estudos de IHC se baseiam em um modelo de estímulo-resposta, a integração propõe uma parceria entre humanos e tecnologias, onde estes possuem autonomia para cooperar entre si, sem que seja necessário fornecer estímulos explícitos [1][2]. Haja vista o paradigma emergente trazer novos desafios, este trabalho foi motivado pelo desafio em aberto do design de tecnologias parceiras [1][2], propondo o uso da prática de design fiction como uma das possíveis soluções. Assim, o objetivo deste trabalho foi desenvolver um design fiction para elaborar uma solução de HInt no contexto de assistentes inteligentes de transporte. Esse trabalho contribui (1) no maior entendimento da comunidade de IHC sobre o uso de design fiction no âmbito de IHC, além de (2) contribuir para o avanço nos desafios de design de soluções de HInt.
Dentro da engenharia de software existem diversas técnicas e padrões que podem ser implementados em um projeto para melhorar sua qualidade e robustez, como testes de software automatizados. Mas este recurso não é amplamente utilizado em todas os tipos de programas e o desenvolvimento de jogos é exatamente um deles. Essa falta de aderência é causada por diversos motivos, como a complexidade das interfaces dos jogos e a aleatoriedade presente nas interações do usuário. Este trabalho investiga essas questões por meio de referências na literatura cinzenta, revisando técnicas e discussões disponibilizadas em diferentes formatos. A pesquisa busca compreender o impacto de testes automatizados no desenvolvimento de jogos, bem como seus desafios técnicos e culturais.
A gestão de informações de experimentos laboratoriais em muitos casos ainda ocorre de maneira difusa, inclusive em ambientes de pesquisa bem aparelhados e de importância estratégica a nível nacional. Desta forma torna-se essencial mecanismos para auxiliar neste processo. Este trabalho mapeou e reorganizou as informações relativas a 5 tipos de ensaios realizados pelo Laboratório Nacional de Nanotecnologia (LNNano) do Centro Nacional de Pesquisa em Energia e Materiais (CNPEM) — Campinas — SP, com a finalidade de desenvolver uma ferramenta para auxiliar nesta gestão. A partir deste mapeamento, o armazenamento e processamento dos dados desses ensaios foram transplantados para um Sistema de Gerenciamento de Informações Laboratoriais — o sistema Flux — resultando em um ambiente mais eficiente e ágil para fazer a gestão, com as informações agregadas em um só local.
A monografia aborda o impacto crescente da tecnologia, especialmente da Inteligência Artificial (IA), na sociedade contemporânea e no ambiente corporativo. A IA tem se mostrado uma ferramenta poderosa para otimizar processos e aumentar a produtividade em diversos setores, embora muitas empresas ainda enfrentem desafios para sua implementação eficaz.
A adoção de tecnologias como IA e aprendizado de máquina pode trazer vantagens competitivas, mas é necessário um planejamento adequado para evitar perdas financeiras e garantir uma experiência satisfatória para os clientes. No contexto brasileiro, a volatilidade do mercado aumenta os riscos, tornando essencial a escolha cuidadosa de ferramentas e métodos.
O objetivo deste trabalho é oferecer uma base teórica e metodológica para a implementação bem-sucedida da IA nas empresas, explorando conceitos-chave e estratégias para minimizar riscos e maximizar a inovação e a eficiência.
Este trabalho apresenta uma nova forma de segmentação e caracterização de partidas de futebol baseada em técnicas de Redes Complexas e detecção de Concept Drift. Inicialmente, cada intervalo de jogo é modelado como um grafo que representa as interações entre jogadores, permitindo calcular métricas estruturais (densidade, clustering, centralidade e tamanho médio do caminho) ao longo do tempo. Em seguida, aplicamos um algoritmo de detecção de Concept Drift com o método KSWin para identificar pontos de transição tática e comportamental, dispensando dependência exclusiva de eventos clássicos, como gols ou substituições. Os resultados mostram que, em média, três pontos de mudança são detectados por partida. A análise do ranking das métricas de rede e do desvio padrão interno a cada time sugere que diferentes estratégias, desde estilos de jogo mais coesos até abordagens mais diretas, podem conduzir a êxitos em campo, reforçando a inexistência de uma única “fórmula” de sucesso.
Satisfiability Modulo Theories (SMT) is a growing field in computer science and logic. Given a mathematical formula, solving the SMT problem means determining whether the formula is satisfiable within the context of a specific theory. One such theory is Presburger arithmetic (also known as Linear Integer Arithmetic), which is the first-order theory of integers with addition. A method for defining the satisfiability of formulae in this theoryinvolves the use of finite automata [10]. In this project, we extend the cvc5 solver [2] by incorporating an automata-based tool for solving Presburger arithmetic formulae and compare it with state of the art solvers such as Lash [42] and Amaya [24]. Our tool is based on the Mata automata library [15]. As future work, we plan to also add the preprocessing steps described in [24] for the construction of more efficient automata.
Predicting movement in multi-agent continuous sys- tems, such as football, presents significant challenges due to the dynamic and interactive nature of the environment. This work proposes a novel approach to movement prediction by leveraging a graph-unified representation, where football players are mod- eled as nodes and their interactions in time and space as edges. The proposed architecture, GuardiolAI, integrates Graph Neural Networks (GNNs) with Generative AI techniques, specifically Variational Autoencoders (VAEs), to capture both spatial and temporal dependencies in a unified manner. Unlike traditional methods that process spatial and temporal data separately, our approach models these aspects concurrently within a single graph structure. The methodology involves encoding tracking data from possession sequences into graph-based representations and employing GATv2 convolutional layers to learn adaptive attention weights across spatial and temporal dimensions. The model is evaluated using standard metrics such as Average Dis- placement Error (ADE), Mean Squared Error (MSE), and Final Displacement Error (FDE), and is benchmarked against baseline approaches. Experimental results demonstrate that the proposed approach achieves competitive performance, outperforming static and constant velocity baselines while providing insights into player interactions and team dynamics. This work establishes a strong foundation for future research in predictive modeling and generative AI applications within sports analytics.
—-
Prever o movimento em sistemas contínuos multiagentes, como o futebol, apresenta desafios significativos devido à natureza dinâmica e interativa do ambiente. Este trabalho propõe uma abordagem inovadora para a previsão de movimentos, aproveitando uma representação unificada em grafos, na qual os jogadores de futebol são modelados como nós e suas interações no tempo e espaço como arestas. A arquitetura proposta, GuardiolAI, integra Redes Neurais em Grafos (GNNs) com técnicas de IA Generativa, especificamente Autoencoders Variacionais (VAEs), para capturar dependências espaciais e temporais de maneira unificada. Diferentemente dos métodos tradicionais que processam dados espaciais e temporais separadamente, nossa abordagem modela esses aspectos simultaneamente dentro de uma única estrutura de grafo. A metodologia envolve a codificação de dados de rastreamento de sequências de posse em representações baseadas em grafos e a utilização de camadas convolucionais GATv2 para aprender pesos de atenção adaptativos em dimensões espaciais e temporais. O modelo é avaliado usando métricas padrão, como o Erro Médio de Deslocamento (ADE), Erro Médio Quadrático (MSE) e Erro Final de Deslocamento (FDE), sendo comparado com abordagens de linha de base. Os resultados experimentais demonstram que a abordagem proposta alcança um desempenho competitivo, superando as linhas de base estática e de velocidade constante, além de fornecer insights sobre interações entre jogadores e dinâmicas de equipe. Este trabalho estabelece uma base sólida para futuras pesquisas em modelagem preditiva e aplicações de IA generativa na análise esportiva.
Este trabalho desenvolveu um novo modelo de Pitch Control, incorporando funções táticas dos jogadores para enriquecer a representação dos dados. A abordagem melhorou o equilíbrio entre Precision e Recall, mas os ganhos gerais foram limitados, sugerindo que as funções táticas têm influência restrita em análises baseadas em um único frame. Estudos futuros explorarão segmentações mais detalhadas, conjuntos de dados maiores e informações temporais para aprimorar a análise tática.
Durante o processo de recuperação de informações, consultas breves ou compostas por termos específicos pouco relacionados aos documentos relevantes podem se mostrar inadequadas para localizar informações úteis. Nesse contexto, a expansão de consultas surge como uma estratégia promissora para melhorar tanto a quantidade quanto a qualidade dos resultados obtidos por mecanismos de busca. Este trabalho investiga essa abordagem por meio da utilização de metapalavras, denominadas CluWords, que conectam termos originais a outros sintaticamente e semanticamente relacionados, ampliando o escopo da busca e aumentando sua eficácia.
Os resultados alcançados com a expansão baseada em CluWords evidenciaram a importância do desenvolvimento de um mecanismo de filtragem capaz de identificar e priorizar apenas as expansões que efetivamente contribuem para a recuperação de documentos relevantes. Por meio dessas expansões filtradas, foi possível combinar seus resultados de maneira a aumentar a relevância do conjunto de documentos retornados, destacando o potencial das CluWords como uma ferramenta de aprimoramento em sistemas de recuperação de informações.
Em grandes projetos de software, onde múltiplas equipes trabalham em diferentes partes da “codebase”, é comum haver interdependências entre arquivos de código. Manter o aspecto da consistência nessas interdependências é crucial para garantir a integridade do sistema no longo prazo. A falta de uma maneira eficaz para verificar essas mudanças pode levar a erros críticos (muitas vezes difíceis de detectar) e falhas no sistema.
Dado a importância do problema, a proposta do IFFT é de ser um “linter” que ajude os desenvolvedores no processo de identificar quando uma alteração em um bloco de código exige uma modificação correspondente em outro arquivo. Os principais objetivos do trabalho são:
- (1) Desenvolver uma ferramenta que verifica as mudanças realizadas dentro de um “commit” e que alerte o desenvolvedor que determinada seção de código que ele editou tem relação com um outro código que esteja em outro local de modo que as mudanças dele possivelmente precisam ser refletidas lá também.
- (2) Integrar essa ferramenta com o “git hooks” para permitir um conforto ainda maior para os desenvolvedores, de modo que eles sequer precisem executar o “linter”, ou seja, funcionará automaticamente de forma integrada com o Git toda vez que houver uma tentativa de commit.
- (3) Permitir que a ferramenta seja configurável para se adequar às especificidades de cada projeto.