Postdoctoral fellow at University of Auckland
My research focuses on Artificial Intelligence for Software Engineering, software maintenance, testing, and software quality. I am particularly interested in building trustworthy AI-supported tools that help developers improve the reliability, maintainability, and performance of real-world software systems.
I am a Postdoctoral Fellow at the University of Auckland, working on AI-Driven Non-Functional Software Maintenance with Valerio Terragni and Kelly Blincoe.
My research focuses on Artificial Intelligence for Software Engineering, software maintenance, testing, and software quality. In my current work, I explore how AI, particularly Large Language Models and AI agents, can support non-functional maintenance tasks such as improving performance, maintainability, and reliability.
A key part of my research is understanding how AI-generated code changes can be made not only useful, but also correct, measurable, and trustworthy. I am especially interested in approaches that provide evidence that suggested software changes preserve functionality while improving important quality attributes.
During my PhD, I studied flaky tests in JavaScript projects, with a focus on identifying and mitigating order-dependent and environment-dependent test failures. This work shaped my broader interest in building reliable software systems and developing practical tools that support developers in real-world settings.
Alongside research, I value teaching, mentoring, and inclusive education. I have experience teaching software engineering and supporting students from diverse backgrounds, and I am always happy to connect with researchers and practitioners working in AI4SE, software maintenance, testing, and software reliability.
JS-TOD: Detecting Order-Dependent Flaky Tests in Jest
N. Hashemi, A. Tahir, S. Rasheed, A. Shi, R. Blagojevic — Journal of Science of Computer Programming, Elsevier.
read paper →A Systematic Evaluation of Environmental Flakiness in JavaScript Tests
N. Hashemi, A. Tahir, S. Rasheed, A. Shi, R. Blagojevic — IEEE Conference on Software Testing, Verification and Validation (ICST), Daejeon, South Korea.
Detecting and Evaluating Order-Dependent Flaky Tests in JavaScript
N. Hashemi, A. Tahir, S. Rasheed, A. Shi, R. Blagojevic — IEEE ICST, Napoli, Italy, 2025, pp. 13–24.
read paper →Identifying and Mitigating Flaky Tests in JavaScript
N. Hashemi — IEEE ICST Doctoral Symposium, Napoli, Italy, 2025, pp. 779–781.
read paper →Test flakiness' causes, detection, impact and responses: A multivocal review
A. Tahir, S. Rasheed, J. Dietrich, N. Hashemi, L. Zhang — Journal of Systems and Software, 206 (2023): 111837.
read paper →An Empirical Study of Flaky Tests in JavaScript
N. Hashemi, A. Tahir, S. Rasheed — IEEE ICSME, Limassol, Cyprus, 2022, pp. 24–34.
read paper →Curated dataset of JavaScript projects exhibiting test flakiness, collected from open-source GitHub repositories.
view on Zenodo →Dataset of order-dependent tests identified from open-source JavaScript projects.
view on Zenodo →Automated tool for revealing test order dependency in Jest through controlled reordering and rerunning.
view on GitHub →Babel-based tool for mitigating environment-related flaky tests by automatically skipping and reporting them.
view on GitHub →Dataset of environment-dependent flaky tests in JavaScript projects collected from open-source repositories.
view on GitHub →