Home
I am an Assistant Professor of Software Engineering in the Department of Computer Science at the University of North Carolina at Charlotte. My research develops intelligent software engineering techniques that enable software systems to remain trustworthy throughout their lifecycle. Focusing on the intersection of Software Engineering and Artificial Intelligence, my work advances approaches that integrate change impact analysis, program synthesis, and AI-driven methods to detect and repair deep-seated defects and latent vulnerabilities, enhancing the quality, security, and robustness of evolving software systems.
Additionally, my research combines technical depth with empirical evidence to detect scattered and tangled cross-cutting software quality concerns across a codebase. Details are available in my dissertation.
Prior to joining UNC Charlotte, I taught Computer Science courses at various institutions, covering both undergraduate and graduate levels. I also worked in industry as a senior Java developer for over three years, contributing to the development and maintenance of various web-based applications.
I hold a B.S. in Mathematics and Computer Science from University of Prishtina (Kosovo), an M.S. in Computer Science from Midwestern State University, an M.S. in Computer Science and Engineering from the University of Notre Dame, and a Ph.D. in Computer Science and Engineering from the University of North Texas.







