I am an Assistant Professor (tenure track) of Software Engineering at California State University San Marcos. Before that, I completed my Ph.D. at the University at Buffalo, the State University of New York under the supervision of Dr. Tevfik Kosar. My current research aims to eliminate energy wastage in distributed software by removing energy-consuming code smells. Additionally, I focus on improving security by provenance analysis. Prior to joining University at Buffalo for my Ph.D. I served as an Assistant Professor in IIT, University of Dhaka. I got my Master’s in Software Engineering from IIT, DU. I was a Software Engineering Intern at IBM T.J. Watson Research Lab in New York in 2020. I also gained in-depth knowledge of real life software design while working as a software architect for The World Bank.
1. Ph.D., Computer Science and Engineering, University at Buffalo, Amherst, NY 14260, USA, July 2022 Thesis: Prediction and analysis of impact on resource usage due to code smell refactoring
Advisor: Prof. Tevfik Kosar
2. MS, Software Engineering, IIT, DU, Dhaka 1000, Bangladesh, July 2014 Thesis: Provenance based security assurance in cloud computing
Advisor: Prof. Kazi Muheyminus Sakib
3. Bachelors, Information Technology, IIT, DU
Green software engineering: My research interests lie in the cross-section between large scale software running on the cloud and consumption of resources and energy. My research especially responds to the important and urgent need of software engineers across a broad range of distributed software applications, who are looking to modify the code to improve resource and energy consumption. My research goal is to determine the relationship between software code smell batch refactoring, and energy consumption, and I design algorithms and models to analyze the impact of code smell refactoring on resource and energy consumption in software. More specifically, I focus on research issues like batch refactoring of code smells, and prediction of this impact based on machine learning. I aim to help software engineers focus on their primary task of developing software, rather than having to worry about the impact of code smells and their refactoring on resource usage and energy consumption.
Software engineering security: The goal of this research is to analyze provenance data of real life software applications running on the cloud to predict future threats. Provenance data is combined with web data, and this amalgamation is used for security intelligence. The largely distributed nature and growing demand for open source software running in the cloud makes the infrastructure an ideal target for malicious attacks that grants unauthorized access to its data storage and posses a serious threat to cloud software security. In case of any nefarious activity, the cloud provenance information used by Digital Forensic experts to identify the issue is itself prone to tampering by the malicious entities and results in insecure software running in cloud. We aim to solve this problem.
Improving SE processes: I study on hoe to improve exisiting software engineering processes in the industry. In this regard, I collaborate with industry experts to identify scope of creatively using existing components to improve the current processes. More specifically, I focus my research on improving developer onboarding processes in the software industry.
SE 481: Software Project Planning and Management
SE 451: Software Requirements and Design
CS 542: Design Patterns and Object-Oriented Analysis