Home
I am an Assistant Professor of Software Engineering in the Department of Software and Information Systems at the University of North Carolina at Charlotte. My research aims to improve software quality by detecting and addressing quality-related bugs, particularly those that arise from long-term maintenance efforts. I develop tools and techniques to gain a deeper understanding of complex, system-wide quality issues, including security, usability, and reliability through code analysis, program comprehension, and AI-driven approaches.
Additionally, I incorporate effective empirical methodologies to enhance software quality. By combining technical depth with and empirical research, I aim to contribute to the development of more reliable and robust software systems. To learn more about my research, you can explore 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 the University of Prishtina, 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.
Announcement! Are you looking for an opportunity to pursue a Ph.D. and engage in impactful research?
Here at UNC Charlotte, we have Ph.D. student positions available. If you have strong technical skills and a solid background in Software Engineering, Code Analysis, and/or AI/ML, please complete this survey. Once you’ve completed it, feel free to contact Dr. Krasniqi with any questions.