NodeRock: uma abordagem para seleção de testes suscetíveis a event races em projetos Node.js
| dc.contributor.advisor1 | Endo, André Takeshi | |
| dc.contributor.advisor1Lattes | http://lattes.cnpq.br/4221336619791961 | |
| dc.contributor.advisor1orcid | https://orcid.org/0000-0002-8737-1749 | |
| dc.contributor.author | Vicente, Pedro Vinícius Guandalini | |
| dc.contributor.authorlattes | http://lattes.cnpq.br/7353430837546552 | |
| dc.contributor.authororcid | https://orcid.org/0009-0000-3825-5082 | |
| dc.date.accessioned | 2025-12-12T13:07:52Z | |
| dc.date.issued | 2025-12-08 | |
| dc.description.abstract | The Node.js platform is widely used for JavaScript applications, employing an asynchronous execution model that is essential for its performance. However, the non-determinism of this model can lead to event races, which are subtle and hard-to-reproduce concurrency bugs that compromise software reliability. Current approaches to detect event races often require exhaustive analyses on the entire test suite, resulting in high computational costs and a lack of effective mechanisms to select and prioritize automated tests that are more susceptible to event races. This work proposes and evaluates an approach called NodeRock, which uses dynamic analysis to identify and select tests susceptible to event races in Node.js projects. NodeRock collects detailed execution traces, extracts a set of 15 dynamic features that characterize asynchronous behavior, and uses machine learning to select the tests. The results provide evidence that the approach identifies tests susceptible to event races with 75% accuracy and recall exceeding 84%, suggesting that the analysis of dynamic metrics is a promising strategy for prioritizing the investigation of these tests. | eng |
| dc.description.resumo | A plataforma Node.js é amplamente utilizada para aplicações JavaScript, empregando um modelo de execução assíncrono que é essencial para o seu desempenho. Contudo, o não determinismo desse modelo pode levar a event races, que são bugs de concorrência sutis e difíceis de reproduzir que comprometem a confiabilidade do software. As abordagens atuais para detectar event races frequentemente exigem análises exaustivas em toda a suíte de testes, resultando em um alto custo computacional e na ausência de mecanismos eficazes para selecionar e priorizar testes automatizados que são mais suscetíveis a event races. Este trabalho propõe e avalia uma abordagem chamada NodeRock que usa análise dinâmica para identificar e selecionar testes em projetos Node.js suscetíveis a event races. NodeRock coleta traços de execução detalhados, extrai um conjunto de 15 features dinâmicas que caracterizam o comportamento assíncrono e utiliza aprendizado de máquina para selecionar os testes. Os resultados fornecem evidências de que a abordagem identifica testes suscetíveis a event races com acurácia de 75% e revocação superior a 84%, sugerindo que a análise de métricas dinâmicas é uma abordagem promissora para priorizar a investigação desses testes. | |
| dc.identifier.citation | VICENTE, Pedro Vinícius Guandalini. NodeRock: uma abordagem para seleção de testes suscetíveis a event races em projetos Node.js. 2025. Trabalho de Conclusão de Curso (Graduação em Ciência da Computação) – Universidade Federal de São Carlos, São Carlos, 2025. Disponível em: https://repositorio.ufscar.br/handle/20.500.14289/23191. | por |
| dc.identifier.uri | https://hdl.handle.net/20.500.14289/23191 | |
| dc.identifier.url | https://github.com/PedroViniciusVicente/NodeRock | |
| dc.language.iso | por | |
| dc.publisher | Universidade Federal de São Carlos | |
| dc.publisher.address | Campus São Carlos | |
| dc.publisher.course | Ciência da Computação - CC | |
| dc.publisher.initials | UFSCar | |
| dc.rights | Attribution-NoDerivs 3.0 Brazil | en |
| dc.rights.uri | http://creativecommons.org/licenses/by-nd/3.0/br/ | |
| dc.subject | JavaScript | |
| dc.subject | Node.js | |
| dc.subject | Aprendizado de Máquina | |
| dc.subject.cnpq | CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO::METODOLOGIA E TECNICAS DA COMPUTACAO | |
| dc.subject.ods | 9. Indústria, Inovação e Infraestrutura | |
| dc.title | NodeRock: uma abordagem para seleção de testes suscetíveis a event races em projetos Node.js | |
| dc.title.alternative | NodeRock: an approach for selecting tests susceptible to event races in Node.js projects | eng |
| dc.type | TCC |
Arquivos
Pacote Original
1 - 1 de 1
Carregando...
- Nome:
- Pedro_Vicente_TCC_BCC.pdf
- Tamanho:
- 1.59 MB
- Formato:
- Adobe Portable Document Format